pika icon indicating copy to clipboard operation
pika copied to clipboard

Test P2300 reference implementation with `nvcc`/`nvc++`

Open msimberg opened this issue 2 years ago • 5 comments

Same as #302, but for nvcc/nvc++.

  • [x] nvc++ (#606)
  • [ ] nvcc (requires CUDA 12)

msimberg avatar Jul 07 '22 09:07 msimberg

For nvc++ this would require this issue to be resolved: https://gitlab.kitware.com/cmake/cmake/-/issues/23003.

msimberg avatar Aug 10 '22 10:08 msimberg

For nvc++ this would require this issue to be resolved: https://gitlab.kitware.com/cmake/cmake/-/issues/23003.

Until the above is resolved I think we could try using nvc++ to compile everything, as we used to do with hipcc. It would let us test with C++20 and stdexec already now.

msimberg avatar Nov 21 '22 10:11 msimberg

nvc++ seems to still not be able to compile a lot of things, even without stdexec, C++20, or even CUDA device code. We may be able to compile the subset that is left after #505 without the algorithms so I'll retry again once that's merged. I'm also looking to see if we can have some sort of workarounds for the things that don't compile...

msimberg avatar Nov 24 '22 11:11 msimberg

nvcc from CUDA 12 at least requires some changes to fmt (it's constexpr detection isn't taking into account the fact that CUDA 12 supports C++20, at least partially). I have not fixed this in fmt (yet) and will come back to it when we try out nvcc from CUDA 12 again hopefully for 0.15.0.

msimberg avatar Mar 27 '23 09:03 msimberg

Lowering the priority of this. The remaining part of this task requires support for nvcc in stdexec, and that simply does not work yet. The only thing applications can do now is not include stdexec/<pika/execution.hpp> in nvcc compilation.

msimberg avatar Sep 26 '24 10:09 msimberg