web-dev-qa-db-ja.com

Ubuntu 16.04で表示するためのCUDAおよびAMDカード用のNVIDIAカード

Ubuntu 16.04を使用しています。これは、畳み込みニューラルネットワーク(CNN)を操作するのにより便利だとわかったOSであるためです。 Ubuntuをインストールするプロセスは、同じシステムに2つのグラフィックカードをセットアップするまで問題ありませんでした。

  • NVIDIA 970 GTX
  • AMD R9 380

すべてのグラフィックメモリとAMDをグラフィカルユーザーインターフェイスに使用できるように、NVIDIAカードをCUDAにのみ使用したかったのです。このため、すべてのモニターがこのカードに接続されます。

問題点:

  • Nvidiaおよびcuda 8.0ドライバーをインストールするとすべて問題ないようですが、AMDドライバーをインストールするとlightdmにログインできません。
  • AMDカードにモニターを接続すると、lightdmが低グラフィックモードで実行され、何も機能しないと表示されます。
  • Xpu.confファイルはgpu-managerによって上書きされるため、変更しても違いはありません。

その方法を説明するチュートリアルが見つかりませんでした。

9
Marcus

開始する前に、何か問題が発生した場合にシステムをリモートでシャットダウンできるように、sshをインストールすることをお勧めします。これを行うには、次のコマンドを使用します。

Sudo apt-get install ssh

システムをシャットダウンするには、別のコンピューターまたはモバイルデバイスでsshして、次のコマンドを使用する必要があります。

Sudo shutdown -r now

ステップ1

まず、AMDカードを物理的に取り外し、NVIDIAカードを保持し、CUDAとNVIDIAドライバーをインストールする必要があります。ここからcudaをダウンロードできます。 https://developer.nvidia.com/cuda-downloads

次のコマンドを使用して、すべてが機能していることを確認します。

nvidia-smi

ステップ2

この時点で、グラフィックカードをいじっているので、コンソールモードで起動するためにgrubを変更する必要があります。

お気に入りのエディター(私の場合はjoe)を使用して、デフォルトのgrub構成ファイルを編集します。

Sudo joe /etc/default/grub

そして、これらの行を変更します:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console

これらに:

GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

最後に、次のコマンドを使用してgrubを更新します。

Sudo update-grub

ステップ3

システムをシャットダウンして、NVIDIAカードを取り外し、AMDカードをプラグインします。コンピューターの電源を入れ、最新のAMDグラフィックドライバーをインストールします。私の場合、これらのコマンドを使用してドライバーをインストールしました。

wget https://www2.ATI.com/drivers/linux/ubuntu/amdgpu-pro-16.40-348864.tar.xz
tar -Jxvf amdgpu-pro-16.40-348864.tar.xz
cd amdgpu-pro-16.40-348864/
./amdgpu-pro-install
Sudo usermod -a -G video $USER

コンピュータを再起動してください。これで、次のコマンドを使用してlightdm(ユーザーインターフェイス)を起動できます。

Sudo service lightdm start

すべてが期待どおりに動作し、システム設定を使用してディスプレイをセットアップできるようになります。

ステップ4

システムをシャットダウンし、NVIDIAカードを追加し、AMDを削除しないでください(この時点で、システムに2枚のグラフィックカードがあります)。コンピューターの電源を入れ、ユーザー名を使用してログインしますが、LIGHTDMを起動しないでください!!

この時点で、gpu-managerは自動的にコンソールモード用のグラフィックカードとlightdm用のAMDの両方をセットアップしました(前のステップでlightdmを開始したため)。この時点でlightdmを実行すると、gpu-managerが混乱します。そのため、gpu-managerを完全に無効にする必要があります。そのためには、grubを再度変更する必要があります。

Sudo joe /etc/default/grub

次の行を置き換えます。

GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

これらによって:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nogpumanager"
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console

最後に、次のコマンドを使用してgrubを更新します。

Sudo update-grub

ステップ5

システムを再起動し、lightdmが正しく起動しない場合(黒い画面が表示される場合)、Ctrl + F1を押してコンソールモードでログインし、このコマンドをrc.localファイルに追加する必要があります。

Sudo joe /etc/rc.local

「exit 0」の前に次の行を追加します。

service lightdm start

システムを再起動すると、すべて正常に動作するはずです...

コンソールでは、次のコマンドを使用して、両方のグラフィックCADが使用中であることを確認できます。

lspci -nnk | grep -i vga -A3 | grep 'in use'

Kernel driver in use: amdgpu
Kernel driver in use: nvidia

nvidia-smiは正常に動作するはずです。 0メガバイトのメモリを使用していることを示しています。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26                 Driver Version: 375.26                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 970     Off  | 0000:02:00.0     Off |                  N/A |
| 30%   42C    P0    36W / 163W |      0MiB /  4036MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
10
Marcus