Nonbonded interactions on the GPU

GROMACS version:2020.4

i’m using this command

gmx mdrun -deffnm nvt0 -nb gpu

but got

Nonbonded interactions on the GPU were requested with -nb gpu, but the GROMACS
binary has been built without GPU support. Either run without selecting GPU
options or recompile GROMACS with GPU support enabled

I’ve Nvidia rtx2060 with cuda 11.1 on ubnutu 18.4.5

Hello,

the error message indicates that Gromacs was not built with GPU support. Did you compile it yourself and specify -DGMX_GPU=on when running cmake (as per the installation guide), or get it from the Ubuntu repositories?

If the latter, try compiling it yourself.

Regards,
Petter

1 Like

i reinstalled it from scratch and execute the command and works thanks

i reinstalled it from scratch and used this

-DGMX_GPU=on with cmake but still got

Inconsistency in user input:
Nonbonded interactions on the GPU were requested with -nb gpu, but the GROMACS
binary has been built without GPU support. Either run without selecting GPU
options, or recompile GROMACS with GPU support enabled

when i used

gmx mdrun -deffnm md_0_1 -nb gpu

i found the problem with this code

// TODO refactor all these TaskTarget::Gpu checks into one place?
// e.g. use a subfunction that handles only the cases where
// TaskTargets are not Cpu?
if (emulateGpuNonbonded == EmulateGpuNonbonded::Yes)
{
if (nonbondedTarget == TaskTarget::Gpu)
{
GMX_THROW(InconsistentInputError(
"Nonbonded interactions on the GPU were required, which is inconsistent "
“with choosing emulation. Make no more than one of these choices.”));
}
if (!userGpuTaskAssignment.empty())
{
GMX_THROW(
InconsistentInputError("GPU ID usage was specified, as was GPU emulation. Make "
“no more than one of these choices.”));
}

Those conditions would throw different errors, I think. What is the output of gmx --version, does it list GPU support?

 :-) GROMACS - gmx, 2020.4 (-:

                        GROMACS is written by:
 Emile Apol      Rossen Apostolov      Paul Bauer     Herman J.C. Berendsen
Par Bjelkmar      Christian Blau   Viacheslav Bolnykh     Kevin Boyd    

Aldert van Buuren Rudi van Drunen Anton Feenstra Alan Gray
Gerrit Groenhof Anca Hamuraru Vincent Hindriksen M. Eric Irrgang
Aleksei Iupinov Christoph Junghans Joe Jordan Dimitrios Karkoulis
Peter Kasson Jiri Kraus Carsten Kutzner Per Larsson
Justin A. Lemkul Viveca Lindahl Magnus Lundborg Erik Marklund
Pascal Merz Pieter Meulenhoff Teemu Murtola Szilard Pall
Sander Pronk Roland Schulz Michael Shirts Alexey Shvetsov
Alfons Sijbers Peter Tieleman Jon Vincent Teemu Virolainen
Christian Wennberg Maarten Wolf Artem Zhmurov
and the project leaders:
Mark Abraham, Berk Hess, Erik Lindahl, and David van der Spoel

Copyright © 1991-2000, University of Groningen, The Netherlands.
Copyright © 2001-2019, The GROMACS development team at
Uppsala University, Stockholm University and
the Royal Institute of Technology, Sweden.
check out http://www.gromacs.org for more information.

GROMACS is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2.1
of the License, or (at your option) any later version.

GROMACS: gmx, version 2020.4
Executable: /usr/local/gromacs/bin/gmx
Data prefix: /usr/local/gromacs
Working dir: /home/user/Desktop
Command line:
gmx --version

GROMACS version: 2020.4

Precision: single
Memory model: 64 bit
MPI library: thread_mpi
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 64)
GPU support: disabled
SIMD instructions: AVX2_256
FFT library: fftw-3.3.7-sse2-avx
RDTSCP usage: enabled
TNG support: enabled
Hwloc support: disabled
Tracing support: disabled
C compiler: /usr/bin/cc GNU 7.5.0
C compiler flags: -mavx2 -mfma -fexcess-precision=fast -funroll-all-loops -O3 -DNDEBUG
C++ compiler: /usr/bin/c++ GNU 7.5.0
C++ compiler flags: -mavx2 -mfma -fexcess-precision=fast -funroll-all-loops -fopenmp -O3 -DNDEBUG

That means you have not built GROMACS with GPU support. I suggest to run cmake again and make sure that the CMakeCache files contains a GMX_GPU=ON entry!

1 Like

i tried to do that using

/gromacs-2020.4/build$ cmake … -DGMX_GPU=on

but got

CMake Deprecation Warning at src/external/googletest/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at src/external/googletest/googlemock/CMakeLists.txt:41 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at src/external/googletest/googletest/CMakeLists.txt:48 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Error at src/CMakeLists.txt:137 (message):
GMXAPI relies on libgromacs and is incompatible with GMX_BUILD_MDRUN_ONLY.

– Configuring incomplete, errors occurred!

Your build tree seems broken. I suggest to create a clean directory and run cmake again from scratch passing -DGMX_GPU=ON.

i did it …

$mkdir build1

build1$ cmake … -DGMX_GPU=on

got

Could NOT find Sphinx (missing: SPHINX_EXECUTABLE pygments) (Required is at least version “1.6.1”)
CMake Deprecation Warning at src/external/googletest/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at src/external/googletest/googlemock/CMakeLists.txt:41 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at src/external/googletest/googletest/CMakeLists.txt:48 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

Blockquote

From these snippets of output I do not know what could be wrong, what you posted does not seems to be a fatal error that would prevent compilation. Please post the entire cmake output not just small parts of it.