Моя программа OpenCL может найти устройство GPU, когда я вошел в систему на консоли, но не тогда, когда я удаленно с помощью ssh. Кроме того, если я запускаю программу как root в сеансе ssh, программа может найти GPU.
Компьютер - это Snow Leopard Mac с графическим процессором GeForce 9400.
Если я запустил программу (см. ниже) с консоли или с правами root, вывод выглядит следующим образом (обратите внимание на строку "GeForce 9400" ):
2 devices found
Device #0 name = GeForce 9400
Device #1 name = Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz
но если это только я, над ssh, нет записи GeForce 9400:
1 devices found
Device #0 name = Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz
Я бы хотел проверить свой код на графическом процессоре, не будучи root. Это возможно? Упрощенная программа поиска GPU ниже:
#include <stdio.h>
#include <OpenCL/opencl.h>
int main(int argc, char** argv) {
char dname[500];
size_t namesize;
cl_device_id devices[10];
cl_uint num_devices;
int d;
clGetDeviceIDs(0, CL_DEVICE_TYPE_ALL, 10, devices, &num_devices);
printf("%d devices found\n", num_devices);
for (d = 0; d < num_devices; ++d) {
clGetDeviceInfo(devices[d], CL_DEVICE_NAME, 500, dname, &namesize);
printf("Device #%d name = %s\n", d, dname);
}
return 0;
}
EDIT: я нашел по существу тот же вопрос, который задают на nvidia forums. К сожалению, единственный ответ был в форме "это неправильный форум".