I know about DISPLAY and COMPUTE (more up to date) variables, however they do not work. I have used multi-GPU before on SLC and it worked fine, it is only now that it doesn't work. Everything that worked under Ubuntu worked on SLC too, no changes required.
yes you can. but AFAIK you can't use profiler with EE as it doesn't have plugin support. but there should be a command line version of profiler so you can try use that.
I haven't received any replies questions on multi-GPU in this thread:
I wanted to follow up in this thread.
Using the following system configuration:
CentOS 6.0 64-bit
AMD APP SDK 2.6
Two Radeon HD 6970s
Environment variables: COMPUTE=:0 and DISPLAY=:0
I am able to run codes with single context, multiple GPUs (2x6970), but the runtime appears to serialize the kernel execution with Catalyst 11.12 + SDK 2.6. Codes take twice as long to execute as they should, however, they do produce the expected result. This did not occur with the 11.4 driver + 2.4 runtime in most cases.
AMD had multi-GPU kernel execution serialization in Catalyst up until 10.4 (yes, 2010) when they fixed it. The drivers then worked properly, with respect to multi-GPU kernel execution, for the next year until Catalyst 11.4. Now we're getting pretty close to a year without a proper driver. The GCN "Tahiti" architecture is very much compute-oriented and there's little incentive for anyone to put more than one of these in a system if they're too much of a challenge to develop. It's not like developers can fall back to an older version of Catalyst with the new uarch.
To utilize multiple GPUs with Catalyst 11.12 + SDK 2.6 + Linux, one must create X OpenCL contexts, each addressing one unique GPU device, where X is the number of GPUs in your system. This is counter to the premise of the OpenCL specification but the separate contexts/devices may then execute kernel code in parallel.
I haven't had serious trouble booting with multiple GPUs in RedHat-based Linux for some time. I recommend booting to the command line (runlevel 3) to install drivers. After installing drivers, run "aticonfig --adapter=all --initial -f". Reboot just to be safe. I've never had to play with Xinerama or xrandr.
If anyone does find the magic formula for proper asynchronous kernel execution in Catalyst >=11.12 + SDK 2.6 + Linux + single-context + multi-GPU, please let everyone know.
Enabling the cl_khr_gl_sharing flag still comes up with an error:
error: can't enable all OpenCL extensions or unrecognized OpenCL extension
#pragma OPENCL EXTENSION cl_khr_gl_sharing : enable
...OpenGL sharing does still work though (as always) and give the expected results, but can't understand why enabling this extension still brings up an error (on my system atleast) as I reported it a while back.
Win 7 64bit professional, ATI 5870, SDK 2.6, Catalyst 11.12