Just my 2ct:

In a (possibly heterogenous)  OpenCL environment there will be three different, 
inconsistent devive enumeration systems (ATI CAL, CUDA, OpenCL). AFAIK 
the OpenCL standard doesn't even ensure that the order of OpenCL devices 
returned by two subsequent calls to clGetDeviceIDs() return the devices in 
the same order (though in practice on current systems they usually will).

Therefore I think we need a central instance that would keep track of the 
OpenCL devices and their allocation. This would be the client, as it has to 
keep track of CUDA and ATI devices anyway, an would need to map the OpenCL 
devices to the ATI and CUDA device IDs anyway at some point, at least in 
order to schedule devices.

I propose that the client should actually keep the "canonical" list of OpenCL 
devices, and a BOINC API function (e.g. 
boinc_get_opencl_device_id(int,...)) should be called in the application to map 
the --device argument to the actual OpenCL device id.

Best,
Bernd

_______________________________________________
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