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.
