How do I test OpenCL on GPU when logged in remotel

2020-06-15 02:38发布

My OpenCL program can find the GPU device when I am logged in at the console, but not when I am logged in remotely with ssh. Further, if I run the program as root in the ssh session, the program can find the GPU.

The computer is a Snow Leopard Mac with a GeForce 9400 GPU.

If I run the program (see below) from the console or as root, the output is as follows (notice the "GeForce 9400" line):

2 devices found
Device #0 name = GeForce 9400
Device #1 name = Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz

but if it is just me, over ssh, there is no GeForce 9400 entry:

1 devices found
Device #0 name = Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz

I would like to test my code on the GPU without having to be root. Is that possible? Simplified GPU finding program below:

#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: I found essentially the same question being asked on nvidia's forums. Unfortunately, the only answer was of the form "this is the wrong forum".

9条回答
手持菜刀,她持情操
2楼-- · 2020-06-15 03:01

Try using sudo. The GPU is just another device to the operating system.

查看更多
▲ chillily
3楼-- · 2020-06-15 03:03

On Windows, it seems that remote access to the GPU might not be possible, according to this forum thread.

That post is about Windows not Mac, and thus does not directly address this question. As no one has provided any answers yet, so this is the most relevant information I have found so far.

查看更多
老娘就宠你
4楼-- · 2020-06-15 03:06

OK, I don't know Jack about Snow Leopard or OpenCL, but...

I've heard that the Mac desktop is bases on a version of XWindows. In that case, this article: http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=19 which discusses "how to modify the security settings to allow the remote session access to the X server running on the system". might be helpfull.

Since that article is about ATI Stream applications (instead of OpenCL) and Linux (instead of MacOS) it might not be helpfull, but take a look and judge for yourself.

查看更多
登录 后发表回答