Как выбрать назначенный графический процессор для запуска программы 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.