Multiple X servers (Linux): problems with starting OpenCL applications

Discussion created by schenwo on Feb 10, 2011
Latest reply on Jun 11, 2011 by himanshu.gautam

I think I have a very specific question here, but maybe someone can shed some light upon this.

At the moment, there is one ATI GPU (HD5830) in my machine. I want other people to log in on my machine remotely via ssh and to use OpenCL applications. Unfortunately, as far as I know, they need access to the X server running on my machine for this purpose. Since I don't want to give them access to the X server display at which I am working, I thought it might be a good idea to start a second X server, and to provide free access to this second server, while I can work privately with the first one.

Unfortunately, this does not seem to work as smooth as I hoped for. After having started the second X server, my OpenCL application (still running with the X display of the first server) won't execute some kernels which have worked without problems before. Strangely, another kernel with a rather simple argument list still works. The non-working kernels struggle to even finish the first line where I placed a printf for debugging purposes, and moreover, clEnqueueNDRangeKernel never returns.

When I start my OpenCL application on the second X server, the init process (get devices, contexts, etc.) works so far, but the application hangs when the OpenCL program is built (with cl::Program::build(..) - I work with the C++ wrapper for OpenCL). When I use the CPU device it passes smoothly at this point.

So my question is: Has anyone experience with two X servers and the ATI stream framework and knows how to use it in this configuration? Or is it more or less proven that it does not work properly at the moment with multiple X servers?

Thanks, Wolfram