GPU not found when no display device connected

hi, guys:
I write opencl code on a macmini(GPU is GF 9400M), by remote console that connect to Snow Leopard with ssh.

When there’s no display device attach to macmini, I cannot get GPU device, for example

anybody get the same problem?, how can I program OpenCL on a compute without monitor

On normal linux machines this works, so this might actually be related to the Mac Mini or Snow Leopard.

On OS X 10.6, you will be using Apple’s own OpenCL implementation, not NVIDIA’s won’t you?. You might need to ask on the Apple developers forums about it.

theMaxtrix and you are both right, it’s work right on Ubuntu 9.10

It’s the SnowLeopard problem.



I got the same issue. You can get the GPU device if you log in with a local admin user. I did not find yet how to access the GPU with a network user.


I used OpenCL on my personal computer (that is a Debian Linux machine) with no problems at all, I could run programs using OpenCL “remotely” launching them from an ssh console.

But I found the same problem described in this post on a Debian Linux machine using the same configuration I used on my personal one. The only difference that I can see is that in this machine is used a “centralized users accounting” (and I am not the administrator of it); I think they are using LDAP.

I really can’t understand which could be the problem, I checked that all the environment variables are set correctly…

Also the example programs provided with the NVIDIA SDK are failing with this error when lunched from an ssh console:

OpenCL SW Info:

Error -1001 in clGetPlatformIDs Call !!!

!!! Error # -1000 () at line 42 , in file oclDeviceQuery.cpp !!!


Any idea/solution?

This is an old problem, but as it is not solved yet, I believe it is a good idea to open it again. I solved it by giving the user who runs the software write access to /dev/nvidia0 (or whatever file there is) and /dev/nvidiactl. On my system, I could do this by adding the user to the “video” group but a chmod 777 of course also works (although probably only temporarily).