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 のインストールと設定のグラフィックチュートリアル

推薦する

JSはショッピングカート内の商品の合計金額の計算を実現します

JSはショッピングカート内の商品の合計金額を計算して参考とします。具体的な内容は以下のとおりです。質...

MySQL 空間データストレージと関数

目次1. データ型1. MySQL空間データとは何か2. GeoJSONとは3. 空間データ型のフォ...

MySQLのよくある間違い

NULL 値によると、MySQL の NULL 値は単にデータがないことを意味します。NULL 値は...

MySQL XA で分散トランザクションを実装する方法

目次序文XA プロトコルMySQL XA で分散トランザクションを実装する方法序文MySQL が単一...

リクエストを転送したり、静的リソースファイルにアクセスしたりする複数の場所への nginx の実装

この記事では主に、リクエストを転送したり、静的リソース ファイルにアクセスしたりする nginx の...

react-navigation6.xルーティングライブラリの基本的な使い方の詳しい説明

目次react-nativeプロジェクトの初期化react-nativeプロジェクトをインストールす...

CentOS はローカル yum ソースを使用して LAMP 環境を構築するグラフィック チュートリアル

この記事では、ローカル yum ソースを使用して CentOS 上に LAMP 環境を構築する方法に...

現在のブラウザが JavaScript でヘッドレス ブラウザであるかどうかを検出する方法

目次ヘッドレスブラウザとは何ですか?なぜ「ヘッドレス」ブラウザと呼ばれるのでしょうか?ヘッドレスブラ...

レンダリング関数と JSX の詳細

目次1. 基本2. ノード、ツリー、仮想DOM 1. 仮想DOM 3. createElementパ...

JavaScript イベント ループのケース スタディ

js のイベント ループJavaScript はシングルスレッドなので、同じイベントで実行できるメソ...

Vant+postcss-pxtoremはブラウザ適応機能を実装します

Remレイアウトの適応Vant のスタイルでは、デフォルトで px を単位として使用します。rem ...

CSSブロッキングマージとその他の効果についての簡単な説明

非直交マージンマージンを使用するとマージが発生します次のプロパティはマージンの結合を防止します。国境...

HTML フォーム コンポーネントのサンプル コード

HTML フォームは、さまざまな種類のユーザー入力を収集するために使用されます。次のコードは、HTM...

テーブルを作成するための MySQL SQL ステートメントの詳細な概要

mysql テーブル作成 SQL ステートメントMySQL テーブルを作成するための一般的な SQL...

MySQL 8.0 の binlog の詳細な説明

1 はじめにバイナリ ログは、データを持つ、またはデータを変更する可能性がある SQL ステートメン...