Il mio programma OpenCL può trovare il dispositivo GPU quando sono connesso alla console, ma non quando sono connesso in remoto con ssh. Inoltre, se eseguo il programma come root nella sessione ssh, il programma può trovare la GPU.Come si esegue il test di OpenCL su GPU quando si accede da remoto su Mac?
Il computer è un Mac Snow Leopard con una GPU GeForce 9400.
Se eseguo il programma (vedi sotto) dalla console o come utente root, l'uscita è la seguente (si noti la linea "GeForce 9400"):
2 devices found
Device #0 name = GeForce 9400
Device #1 name = Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz
ma se si tratta solo di me, nel corso ssh, non v'è alcuna GeForce 9400 entrata:
1 devices found
Device #0 name = Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz
vorrei testare il mio codice sulla GPU senza dover essere root. È possibile? Semplificata programma ritrovamento GPU di seguito:
#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: Ho trovato essenzialmente la stessa domanda che si pone sul nvidia's forums. Sfortunatamente, l'unica risposta era della forma "questo è il forum sbagliato".
Grazie per il suggerimento. Non avevo mai visto quel documento prima. Le soluzioni presentate per Linux riguardano la modifica delle autorizzazioni su/dev/nvidiactl. Sfortunatamente non sono riuscito a trovare quel dispositivo né altre cose suggestive sul Mac. Le soluzioni per Windows si riducono all'utilizzo di VNC, che suona come un grande suggerimento. Sfortunatamente ho provato VNC al Mac, e comunque non ha aiutato. Lo stesso desktop sulla console trova la GPU. Oltre VNC, nessuna GPU trovata. A meno che non sia root. Presumibilmente c'è un permesso da qualche parte ... –
Il desktop del Mac non è basato su XWindows - il design e l'architettura sono piuttosto diversi. C'è in realtà un pacchetto separato sul disco di sistema chiamato X11 che puoi installare per supportare le applicazioni X (ad esempio molte app Unix tradizionali), che sono ospitate all'interno del sistema di finestre Mac nativo. – gavinb