we are trying to set up a GPU cluster. As informations are rather confusing: Does OpenCL in general support dual GPUs on a Linux OS? If so, are there expetions/restrictions?
Thanks in advance for any answer given.
Yes, you can have several AMD GPUs and even throw in an APU at the same time. There was a thread about this. If I remember correctly the limit was 32 GPUs due to PCIe limitations (I may be wrong on this). But for example see:
OpenCL 8 GPU DGEMM (5.1 TFlop/s double precision). Heterogeneous HPL (High Performance Linpack from Top500).
Thanks for the quick answer, but maybe I haven't been clear enough in my
previous post, sorry. My question is not if I can adress several GPUs at
once, but I remember from earlier experience, that OpenCL had problems
on a linux host addressing the second GPU of a dual GPU device (like HD
7990) and you could only use one of the two. My questions rather
intended to know if this issue has been resolved.
Yes, follow this video until it gets to installing cgminer (for litecoin mining):
How to Install Ubuntu and Optimize CGMiner for Litecoin Mining Rig! | HighOnCoins.com
I have installed Ubuntu 13.10 and 2 Radeon R9 290s more than 5 times already, but my personal issue is I can't get it to run with 4 (I have 4, 2 more on risers and a separate PSU). But I have 2 running all day and night... follow HighonCoins instructions.
tanks for your suggestions, but if I understood the specs correctly, R290s are single GPU. But my question rather headed for devices having two GPUs in one single device. There, OpenCL had problems. Addressing several devices that are plugged into several slots are, as you correctly pointed out, usually not an issue.
We verified on HD 7990 on Ubuntu 12.10 LTS configuration.
We can access the second gpu of a DualGPU by making use of Environmental variable GPU_DEVICE_ORDINAL.This is mentioned in Section 1.6.4 "Masking Visible Devices" of AMD APP OpenCL Programming guide.
For making use of only second GPU of the Dual GPU,set GPU_DEVICE_ORDINAL to 1,(export GPU_DEVICE_ORDINAL=1),this will hide the first gpu and the opencl program will run default on second GPU.
For your reference, the default behavior in DualGPU and Multi dGPU case is that whenever you run any opencl SDK sample it detects both gpu's but runs on the default device which is set to 0.
Retrieving data ...