Hi,

On 04/04/2014 10:43, Clément Léger wrote:
[...]
> Each device driver would have a "probe" operation:
> 
> unsigned int (*probe)();

  I globally support this idea. I just have a few comments on the
quick example description:

> With this setup, pthread could for instance use a PTRHEAD_DEVICE_COUNT 
> env var to specify the number of devices in probe function

I think that, per default, the pthread driver should return the
number of usable cores into the current cpuset.
  Then, a environment variable can override this default. It would
be good if:
- as all other pocl envvar, this one also starts with POCL_
- its contents is similar to the contents of same-goal-envvar in
  other environment. In particular, I think to:
  * OMP_NUM_THREADS to define the number of thread to use
  * KMP_AFFINITY (Intel extension) that defines how logical thread
    numbers are mapped onto physical cores. I think pocl pthread
    driver will need something similar (ie define which groups of
    threads (on which physical cores) will form a workgroup, ...)
  => if possible, using the same syntax and keyword (as must as
  possible) would be great for users

> Finally, device init operation would also be called only on 
> clGetDeviceIds/clCreateContext when requesting a specific device in 
> order to speedup the initialization and use less ressources.

There can be an envvar to limit the scanned plateform/devices on
enumerating functions (clIcdGetPlatformIDsKHR, clGetDeviceIDs, ...)

  Regards,
    Vincent

------------------------------------------------------------------------------
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to