Я пытаюсь использовать cuda-gdb для отладки моего кода на удаленном кластере через ssh. На узле 6 графических процессоров Tesla C2070:

$ deviceQuery | grep "^Device"
Device 0: "Tesla C2070"
Device 1: "Tesla C2070"
Device 2: "Tesla C2070"
Device 3: "Tesla C2070"
Device 4: "Tesla C2070"
Device 5: "Tesla C2070"

Но когда я запускаю код под cuda-gdb, он по-прежнему выдает код ошибки = 24: «фатальный: все устройства CUDA используются для отображения и не могут использоваться во время отладки».

Я уже установил -gencode arch=compute_20,code=sm_20 и хорошо компилируется. Когда я набираю info cuda devices в отладчике, он выдает No CUDA devices. Я также пробовал экспортировать CUDA_VISIBLE_DEVICES="0,2", но все еще не работал. Что я должен делать? Я использую cuda 5.0. Заранее спасибо.

0
Stone 16 Мар 2013 в 05:22
1
X работает на удаленном узле кластера?
 – 
Robert Crovella
16 Мар 2013 в 05:40
Я не уверен: $ ps -e | grep X, результат 00:00:16 Xorg. Но разве это не должно просто уменьшить видимый графический процессор на 1?
 – 
Stone
16 Мар 2013 в 05:48
1
Это зависит от того, как настроен файл /etc/X11/xorg.conf. X-сервер можно настроить для запуска на всех графических процессорах.
 – 
Robert Crovella
16 Мар 2013 в 05:52
Ой ну спасибо. Тогда, наверное, мне нужно связаться с администратором.
 – 
Stone
16 Мар 2013 в 06:05
Вы можете попробовать последовательно export CUDA_VISIBLE_DEVICES="0", затем ...="1", затем ...="2" и т. Д., Но очень вероятно, что если на более чем одном графическом процессоре работает X, то, вероятно, они все работают.
 – 
Robert Crovella
16 Мар 2013 в 06:18

1 ответ

Лучший ответ

Попробуйте запустить «lsof / dev / nvidia *», он покажет вам, какая программа держит узлы устройства открытыми. Если X использует эти графические процессоры, это будет видно из вывода.

1
Mayank 1 Апр 2013 в 21:22