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