Manjaro インストール CUDA 実装チュートリアル分析

Manjaro インストール CUDA 実装チュートリアル分析

昨年末、Thinkpad T450 のデュアルシステムの opensuse を Manjaro に置き換え、記録用に CUDA をインストールしました。

基本的なインストール

NVIDIA グラフィック カードのインストール

Manjaroシステムにグラフィックカードをインストールするのは比較的簡単です。コマンドがあります

sudo mhwd -a [PCI または USB 接続] [無料または非無料ドライバ] 0300

  • -a: 適切なグラフィックドライバーを自動的に検出してインストールします
  • [pci または usb]: PCI または USB 経由で接続されたデバイスのドライバーをインストールします
  • [無料または非無料]: 無料または非無料のドライバーをインストールする
  • 0300: インストールするグラフィックカードドライバを確認する

NVIDIAのドライバーをインストールする必要があります。以下のコマンドを実行するだけです。

sudo mhwd -a pci 非フリー 0300

インストールが完了するまで待ち、次のコマンドを使用してインストールが完了したかどうかを確認します。

nvidia-smi

私のグラフィック カード モデルは GeForce 940M で、グラフィック カード ドライバーのバージョンは 415.27 です。

CUDAのインストール

インストールコマンド

ManjaroのCUDAのインストールも非常に簡単で、コマンド1行で完了します。

sudo pacman -S cuda cudnn
このコマンドには時間がかかる場合がありますので、しばらくお待ちください。

インストールの確認

完了したら、cudaのインストールパスを入力します。私のパスは/opt/cudaです。次のコマンドを使用して、CUDAサンプルプログラムをユーザーのホームディレクトリにコピーし、プログラムをコンパイルできます。

cp -r /opt/cuda/samples ~
cd ~/サンプル
作る

次に、nvcc コンパイラを使用して CUDA サンプル プログラムをコンパイルします。これには約 30 分ほどかかります。コンパイルが完了するまで待ち、次のコマンドを使用してコンパイルが成功したかどうかを確認します。

cd ~/samples/bin/x86_64/linux/release
./デバイスクエリ

ウィンドウの最後の行の結果が合格かどうかを確認します。合格であれば、CUDA が正常にインストールされたことを意味します。

デュアルグラフィックカード構成

私のコンピュータには 2 つのグラフィック カードがあり、1 つは Intel 統合グラフィック カードで、もう 1 つは NVIDIA ディスクリート グラフィック カードです。

グラフィックカードスイッチャーをインストールする

Manjaroのデュアルグラフィックカード構成にはいくつか問題があり、Bumblebeeにもまだ問題があります。次のコマンドを使用して再インストールしてください。

# 依存関係
sudo pacman -S virtualgl lib32-virtualgl lib32-primus primus

# デュアルグラフィックカード切り替えプログラムbumblebeeをインストールします
sudo mhwd -f -i pci ビデオハイブリッドインテル nvidia バンブルビー

# サービスを許可する
sudo systemctl バンブルビードを有効にする

# ユーザーを追加する
sudo gpasswd -a $USER バンブルビー

再起動後にログインインターフェースに入ることができなくなるのを防ぐには、次の設定が必要です。

  • /etc/default/grubを開く
  • 以下を見つけて変更します: GRUB_CMLINE_LINUX_DEFAULT="quiet acpi_osi=! acpi_osi=Linux acpi_osi='Windows 2015' pcie_port_pm=off resume=..."
  • sudo update-grubを実行して再起動します。

グラフィックカードのパフォーマンスをテストする

次のシェルコマンドを使用して、グラフィックカードテストプログラムをインストールします。

# テストソフトウェアをインストールする
sudo pacman -S メサデモ

# 統合グラフィックスパフォーマンス
glxgears -情報

# ディスクリートグラフィックスのパフォーマンス
optirun glxgears -情報
# または
primusrun glxgears -情報

後で実行されるすべてのプログラムで、個別のグラフィック カードを使用する必要がある場合は、コマンドの前にプレフィックス optirun または primusrun を追加する必要があることに注意してください。

# nvidiaパネルを開く
optirun -b なし nvidia-settings -c :8

