web-dev-qa-db-ja.com

CUDAとWindowsのパフォーマンスが厳しい場合、IntelをプライマリGPUにしますか?

デュアルブートシステム(Windows 10およびUbuntu 16.04.x)でGPUテンソルフローのインストールを実行しました

両方のOSには、ほぼ同じバージョンのドライバーがあります

Lenovo P50 laptop with Nvidia Quadro M1000M    

Windows 376.51 nvidia driver version
Ubuntu  375.66 nvidia driver version

ディープラーニングモデルをトレーニングします。各トレーニングセットの時間は大幅に異なります

Windows 10   + Tensorflow 1.3 GPU + CUDA =  8 min. per Epoch
Ubuntu 16.04 + Tensorflow 1.3 GPU + CUDA = 45 min. per Epoch

Ubuntuのインストールは、apt-get(ソースのインストールではありません)、およびpipのすべてのデフォルトを介して行われました

これまで考えていたのは... NVIDIA GPUを使用してグラフィックスをペイントしなければならないということです。計算にすべてのGPUを使用することはできません。これを確認する方法はありますか? CUDA 8.xのパッチを含めて、両方に同じものをすべてインストールしました。

私は問題が何であるかさえ明確ではありませんが、ドライバーがOptimusを使用するようにセットアップされているように見えます。

enter image description here

アイデア1:ソースからテンソルフローを再コンパイルすることです。Ubuntu16.x内ですべてのCPUを最適化してください。

アイデア2:上記が何もしない場合、BIOSに入り、Intel内蔵グラフィックスを強制的にインストールします..再インストールを実行し、noveuaグラフィックスをインストールしようとします..

これは「Optimus」対応のラップトップのようです。レンダリングのためにnvidia GPUを完全にオフにすることはできません。ハイブリッドモードのみを有効にしてください。おそらく、新規インストールを行います。すべてのnvidiaドライバーを削除し、Xがそのように動作するかどうかを確認します。

http://guanghan.info/blog/en/my-works/building-our-personal-deep-learning-rig-gtx-1080-ubuntu-16-04-cuda-8-0rc-cudnn- 7-tensorflowmxnetcaffedarknet /

"So I went to BIOS and set the integrated graphics as default and 
restart. Remember to switch the HDMI from the port on GTX1080 to that 
on the motherboard. Now the display works well. I successfully 
installed Ubuntu following its Prompt guides."

https://devtalk.nvidia.com/default/topic/991849/-solved-run-cuda-on-dedicated-nvidia-gpu-while-connecting-monitors-to-intel-hd-graphics-is -this-possible-/

When installing the NVIDIA display driver, be sure to:

1. not install the openGL libs (there are command line options with 
driver runfile installers or CUDA runfile installers to allow this)
2. make sure not to make any changes to the xorg.conf configuration.
1
Erik

たくさんの狩りの後、捜索..合体..問題を発見し、修正しました!はい、WindowsのIntel GPUは使用されていましたが、Linuxでは使用されませんでした... NVIDIA GPUに画面を描画させ、リソースを失いました。

以前のシステムの上に、新しいUbuntu 16.04 USBスティックを再インストールしました。

During reinstallation choose updates, but don't use 3rd party libraries

インストールしたら、Nvidia独自のドライバーではなく、Intel nouveauドライバーモードになっていることを確認する必要があります。

今、奇妙な部分が来ました

ここのユーザーは、同じ問題を指摘していました。しかし、デスクトップ展開用

https://devtalk.nvidia.com/default/topic/991849/cuda-setup-and-installation/-solved-run-cuda-on-dedicated-nvidia-gpu-while-connecting-monitors-to -intel-hd-graphics-is-this-possible-/

基本的に...

要約すると、これを機能させるには、次のことが必要です。

1. make sure you have enabled onboard graphics in the BIOS settings (or set it as primary)

私はハイブリッドモードをしました。インテル専用オプションがないので

2. install both xorg intel driver and nvidia/cuda drivers

ここでは、フラグを渡す必要があります

--no-opengl-files //for the driver install I choose latest (384)

--no-openfl-libs // cuda 8.0 + patch here ..

必ずnouveau ..および指示に記載されているすべての手順を無効にしてください。

あなたが良いことを知る主な方法。glmark2をインストールし、常にそれがインテルを出力していることを保証する

3. start nvidia-settings, and go to the PRIME settings page, set Intel (Power Saving Mode) as default
4. modify your .bashrc and set LD_LIBRARY_PATH to at least contain /usr/local/cuda/lib64:/usr/lib/nvidia-XXX where XXX in my case is 375.

このフォルダは私にはまったく存在しませんでした。インストール後のcudaの指示で説明されているデフォルトのLD_LIBRARY_PATHおよびPATHを追加しました

4. logout to restart X or reboot
5. run glmark2 to confirm GL status

あなたはopenglファイルをインストールせずにインストールすべきだったので..これはおそらく不要です

<strike>6. (update) if the libGL printed from step 5 points to nvidia's driver folder, you need to remove/rename the libGL.so*/libGLX.so*/libGLdispatch.so* under nvidia driver folder so that your OS can pick up the mesa libGL library.</strike>


7. run nvidia-smi to list your dedicated NVIDIA GPU, and run your CUDA program, you should not see any errors.

これはnvidia-modprobeを1回実行するまで機能しませんでした。その後、突然すべてが機能しました。

更新:悲しいことに、再起動は設定を壊しました。まだ修正方法がわからない...

3
Erik