Tim,

> what's the correct way to use CUDA with HPX nowadays? I've seen the
> HPXCL GSoC project, but apparently there is also a HPX_WITH_CUDA option
> in CMake now.
> 
> I have a hard time finding clear documentation on this.

That's because there is no documentation.

CUDA support in HPX is experimental at best. We appreciate any help we can get 
improving the picture.

We have two different ways of integrating with CUDA: HPXCL and HPX.Compute. 

HPXCL is a separate project providing a set of HPX components that allow to 
talk to a GPU device, even remotely. The API exposed resembles OpenCL to some 
extent, but if you look at the existing examples you should find your way 
around.

HPX.Compute is part of the main repository. It mainly consists of a very low 
level facility that allows to spawn any CUDA kernel on a local GPU device from 
your C++ code and representing this as a future you can use to synchronize the 
kernel execution with your cpu work. It also has higher level facilities that 
use this facility to implement some of the parallel algorithms (including the 
use of parallel::copy for transparent and asynchronous data transfer). 
HPX.Compute also has some allocators and executors that help managing data and 
execution locality.

HTH
Regards Hartmut
---------------
http://boost-spirit.com
http://stellar.cct.lsu.edu


_______________________________________________
hpx-users mailing list
hpx-users@stellar.cct.lsu.edu
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to