Я использую CUDA 7.5 на машине с Ubuntu Server 14.04 и 3 графическими процессорами: 2x Tesla K20C и 1x GeForce GT 630. Я попытался установить для CUDA_VISIBLE_DEVICES соответствующие идентификаторы, чтобы код работал только на обоих графических процессорах Tesla. По какой-то причине программа, кажется, игнорирует переменную и пытается запустить код на всех 3 графических процессорах, что приводит к ошибке.
До сих пор я пытался установить переменную в /etc/environment а также в файле bash.bashrc (после перезагрузки). При использовании echo $CUDA_VISIBLE_DEVICES правильные значения. Кроме того, при удаленном запуске программы из NSight через SSH с соответствующей установленной переменной среды, выполнение работает так, как задумано, и использует только два графических процессора Tesla. Но когда я запускаю программу локально (через терминал или через работника Gearman из веб-интерфейса), переменная окружения, похоже, игнорируется.
В качестве обходного пути я использую в setenv("CUDA_VISIBLE_DEVICES","0,2",1) . Но это делает мою программу непереносимой.
Что мне здесь не хватает? Спасибо!
