Cannot run short-ranged nonbonded interactions on a GPU because no GPU is detected

Current Setting

CUDA version:11.3 (driver version, runtime version same)
cmake : 3.26.5
Graphic Card : GTX2080
Graphic driver version : 465.19.01

GROMACS version: 2023
GROMACS modification: No

gmx --version shows

I ran to build gromacs

cmake … -DGMX_GIT_VERSION_INFO=OFF -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=CUDA DGMX_CUDA_TARGET_SM=80 -DGMX_CUDA_TARGET_COMPUTE=80

But When I run gmx,

Cannot run short-ranged nonbonded interactions on a GPU because no GPU is detected.

erorr occured…

Please helpppp.

Hi!

You compiled GROMACS for sm_80 GPUs (-DGMX_CUDA_TARGET_SM=80), but RTX2080 is sm_75. You need to recompile GROMACS with the correct settings.

Reallllllllly thanks for replying!!! I didn’t know RTX2080 is sm_75

But when I run with
cmake … -DGMX_GIT_VERSION_INFO=OFF -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=CUDA DGMX_CUDA_TARGET_SM=75 -DGMX_CUDA_TARGET_COMPUTE=75

and when I ran make command,

This Error Occured… I can’t know the reason why this error occurs…

only running with -DGMX_CUDA_TARGET_SM=80 option doesn’t makes error when I run make.

Can I solve this issue? really really thanks!!!

Additional)
when I ran with that cmake,

They say ““ignoring command line”” and could not find python3…

Do they can be another reason for that problem?

Really Thanksss!!!

Hi!

I didn’t know RTX2080 is sm_75

But why did you decide to set GMX_CUDA_TARGET_*? If you don’t know the device architecture, it’s better to not set these flags at all (but if you decide to build without them now, you need first to remove CMakeCache.txt file from the build directory).

cmake … -DGMX_GIT_VERSION_INFO=OFF -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=CUDA DGMX_CUDA_TARGET_SM=75 -DGMX_CUDA_TARGET_COMPUTE=75

You are missing - in front of DGMX_CUDA_TARGET_SM. That’s the reason for the “ignoring command line” error. It should be -DGMX_CUDA_TARGET_SM=75, not just DGMX_CUDA_TARGET_SM=75. This is likely the reason for the “unexpected operand” compilation error.

The Python error should not be a problem unless you plan to use GMXAPI. The DOWNLOAD_EXTRACT_TIMESTAMP warning is, as it says, a developer-facing warning, and can safely be ignored.

On a related note: it is usually a much better idea to always use the latest release, GROMACS 2023.3 currently, then any older version. There had been quite a few bugfixes and minor improvements since then (e.g., the harmless but annoying DOWNLOAD_EXTRACT_TIMESTAMP warning was fixed in 2023.2).

Really Thanks for Replying!!!

I reallized that I miss “-”.

And I downloaded the latest GROMACS 2023.3 version and make install with them.

But when I tried

Still, make error occured.

err7


also, I removed CMakeCache.txt
and tried without CUDA TARGET, like

but still error same as above occured…in the same progress percent(13%, same message) make error only doesn’t occur when I use with SM80

Can I solve this? Thankkkkkkkk you !!

+) My Question flagged as spam and was hidden…

Could you please post error messages as a text? It’s quite hard to read poor-contrast red-on-black text from a JPEG, and it makes it harder for others to search for a similar error if they encounter a similar error. That will also avoid triggering the spam filter, since images raise the suspicion.

Also, which version of CUDA are you using. If I recall correctly, the error looks similar to what happens with CUDA 11.3, which is known to be broken, see the first entry in https://manual.gromacs.org/current/user-guide/known-issues.html.

Sorry I’m new to gromacs community and didn’t know how to use.

1. The error message was

2.Cuda Version

I’m using Cuda 11.3, which is the latest version of CUDA which I can use in my OS(Ubuntu 16.04) and GPU(NVIDIA GeForce RTX 2080 Ti), driver version is 465

I can’t use CUDA which is upper than 11.3 in my condition…

If that CUDA version is broken, is it better to use CUDA 11.2 ? I read the document to latest CUDA as I can when I run gromacs.

Really Thanks!!!

Yes, using CUDA 11.2 could solve your problem.

It is indeed better to use the newest CUDA when possible, but not when it is broken :)

Thank you so much!!!

Downgrading CUDA to 11.2 solved the issue without changing nvidia driver and OS !!!

REALLY THANKS for your kind reply

You saved my life!

1 Like