lupescu_grigore

Multiple platforms

Discussion created by lupescu_grigore on Jun 23, 2011
Latest reply on Jun 24, 2011 by davibu

1) To build an OpenCL application one would have to point out the CL sources folder and link against libOpenCL.so. Trouble is (as far as i see it) every platform can see another platform yet of course i'm only linking the library (libOpenCL.so) once. How can one platform detect another platform ? What are the necessary files that need to be present ? Linking against libOpenCL.so makes a difference right ? (i mean i can't use libOpenCL.so from nvidia to compile and execute on an amd gpu)  

2) Given a set of devices (Amd CPU, Intel CPU, Amd GPU, Nvidia GPU, Amd APU) what would be the best way to handle execution on one specific unit ? For instance today i compiled against the Nvidia SDK an application, listed the platforms (2 in my case Nvidia & Amd) and ran on the Amd CPU.

3) If libOpenCL.so do make a difference how would i manage multiple instances of them ? Amd for instance places them in $PATH_SDK/lib/... whlist Nvidia places them directly in /lib and /lib64 of the system as symbolic links. Wouldn't this also be a threat if i would link a libOpenCL.so from Amd ? ( i mean wouldn't the system look in /lib first and find the nvidia one ? )

4) Cross platform communication through simple C/C++ should be possible right ? (for instance a device from Nvidia communicating with a device from Amd through RAM)

 

Thank you in advance

 

Outcomes