Как выбрать назначенный графический процессор для запуска программы CUDA?

Мой компьютер (Ubuntu 12.04 x86 с CUDA 6.0) имеет 2 графических процессора, у меня есть несколько программ CUDA, и у меня есть программа, написанная на python для управления ими.

Например, я хочу выбрать один графический процессор для запуска некоторых программ CUDA, а другой выбрать для запуска других программ CUDA. Но процесс управления находится за пределами кода CUDA, поэтому я не могу использовать API "cudaSetDevice" внутри программ CUDA. То есть программы CUDA неизменны, я могу выбрать только GPU вне их.

Возможно ли это сделать?

1 ответ

Одним из вариантов является использование CUDA_VISIBLE_DEVICE в среде программы ограничить, какие устройства она видит:

$ deviceQuery |& grep ^Device
Device 0: "Tesla M2090"
Device 1: "Tesla M2090"
$ CUDA_VISIBLE_DEVICES=0 deviceQuery |& grep ^Device
Device 0: "Tesla M2090"
$

См. Дополнительную информацию на веб-сайте зоны разработчиков CUDA.

Другие вопросы по тегам