-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't build with Nvidia HPC SDK #563
Comments
CMake 3.17+ ships with a new This however does not currently work if nvhpc is the only source of nvcc/cuda, probably needs an issue opening on CMake? |
When using CMake 3.21 and nvhpc 21.7 with Unlear if this version would work when using nvcc from the nvhpc install, but using Additionally, #661 makes use of findCUDAToolkit which may also improve the situiation (if findCUDAToolkit is nvhpc compatible/aware) |
#977 has been opened to split nvc++ host compiler support out from this issue, which is to make sure that nvcc installed via the nvhpc is viable for building FLAME GPU 2. Originally (during a hackathon) it would not build due to the curand issues mentioned in the top post. Since we've updated to CMAke >= 3.18, and use This might just require configuring (and building) FLAME GPU 2 with the nvcc from nvhpc on the path, (i.e. |
With:
via (on a box I've setup the module files for):
Produces the following configuration output:
And successfully builds, however it emits many, many device warnings from CUB headers.
This is The compilation command for a single file is:
Which does not specify the found thrust/cub as isystem, which might be the case, so So it does work with recent enough versions, just needs some CMAke warning suppression tweaks It will be worth checking with older CMake (3.18) and probably older nvhpc too. I do get test suite failure(s) for RTC, but its mostly just from the nvhpc module file not setting
|
This comes from
|
CMake 3.18 doesn't configure successfulyl with nvhpc 22.7 install nvcc:
CMake 3.20 is OK with this however (3.19 ins't available by pip, so a smidge more effort to test) |
NVHPC 20.11, which ships with CUDA 11.1 configures and builds flamegpu2 with CMAke 3.20 as well, this is the second oldest release, and the oldest which is readily installable on ubuntu 22.04 via apt, so as old as I'll test. I also didn't get the Wreorder warnigns, but this is due to the included thrust/cub being too old, so using one fetched via cmake instead (which is correctly marked as isystem). E.g. the reorder warnings require CUB >= 1.14 to be distributed with the nvhpc install to occur. |
The root cause of these warnings has been fixed in a future CUB release by NVIDIA/cub#582, but that won't be useful to us immediatley. |
HPC SDK packages the curand headers in a separate math include directory, as of CMake 3.20. This is not added to the include path, so
curand_kernel.h
is not found at build time.This also affects RTC compilation, as RTC only includes cuda/include (inside
JitifyCache.cu
).The text was updated successfully, but these errors were encountered: