- changed status to resolved
UPC++ headers choke ROCm 5.x hipcc device-mode compilation for non-smp-conduit
Issue #554
resolved
When using ROCm hipcc 5.x or newer to compile the UPC++ headers in develop using any conduit other than smp, I see a new error like the following: (example from upcxx-extras kokkos_montecarlo on Crusher with KOKKOS_DEVICES=Hip)
In file included from MC_DartSampler.cpp:3:
In file included from /gpfs/alpine/world-shared/csc296/crusher/upcxx-hip/nightly/amd/PrgEnv-amd-8.3.3-5.1.0-2022.07.14/include/upcxx/upcxx.hpp:5:
In file included from /gpfs/alpine/world-shared/csc296/crusher/upcxx-hip/nightly/amd/PrgEnv-amd-8.3.3-5.1.0-2022.07.14/include/upcxx/allocate.hpp:8:
/gpfs/alpine/world-shared/csc296/crusher/upcxx-hip/nightly/amd/PrgEnv-amd-8.3.3-5.1.0-2022.07.14/include/upcxx/backend.hpp:77:39: error: dynamic initialization is not supported for __device__, __constant__, __shared__, and __managed__ variables.
static constexpr intrank_t const& pshm_peer_lb = pshm_peer_lb_;
^ ~~~~~~~~~~~~~
1 error generated when compiling for gfx90a.
This error message is notably similar to issue #549, but affects a different ROCm version and different part of the runtime.
Comments (2)
-
reporter -
reporter Fixed in 19b2ecb0
- Log in to comment
fix issue 554: UPC++ headers choke ROCm 5.x hipcc device-mode compilation for non-smp-conduit
→ <<cset 19b2ecb08318>>