Hi Oliver,

As Rom writes, we are still working on sorting out the OpenCL 
detection and implementation.  One major issue will be when a client 
has multiple GPUs and a mix of CUDA and OpenCL tasks or a mix of CAL 
and OpenCL tasks (or even all three.)  From what we have seen so far, 
each framework has its own way of enumerating GPUs, and there is no 
"official" way of correlating the enumerations.

This is of course important to make sure that we don't assigning the 
same GPU to both an OpenCL task and a different CUDA or CAL task. 
One preliminary test indicates that at least on Windows 7, CUDA does 
return the NVIDIA GPUs in the same order as OpenCL, but we have only 
the one sample and we have no test results for CAL or for Macintosh 
or Linux.

Rom has filed a spec bug with the Khronos Group over the need for an 
explicit way to map OpenCL devices to their native platform IDs.

You can find it here:
<http://www.khronos.org/bugzilla/show_bug.cgi?id=458>

We are hoping to get some guidance one way or the other from them.

Cheers,
--Charlie

>We haven't quite finished the enumeration process yet.  BOINC won't be
>tied to any ICD, it'll just link against the OpenCL.dll file, as defined
>by Khronos, which will use the ICD(s).  The latest drivers for both ATI
>and Nvidia appear to be useable and using the right calling conventions
>on Windows.
>
>Right now we filter out everything but the GPU(s).
>
>I'm waiting on my second ATI GPU to finish up the preliminary
>enumeration process.
>
>----- Rom
>
>-----Original Message-----
>From: [email protected]
>[mailto:[email protected]] On Behalf Of Oliver Bock
>Sent: Monday, April 11, 2011 8:02 AM
>To: [email protected]
>Subject: [boinc_dev] OpenCL device selection
>
>Hi,
>
>I have a few quick questions regarding OpenCL device management in the
>BOINC core (cc) client:
>
>- How does the cc select the OpenCL devices to be used for computation?
>   * Which device types are supported?
>   * Can one de/select certain device types explicitly?
>
>- How is the device to be used by a given task communicated to that
>   task? Device IDs are not simple integer enumerators like in CUDA.
>   If a list index is supposed to do the trick one needs to make sure
>   the cc and the science app use the same device type filter to agree
>   on the device list content...
>
>- Which OpenCL ICD is the official cc build linked against? NV or ATI?
>
>
>
>Thanks,
>Oliver
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to