# Bumblebeeに頼らずにCUDAを使う
sudo tee /proc/acpi/bbswitch <<< 'ON'

# CUDA使用後にNVIDIAグラフィックカードを停止する
sudo rmmod nvidia_uvm nvidia && sudo tee /proc/acpi/bbswitch <<< OFF

inxi -G # グラフィックカードの状態を確認する
optirun nvidia-smi # CPUステータスを確認する

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Flutter 超実用的なシンプルなメニューポップアップボックス PopupMenuButton 機能
  • ubutu 16.04環境、PHPおよびmysqlデータベース、Webページログイン検証例の説明
  • ubutun で php7.1x をインストールする詳細なチュートリアル
  • EasyUIでMenuButtonを使用する方法
  • jQuery EasyUI API 中国語ドキュメント - MenuButton メニューボタンの使用方法の紹介
  • Deepin20の開発環境のインストールに関する非常に詳細なチュートリアル
  • Goland アクティベーション コード クラッキング パーマネント バージョンとインストールの詳細なチュートリアル (プロフェッショナル テスト)
  • Goland のインストールとアクティベーションのチュートリアル (Windows、Linux インストール)
  • Linux および Windows でのスーパーセットのインストールと展開に関する詳細なチュートリアル
  • Ubutu1604 インストール colmap 実装方法詳細チュートリアル

<<:  入力ボックスのコンテンツプロンプトと非表示機能を実装する JavaScript

>>:  MySQL 8.0.22 のインストールと設定のグラフィックチュートリアル

推薦する

ページ切り替え効果を作成するための純粋な CSS3 のサンプルコード

前に書いたものは複雑すぎるので、シンプルなコアにしましょう <html> <ヘッド...

Vue 組み込みコンポーネントのキープアライブでの LRU アルゴリズムの使用

目次Vue の keep-alive 組み込みコンポーネントの使用でもこのアルゴリズムが使用されます...

メモリの原則に関する詳細な説明: JS では変数はヒープに保存されるのか、スタックに保存されるのか?

目次1. 冷蔵庫に入りきらない象2. シャドウクローン文字列3. 実際に見た「奇妙なボール」 4. ...

CSS の flex と inline-flex の違いの詳細な説明

inline-flex は inline-block と同じです。内部要素用の display:fl...

vue-cli 設定では Vuex の完全なプロセスレコードを使用します

目次序文インストールと使用方法モジュラー管理Vuex の状態永続性要約する序文Vue 開発では、ユー...

HTML5+CSS3コーディング標準

黄金律プロジェクトに何人の人が取り組んでいるかに関係なく、すべてのコード行が同じ人によって書かれたよ...

MySQL 文字セットの変更に関する実践的なチュートリアル

序文: MySQL では、システムが多くの文字セットをサポートしており、異なる文字セット間にはわずか...

mysql5.7.21.zip インストールチュートリアル

mysql5.7.21 zipの詳細なインストール手順は次のとおりです。 1. 解凍して指定されたデ...

Vue+Openlayer で select を使用して要素を選択する実装コード

効果画像: 実装コード: <テンプレート> <div id="map&q...

JavaScriptの擬似配列と配列の使い方と違い

擬似配列と配列JavaScript では、5 つのプリミティブ データ型を除き、関数を含め、その他す...

インターネットウェブデザインにおけるバイオニックデザインの簡単な紹介

バイオニックデザインといえば、飛行機の発明、ドバイのブルジュ・アル・アラブ、平泳ぎなどを思い浮かべる...

MySQLのグループカウントと範囲集計を実装する2つの方法

1つ目:通常動作 選択 SUM(ddd) AS count_days、 場合 aa.days >...

実用的なクイックスタートReactルーティング開発

インストールインストールするには、次のコマンドを入力します。 // ネプ npm で react-r...

MySQL InnoDB ストレージエンジンのメモリ管理の詳細な説明

目次ストレージエンジンのメモリ管理データ ページを LRU キューの先頭に置かないのはなぜですか?ダ...

Dockerはコンテナを通じてイメージを生成し、詳細にDockerCommitを送信します

目次ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを...