[petsc-dev] OpenCL platform and device query routines

Karl Rupp rupp at mcs.anl.gov
Fri Apr 12 17:33:45 CDT 2013


Hey,

> Do we want to have a concept, of which opencl, cuda, and threadcomm are
> instantiations? -device_opencl_view?

nice idea, sounds a bit like the 'framework' concept in Mac OS. On the 
other hand, the only thing that is common to OpenCL, CUDA, and 
threadcomm is that they aim at parallelism for a single process on a 
single node (we can safely ignore fake environments such as vSMP since 
we have MPI already).

Ignoring all existing code for CUDA and OpenCL in PETSc: it might work 
to set up a local communicator concept (i.e. threadcomm extended to CUDA 
and OpenCL) in order to deal with the parallelism. To do so, threadcomm 
would need to be supplemented by an 'offloaded memory' model and should 
rather be called 'localcomm' then (this is supposed to be 'part 2' of my 
yet-to-be-written-and-improved ideas for a unification of these 
approaches). Resulting flags:
   -localcomm_threads_view
   -localcomm_opencl_view
   -localcomm_cuda_view

Best regards,
Karli




More information about the petsc-dev mailing list