Debian GNU/Linux 8.3で複数GPU稼働する際のBOINCからの除外設定
Debian GNU/Linux 8.3(jessie)でGeForceのカード挿してBOINCを稼働させています。
この度、カードを増設して2枚のGPUに仕事を分担させることにしました。
PCIe x1に挿したカード(GT610)をBOINC専用にしてPCIe x16に挿したカード(GT430)を画面表示専用にします。
画面表示専用のカードをBOINCから除外します。
lspciでの認識確認
念のためそもそもちゃんと2枚認識しているか確認します。
$ lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 430] (rev a1)
02:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 610] (rev a1)
Linuxがちゃんと認識しているようです。
BOINCでの認識確認
BOINC ManagerのイベントログでBOINCが2枚認識しているか確認します。
CUDA: NVIDIA GPU 0: GeForce GT 430 (driver version unknown, CUDA version 6.5, compute capability 2.1, 1023MB, 810MB available, 269 GFLOPS peak)
CUDA: NVIDIA GPU 1: GeForce GT 610 (driver version unknown, CUDA version 6.5, compute capability 2.1, 1024MB, 1012MB available, 156 GFLOPS peak)
OpenCL: NVIDIA GPU 0: GeForce GT 430 (driver version 340.96, device version OpenCL 1.1 CUDA, 1023MB, 810MB available, 269 GFLOPS peak)
OpenCL: NVIDIA GPU 1: GeForce GT 610 (driver version 340.96, device version OpenCL 1.1 CUDA, 1024MB, 1012MB available, 156 GFLOPS peak)
2枚ちゃんとBOINCも認識しているようです。
GT430をBOINCから除外したいので上記に表示されている番号(GPU 0)を記憶しておきます。
BOINCの除外設定(GPUカード単位での除外)
除外するGPUを/etc/boinc-client/cc_config.xmlファイルに設定していきます。
ignore_nvidia_devを指定することでGPUカード単位で除外することが出来ます。
<options>から</options>までが追加した設定です。
<!--
This is a minimal configuration file cc_config.xml of the BOINC core client.
For a complete list of all available options and logging flags and their
meaning see: https://boinc.berkeley.edu/wiki/client_configuration
-->
<cc_config>
<options>
<use_all_gpus>1</use_all_gpus>
<ignore_nvidia_dev>0</ignore_nvidia_dev>
</options>
<log_flags>
<task>1</task>
<file_xfer>1</file_xfer>
<sched_ops>1</sched_ops>
</log_flags>
</cc_config>
BOINCの除外設定(プロジェクト単位での除外)
除外するGPUをプロジェクトごとに/etc/boinc-client/cc_config.xmlファイルに設定していきます。
exclude_gpuを指定することでプロジェクト単位で除外することが出来ます。
<options>から</options>までが追加した設定です。
<!--
This is a minimal configuration file cc_config.xml of the BOINC core client.
For a complete list of all available options and logging flags and their
meaning see: https://boinc.berkeley.edu/wiki/client_configuration
-->
<cc_config>
<options>
<use_all_gpus>0</use_all_gpus>
<exclude_gpu>
<url>http://asteroidsathome.net/boinc/</url>
<device_num>0</device_num>
</exclude_gpu>
<exclude_gpu>
<url>http://boinc.thesonntags.com/collatz/</url>
<device_num>0</device_num>
</exclude_gpu>
<exclude_gpu>
<url>http://einstein.phys.uwm.edu/</url>
<device_num>0</device_num>
</exclude_gpu>
<exclude_gpu>
<url>http://milkyway.cs.rpi.edu/milkyway/</url>
<device_num>0</device_num>
</exclude_gpu>
<exclude_gpu>
<url>http://moowrap.net/</url>
<device_num>0</device_num>
</exclude_gpu>
<exclude_gpu>
<url>http://boinc.fzk.de/poem/</url>
<device_num>0</device_num>
</exclude_gpu>
<exclude_gpu>
<url>http://www.primegrid.com/</url>
<device_num>0</device_num>
</exclude_gpu>
<exclude_gpu>
<url>http://www.worldcommunitygrid.org/</url>
<device_num>0</device_num>
</exclude_gpu>
</options>
<log_flags>
<task>1</task>
<file_xfer>1</file_xfer>
<sched_ops>1</sched_ops>
</log_flags>
</cc_config>
BOINCの再起動
除外した設定を反映するためにBOINCを再起動します。
# /etc/init.d/boinc-client restart
除外設定の確認
BOINC Managerのイベントログで確認します。
GPU単位で除外設定した場合
除外したいGPUにignored by configと表示されていれば設定成功です。
CUDA: NVIDIA GPU 0 (ignored by config): GeForce GT 430 (driver version unknown, CUDA version 6.5, compute capability 2.1, 1023MB, 810MB available, 269 GFLOPS peak)
CUDA: NVIDIA GPU 1: GeForce GT 610 (driver version unknown, CUDA version 6.5, compute capability 2.1, 1024MB, 1012MB available, 156 GFLOPS peak)
OpenCL: NVIDIA GPU 0 (ignored by config): GeForce GT 430 (driver version 340.96, device version OpenCL 1.1 CUDA, 1023MB, 810MB available, 269 GFLOPS peak)
OpenCL: NVIDIA GPU 1: GeForce GT 610 (driver version 340.96, device version OpenCL 1.1 CUDA, 1024MB, 1012MB available, 156 GFLOPS peak)
0番のGPUが除外できているようです。
プロジェクト単位で除外設定した場合
除外設定したプロジェクトごとに以下のメッセージが表示されていれば設定成功です。
Config: excluded GPU. Type: all. App: all. Device: 0
0番のGPUが除外できているようです。
GPUの稼働率の確認
必要であればnvidia-settingsもしくはnvidia-smiアプリでGPU Utilizationの負荷率を確認します。
BOINC用のGPUが100%近く稼働しており、画面表示用GPUが比較的落ち着いていれば成功です。