Skip to content
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

GOMC GPU binaries dp not build properly with CUDA 12.2 #522

Open
bc118 opened this issue Jan 2, 2024 · 3 comments
Open

GOMC GPU binaries dp not build properly with CUDA 12.2 #522

bc118 opened this issue Jan 2, 2024 · 3 comments

Comments

@bc118
Copy link
Collaborator

bc118 commented Jan 2, 2024

Describe the bug
GOMC does not build properly in GPU with CUDA 12.2. It looks like the "compute_35" needs removed from the base GOMC code for current and development versions.

Error produced
nvcc fatal : Unsupported gpu architecture 'compute_35' nvcc fatal : Unsupported gpu architecture 'compute_35' make[3]: *** [CMakeFiles/GPU_NVT.dir/build.make:76: CMakeFiles/GPU_NVT.dir/src/GPU/CalculateEnergyCUDAKernel.cu.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: *** [CMakeFiles/GPU_NVT.dir/build.make:104: CMakeFiles/GPU_NVT.dir/src/GPU/CalculateEwaldCUDAKernel.cu.o] Error 1 nvcc fatal : Unsupported gpu architecture 'compute_35' make[3]: *** [CMakeFiles/GPU_NVT.dir/build.make:132: CMakeFiles/GPU_NVT.dir/src/GPU/CUDAMemoryManager.cu.o] Error 1 nvcc fatal : Unsupported gpu architecture 'compute_35' nvcc fatal : Unsupported gpu architecture 'compute_35' make[3]: *** [CMakeFiles/GPU_NVT.dir/build.make:90: CMakeFiles/GPU_NVT.dir/src/GPU/CalculateForceCUDAKernel.cu.o] Error 1 make[3]: *** [CMakeFiles/GPU_NVT.dir/build.make:118: CMakeFiles/GPU_NVT.dir/src/GPU/ConstantDefinitionsCUDAKernel.cu.o] Error 1 nvcc fatal : Unsupported gpu architecture 'compute_35' make[3]: *** [CMakeFiles/GPU_NVT.dir/build.make:146: CMakeFiles/GPU_NVT.dir/src/GPU/TransformParticlesCUDAKernel.cu.o] Error 1 make[2]: *** [CMakeFiles/Makefile2:175: CMakeFiles/GPU_NVT.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:182: CMakeFiles/GPU_NVT.dir/rule] Error 2

Please complete the following information:

  • OS: RHEL 8.9
  • Ensemble: All GPU ensemble builds fail
  • Code version : GOMC 2.75a and development branch (1-1-2024)
@GregorySchwing
Copy link
Collaborator

This is due to us being stuck between a rock and a hard place. Require a newish cmake version which detects architecture or allow old versions and try to guess all architectures a user might need. I can drop 35, but this is the reasoning.

@LSchwiebert
Copy link
Collaborator

Greg is correct. CUDA 11 deprecated compute capability 3.5, which was the old Kepler cards. CUDA 12 removed support.

I'm planning a new CMake that will require users to have a newer version of CMake for some other reasons, but the one that builds for the appropriate architectures is something like CMake 3.24, which is pretty new. Removing 35 from the list is the simplest workaround, but not a long term solution. The new CMake will test the CMake version and build accordingly, so only those running an older version of CMake will have to work around this problem.

If you are curious, you can look at the CMake files in the build-issues branch, which I hope to have ready for review soon...

@bc118
Copy link
Collaborator Author

bc118 commented Jan 2, 2024

Yeah, when you get it let me know. Not a huge issue at the moment, as I can just wait or run CUDA 11.8. However, I thought it should be noted as here, as it is likely important to other users soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants