Error in Gromacs installation on GPU

GROMACS version: 2022
GROMACS modification: No
Here post your question

Dear Gromacs Users,

I tried to install gromacs 2022 version on Ubundu 20.04 with GPU supported.

versions of auxiliary tools
cmake version 3.16.3

I did following steps,

wget ftp://ftp.gromacs.org/pub/gromacs/gromacs-2022.tar.gz
tar xfz gromacs-2022.tar.gz
cd gromacs-2022
mkdir build
cd build

cmake … -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_BUILD_TYPE=Release -DGMX_BUILD_UNITTESTS=ON -DGMX_PREFER_STATIC_LIBS=ON -DGMX_BUILD_SHARED_EXE=OFF -DGMX_X11=OFF -DGMX_EXTERNAL_BLAS=OFF -DGMX_EXTERNAL_LAPACK=OFF -DGMX_SIMD=NONE -DGMX_GPU=ON

I got following error

I also tried with DGMX_GPU=CUDA , and I could installed , but GPU not supported.
Can anyone support me to install gromacs supported by GPU ?

Thank you in advance !
Kalindu

Hi,

A couple of ways to help narrow down or solve your problem:

If the installation succeeds, are you actually using the newly compiled binary? In your build folder there should be a bin folder with the new binary inside of it. Check if that reports GPU working. If it does, the problem is that your system path is not set to find your new install. Make sure to source the GMXRC file from the installation directory.

If the new binary does not have GPU support, what is the output from your compilation? I believe it should fail or at least give a warning if it can’t add the support.

On an unrelated note, is there a specific reason for why you are turning off SIMD acceleration? You’re leaving a lot of performance on the table.

Regards,
Petter

This sounds to me like your CUDA runtime drivers are not the right ones for your CUDA compiler version. Can you print the output of gmx --version?

Cheers

Paul

Dear @pbauer ,
I posted the screen capture for your reference ,

Hello @Kalindu,

sorry for silence here. I hope you have been able to resolve this by now, but just for completeness, this looks definitely like an issue your runtime. What does nvidia-smi report?

Cheers

Paul

Looking at your screenshot, you compiled GROMACS without any GPU support.

For GROMACS 2022, you should use -DGMX_GPU=CUDA, not -DGMX_GPU=ON. If you’re still getting “GPU support: disabled”, try removing CMakeCache.txt from your build directory and running CMake from scratch.

I also tried with DGMX_GPU=CUDA , and I could installed , but GPU not supported.

Could you please elaborate what error are you getting? The output of nvidia-smi could also be helpful.

Hello everybody:

I have a similar problem
GPU support: disabled
I have an NVIDIA GEFORCE RTX 3050 Laptop GPU
Nitro AN515-58, 12th Gen Intel(R) Core i5, 32 GB RAM

.

but with I run nvidia-smi

and when I type nvcc -V, I have:

and when I run
ubuntu-drivers list
Command ‘ubuntu-drivers’ not found, but can be installed with:
sudo apt install ubuntu-drivers-common


When I run
nvidia-bug-report.sh,
it returns:
Command ‘nvidia-bug-report.sh’ not found, but can be installed with:
sudo apt install nvidia-utils-525 # version 525.147.05-0ubuntu1, or
sudo apt install nvidia-utils-525-server # version 525.147.05-0ubuntu1
sudo apt install nvidia-utils-470 # version 470.256.02-0ubuntu0.24.04.1
sudo apt install nvidia-utils-470-server # version 470.256.02-0ubuntu0.24.04.1
sudo apt install nvidia-utils-535 # version 535.183.01-0ubuntu0.24.04.1
sudo apt install nvidia-utils-535-server # version 535.216.01-0ubuntu0.24.04.1
sudo apt install nvidia-utils-550 # version 550.120-0ubuntu0.24.04.1
sudo apt install nvidia-utils-550-server # version 550.127.05-0ubuntu0.24.04.1

And in the file in /usr/lib/x86_64-linux-gnu: I have these libnvidia

lrwxrwxrwx 1 root root 17 May 30 05:53 libnvidia-ml.so → libnvidia-ml.so.1
lrwxrwxrwx 1 root root 26 May 30 05:53 libnvidia-ml.so.1 → libnvidia-ml.so.535.183.01
-rw-r–r-- 1 root root 1.9M May 30 05:53 libnvidia-ml.so.535.183.01
lrwxrwxrwx 1 root root 19 May 30 05:53 libnvidia-nvvm.so → libnvidia-nvvm.so.4
lrwxrwxrwx 1 root root 28 May 30 05:53 libnvidia-nvvm.so.4 → libnvidia-nvvm.so.535.183.01
-rw-r–r-- 1 root root 83M May 30 05:53 libnvidia-nvvm.so.535.183.01
lrwxrwxrwx 1 root root 30 May 30 05:53 libnvidia-opencl.so.1 → libnvidia-opencl.so.535.183.01
-rw-r–r-- 1 root root 24M May 30 05:53 libnvidia-opencl.so.535.183.01
-rw-r–r-- 1 root root 10K May 30 05:53 libnvidia-pkcs11-openssl3.so.535.183.01
-rw-r–r-- 1 root root 11K May 30 05:53 libnvidia-pkcs11.so.535.183.01
lrwxrwxrwx 1 root root 29 May 30 05:53 libnvidia-ptxjitcompiler.so → libnvidia-ptxjitcompiler.so.1
lrwxrwxrwx 1 root root 38 May 30 05:53 libnvidia-ptxjitcompiler.so.1 → libnvidia-ptxjitcompiler.so.535.183.01
-rw-r–r-- 1 root root 23M May 30 05:53 libnvidia-ptxjitcompiler.so.535.183.01

Have you compiled GROMACS with GPU support? I.e., did you set -DGMX_GPU=CUDA when running cmake? If so, what related messages did you get from cmake?

I ran this command from the web:
sudo cmake … -DGMX_GPU=CUDA -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g+±11 -DGMX_BUILD_OWN=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda

And I don’t remember the messages. But, I haven’t downloaded cuda installer. I did it after that when I found that information in nvidia. Can I fix it? Or I have to uninstall ubuntu (wsl2) and do it everything again?

You definitely shouldn’t have to uninstall ubuntu. I would guess it’s a matter of drivers and cuda incompatibility. But the cmake output would probably give more information.

I installed nvidia 565 drivers in Windows, and now, when I open ubuntu, and ran nvidia-smi I have

And, when I run cmake

Usage

cmake [options]
cmake [options]
cmake [options] -S -B

Specify a source directory to (re-)generate a build system for it in the
current working directory. Specify an existing build directory to
re-generate its build system.

Run ‘cmake --help’ for more information.

That cmake output does not give much information. You need the cmake output from when you prepared the compilation. You could do it from a clean build directory and use the command you wrote above. And then just look for all cuda related output.

Well I unistall ubuntu, even from the powershell wsl --unregister
And install everything again, and now I couldn’t install gromacs, I had error, and now I do not have gromacs. I would appreciate any advice
This is my information. Could I fix it?

nvidia-smi

nvcc --version
Command ‘nvcc’ not found, but can be installed with:
sudo apt install nvidia-cuda-toolkit


###CUDA Toolkit Installer

wget https://developer.download.nvidia.com/compute/cuda/12.6.2/local_installers/cuda_12.6.2_560.35.03_linux.run

sudo sh cuda_12.6.2_560.35.03_linux.run

= Summary =

Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-12.6/

Please make sure that

  • PATH includes /usr/local/cuda-12.6/bin
  • LD_LIBRARY_PATH includes /usr/local/cuda-12.6/lib64, or, add /usr/local/cuda-12.6/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.6/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 560.00 is required for CUDA 12.6 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run --silent --driver

Logfile is /var/log/cuda-installer.log


#after installing
sudo apt install nvidia-cuda-toolkit
sudo apt install build-essential
sudo apt update

sudo apt upgrade

#now nvcc is recognized

$whereis nvcc
nvcc: /usr/bin/nvcc

$nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0

$gcc --version
gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$lspci
4eab:00:00.0 System peripheral: Red Hat, Inc. Virtio file system (rev 01)
b311:00:00.0 3D controller: Microsoft Corporation Basic Render Driver
b6ab:00:00.0 SCSI storage controller: Red Hat, Inc. Virtio 1.0 console (rev 01)
c2bf:00:00.0 3D controller: Microsoft Corporation Basic Render Driver

$sudo apt install cmake
$cmake --version
cmake version 3.28.3

I tried to install gromacs

mkdir gromacs
cd gromacs
wget https://ftp.gromacs.org/gromacs/gromacs-2024.4.tar.gz

tar xfz gromacs-2024.4.tar.gz
cd gromacs-2024.4
mkdir build
cd build
cmake … -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=CUDA

###and it returned:
– The C compiler identification is GNU 13.2.0
– The CXX compiler identification is GNU 13.2.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /usr/bin/cc - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Could NOT find Python3 (missing: Python3_INCLUDE_DIRS Development Development.Module Development.Embed) (found suitable version “3.12.3”, minimum required is “3.7”)
– Selected GPU FFT library - cuFFT
– Found OpenMP_C: -fopenmp (found version “4.5”)
– Found OpenMP_CXX: -fopenmp (found version “4.5”)
– Found OpenMP: TRUE (found version “4.5”)
– Performing Test CFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS
– Performing Test CFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS - Success
– Performing Test CFLAGS_EXCESS_PREC
– Performing Test CFLAGS_EXCESS_PREC - Success
– Performing Test CFLAGS_COPT
– Performing Test CFLAGS_COPT - Success
– Performing Test CFLAGS_NOINLINE
– Performing Test CFLAGS_NOINLINE - Success
– Performing Test CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS
– Performing Test CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS - Success
– Performing Test CXXFLAGS_EXCESS_PREC
– Performing Test CXXFLAGS_EXCESS_PREC - Success
– Performing Test CXXFLAGS_COPT
– Performing Test CXXFLAGS_COPT - Success
– Performing Test CXXFLAGS_NOINLINE
– Performing Test CXXFLAGS_NOINLINE - Success
– Looking for include file unistd.h
– Looking for include file unistd.h - found
– Looking for include file pwd.h
– Looking for include file pwd.h - found
– Looking for include file dirent.h
– Looking for include file dirent.h - found
– Looking for include file time.h
– Looking for include file time.h - found
– Looking for include file sys/time.h
– Looking for include file sys/time.h - found
– Looking for include file io.h
– Looking for include file io.h - not found
– Looking for include file sched.h
– Looking for include file sched.h - found
– Looking for include file xmmintrin.h
– Looking for include file xmmintrin.h - found
– Looking for gettimeofday
– Looking for gettimeofday - found
– Looking for sysconf
– Looking for sysconf - found
– Looking for nice
– Looking for nice - found
– Looking for fsync
– Looking for fsync - found
– Looking for _fileno
– Looking for _fileno - not found
– Looking for fileno
– Looking for fileno - found
– Looking for _commit
– Looking for _commit - not found
– Looking for sigaction
– Looking for sigaction - found
– Performing Test HAVE_BUILTIN_CLZ
– Performing Test HAVE_BUILTIN_CLZ - Success
– Performing Test HAVE_BUILTIN_CLZLL
– Performing Test HAVE_BUILTIN_CLZLL - Success
– Looking for clock_gettime in rt
– Looking for clock_gettime in rt - found
– Looking for feenableexcept in m
– Looking for feenableexcept in m - found
– Looking for fedisableexcept in m
– Looking for fedisableexcept in m - found
– Checking for sched.h GNU affinity API
– Performing Test sched_affinity_compile
– Performing Test sched_affinity_compile - Success
– Looking for include file mm_malloc.h
– Looking for include file mm_malloc.h - found
– Looking for include file malloc.h
– Looking for include file malloc.h - found
– Checking for _mm_malloc()
– Checking for _mm_malloc() - supported
– Looking for posix_memalign
– Looking for posix_memalign - found
– Looking for memalign
– Looking for memalign - not found
– Using default binary suffix: “”
– Using default library suffix: “”
– Performing Test CMAKE_HAVE_LIBC_PTHREAD
– Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
– Found Threads: TRUE
– Looking for C++ include pthread.h
– Looking for C++ include pthread.h - found
– Performing Test TEST_ATOMICS
– Performing Test TEST_ATOMICS - Success
– Atomic operations found
– Performing Test PTHREAD_SETAFFINITY
– Performing Test PTHREAD_SETAFFINITY - Success
– Detecting best SIMD instructions for this CPU
– Checking for GCC x86 inline asm
– Checking for GCC x86 inline asm - supported
– Detected build CPU features - aes apic avx avx2 clfsh cmov cx8 cx16 f16c fma htt intel lahf mmx msr nonstop_tsc pcid pclmuldq pdpe1gb popcnt pse rdrnd rdtscp sha sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
– Detected build CPU brand - 12th Gen Intel(R) Core™ i5-12500H
– Detected best SIMD instructions for this CPU - AVX2_256
– Performing Test C_mavx2_mfma_FLAG_ACCEPTED
– Performing Test C_mavx2_mfma_FLAG_ACCEPTED - Success
– Performing Test C_mavx2_mfma_COMPILE_WORKS
– Performing Test C_mavx2_mfma_COMPILE_WORKS - Success
– Performing Test CXX_mavx2_mfma_FLAG_ACCEPTED
– Performing Test CXX_mavx2_mfma_FLAG_ACCEPTED - Success
– Performing Test CXX_mavx2_mfma_COMPILE_WORKS
– Performing Test CXX_mavx2_mfma_COMPILE_WORKS - Success
– Enabling 256-bit AVX2 SIMD instructions using CXX flags: -mavx2 -mfma
– Detecting flags to enable runtime detection of AVX-512 units on newer CPUs
– Performing Test C_march_skylake_avx512_FLAG_ACCEPTED
– Performing Test C_march_skylake_avx512_FLAG_ACCEPTED - Success
– Performing Test C_march_skylake_avx512_COMPILE_WORKS
– Performing Test C_march_skylake_avx512_COMPILE_WORKS - Success
– Performing Test CXX_march_skylake_avx512_FLAG_ACCEPTED
– Performing Test CXX_march_skylake_avx512_FLAG_ACCEPTED - Success
– Performing Test CXX_march_skylake_avx512_COMPILE_WORKS
– Performing Test CXX_march_skylake_avx512_COMPILE_WORKS - Success
– Detecting flags to enable runtime detection of AVX-512 units on newer CPUs - -march=skylake-avx512
– Performing Test _Wno_unused_command_line_argument_FLAG_ACCEPTED
– Performing Test _Wno_unused_command_line_argument_FLAG_ACCEPTED - Success
– Performing Test _callconv___vectorcall
– Performing Test _callconv___vectorcall - Failed
– Performing Test _callconv___regcall
– Performing Test _callconv___regcall - Failed
– Performing Test callconv
– Performing Test callconv - Success
– Found CUDA: /usr (found suitable version “12.0”, minimum required is “11.0”)
– Adding work-around for issue compiling CUDA code with glibc 2.23 string.h
– Check for working NVCC/C++ compiler combination with nvcc ‘/usr/bin/nvcc’
– Check for working NVCC/C compiler combination - broken
– /usr/bin/nvcc standard output: ‘’
– /usr/bin/nvcc standard error: 'In file included from /usr/include/cuda_runtime.h:83,
from :
/usr/include/crt/host_config.h:132:2: error: #error – unsupported GNU version! gcc versions later than 12 are not supported! The nvcc flag ‘-allow-unsupported-compiler’ can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.
132 | #error – unsupported GNU version! gcc versions later than 12 are not supported! The nvcc flag ‘-allow-unsupported-compiler’ can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.
| ^~~~~

CMake Error at cmake/gmxManageNvccConfig.cmake:101 (if):
if given arguments:

"In file included from /usr/include/cuda_runtime.h:83,
               from <command-line>:

/usr/include/crt/host_config.h:132:2: error: #error – unsupported GNU
version! gcc versions later than 12 are not supported! The nvcc flag
‘-allow-unsupported-compiler’ can be used to override this version check" "
however, using an unsupported host compiler may cause compilation failure
or incorrect run time execution. Use at your own risk.

132 | #error -- unsupported GNU version! gcc versions later than 12 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check" " however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.
    |  ^~~~~

" “MATCHES” “nsupported”

Unknown arguments specified
Call Stack (most recent call first):
cmake/gmxManageCuda.cmake:110 (include)
CMakeLists.txt:700 (include)
– Configuring incomplete, errors occurred!


Thanks for the verbose output and descriptions. That makes it a lot easier to (try to) provide better help.

Apparently you need a newer nvcc version or an older gcc version. I think installing an older gcc version is probably the easier alternative. Try
sudo apt install gcc-12
and then, if you want to make gcc-12 the default compiler also do

cd /usr/bin
sudo rm gcc g++
sudo ln -s gcc-12 gcc
sudo ln -s g++-12 g++

Then I would recommend cleaning out the build directory completely, to be on the safe side. You can use cmake to clean it out, but as long as the build directory is separate (as in your case) you might as well do (starting from the gromacs directory you created above):

cd gromacs-2024.4
rm -rf build
mkdir build
cd build
cmake … -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=CUDA

Hopefully that will work. Otherwise, please post the new cmake output.

Thank you so much. I did everything as you indicate, and I do not have gromacs yet.

cmake … -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNL
OAD=ON -DGMX_GPU=CUDA
– The C compiler identification is GNU 12.3.0
– The CXX compiler identification is GNU 12.3.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /usr/bin/cc - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Could NOT find Python3 (missing: Python3_INCLUDE_DIRS Development Development.Module Development.Embed) (found suitable version “3.12.3”, minimum required is “3.7”)
– Selected GPU FFT library - cuFFT
– Found OpenMP_C: -fopenmp (found version “4.5”)
– Found OpenMP_CXX: -fopenmp (found version “4.5”)
– Found OpenMP: TRUE (found version “4.5”)
– Performing Test CFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS
– Performing Test CFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS - Success
– Performing Test CFLAGS_EXCESS_PREC
– Performing Test CFLAGS_EXCESS_PREC - Success
– Performing Test CFLAGS_COPT
– Performing Test CFLAGS_COPT - Success
– Performing Test CFLAGS_NOINLINE
– Performing Test CFLAGS_NOINLINE - Success
– Performing Test CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS
– Performing Test CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS - Success
– Performing Test CXXFLAGS_EXCESS_PREC
– Performing Test CXXFLAGS_EXCESS_PREC - Success
– Performing Test CXXFLAGS_COPT
– Performing Test CXXFLAGS_COPT - Success
– Performing Test CXXFLAGS_NOINLINE
– Performing Test CXXFLAGS_NOINLINE - Success
– Looking for include file unistd.h
– Looking for include file unistd.h - found
– Looking for include file pwd.h
– Looking for include file pwd.h - found
– Looking for include file dirent.h
– Looking for include file dirent.h - found
– Looking for include file time.h
– Looking for include file time.h - found
– Looking for include file sys/time.h
– Looking for include file sys/time.h - found
– Looking for include file io.h
– Looking for include file io.h - not found
– Looking for include file sched.h
– Looking for include file sched.h - found
– Looking for include file xmmintrin.h
– Looking for include file xmmintrin.h - found
– Looking for gettimeofday
– Looking for gettimeofday - found
– Looking for sysconf
– Looking for sysconf - found
– Looking for nice
– Looking for nice - found
– Looking for fsync
– Looking for fsync - found
– Looking for _fileno
– Looking for _fileno - not found
– Looking for fileno
– Looking for fileno - found
– Looking for _commit
– Looking for _commit - not found
– Looking for sigaction
– Looking for sigaction - found
– Performing Test HAVE_BUILTIN_CLZ
– Performing Test HAVE_BUILTIN_CLZ - Success
– Performing Test HAVE_BUILTIN_CLZLL
– Performing Test HAVE_BUILTIN_CLZLL - Success
– Looking for clock_gettime in rt
– Looking for clock_gettime in rt - found
– Looking for feenableexcept in m
– Looking for feenableexcept in m - found
– Looking for fedisableexcept in m
– Looking for fedisableexcept in m - found
– Checking for sched.h GNU affinity API
– Performing Test sched_affinity_compile
– Performing Test sched_affinity_compile - Success
– Looking for include file mm_malloc.h
– Looking for include file mm_malloc.h - found
– Looking for include file malloc.h
– Looking for include file malloc.h - found
– Checking for _mm_malloc()
– Checking for _mm_malloc() - supported
– Looking for posix_memalign
– Looking for posix_memalign - found
– Looking for memalign
– Looking for memalign - not found
– Using default binary suffix: “”
– Using default library suffix: “”
– Performing Test CMAKE_HAVE_LIBC_PTHREAD
– Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
– Found Threads: TRUE
– Looking for C++ include pthread.h
– Looking for C++ include pthread.h - found
– Performing Test TEST_ATOMICS
– Performing Test TEST_ATOMICS - Success
– Atomic operations found
– Performing Test PTHREAD_SETAFFINITY
– Performing Test PTHREAD_SETAFFINITY - Success
– Detecting best SIMD instructions for this CPU
– Checking for GCC x86 inline asm
– Checking for GCC x86 inline asm - supported
– Detected build CPU features - aes apic avx avx2 clfsh cmov cx8 cx16 f16c fma htt intel lahf mmx msr nonstop_tsc pcid pclmuldq pdpe1gb popcnt pse rdrnd rdtscp sha sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
– Detected build CPU brand - 12th Gen Intel(R) Core™ i5-12500H
– Detected best SIMD instructions for this CPU - AVX2_256
– Performing Test C_mavx2_mfma_FLAG_ACCEPTED
– Performing Test C_mavx2_mfma_FLAG_ACCEPTED - Success
– Performing Test C_mavx2_mfma_COMPILE_WORKS
– Performing Test C_mavx2_mfma_COMPILE_WORKS - Success
– Performing Test CXX_mavx2_mfma_FLAG_ACCEPTED
– Performing Test CXX_mavx2_mfma_FLAG_ACCEPTED - Success
– Performing Test CXX_mavx2_mfma_COMPILE_WORKS
– Performing Test CXX_mavx2_mfma_COMPILE_WORKS - Success
– Enabling 256-bit AVX2 SIMD instructions using CXX flags: -mavx2 -mfma
– Detecting flags to enable runtime detection of AVX-512 units on newer CPUs
– Performing Test C_march_skylake_avx512_FLAG_ACCEPTED
– Performing Test C_march_skylake_avx512_FLAG_ACCEPTED - Success
– Performing Test C_march_skylake_avx512_COMPILE_WORKS
– Performing Test C_march_skylake_avx512_COMPILE_WORKS - Success
– Performing Test CXX_march_skylake_avx512_FLAG_ACCEPTED
– Performing Test CXX_march_skylake_avx512_FLAG_ACCEPTED - Success
– Performing Test CXX_march_skylake_avx512_COMPILE_WORKS
– Performing Test CXX_march_skylake_avx512_COMPILE_WORKS - Success
– Detecting flags to enable runtime detection of AVX-512 units on newer CPUs - -march=skylake-avx512
– Performing Test _Wno_unused_command_line_argument_FLAG_ACCEPTED
– Performing Test _Wno_unused_command_line_argument_FLAG_ACCEPTED - Success
– Performing Test _callconv___vectorcall
– Performing Test _callconv___vectorcall - Failed
– Performing Test callconv___regcall
– Performing Test callconv___regcall - Failed
– Performing Test callconv
– Performing Test callconv - Success
– Found CUDA: /usr (found suitable version “12.0”, minimum required is “11.0”)
– Adding work-around for issue compiling CUDA code with glibc 2.23 string.h
– Check for working NVCC/C++ compiler combination with nvcc ‘/usr/bin/nvcc’
– Check for working NVCC/C++ compiler combination - works
– Checking if nvcc accepts flags --generate-code=arch=compute_35,code=sm_35
– Checking if nvcc accepts flags --generate-code=arch=compute_35,code=sm_35 - No
– Checking if nvcc accepts flags --generate-code=arch=compute_37,code=sm_37
– Checking if nvcc accepts flags --generate-code=arch=compute_37,code=sm_37 - No
– Checking if nvcc accepts flags --generate-code=arch=compute_50,code=sm_50
– Checking if nvcc accepts flags --generate-code=arch=compute_50,code=sm_50 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_52,code=sm_52
– Checking if nvcc accepts flags --generate-code=arch=compute_52,code=sm_52 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_60,code=sm_60
– Checking if nvcc accepts flags --generate-code=arch=compute_60,code=sm_60 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_61,code=sm_61
– Checking if nvcc accepts flags --generate-code=arch=compute_61,code=sm_61 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_70,code=sm_70
– Checking if nvcc accepts flags --generate-code=arch=compute_70,code=sm_70 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_75,code=sm_75
– Checking if nvcc accepts flags --generate-code=arch=compute_75,code=sm_75 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_80,code=sm_80
– Checking if nvcc accepts flags --generate-code=arch=compute_80,code=sm_80 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_86,code=sm_86
– Checking if nvcc accepts flags --generate-code=arch=compute_86,code=sm_86 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_89,code=sm_89
– Checking if nvcc accepts flags --generate-code=arch=compute_89,code=sm_89 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_90,code=sm_90
– Checking if nvcc accepts flags --generate-code=arch=compute_90,code=sm_90 - Success
– Checking if nvcc accepts flags -Wno-deprecated-gpu-targets
– Checking if nvcc accepts flags -Wno-deprecated-gpu-targets - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_53,code=sm_53
– Checking if nvcc accepts flags --generate-code=arch=compute_53,code=sm_53 - Success
– Checking if nvcc accepts flags --generate-code=arch=compute_80,code=sm_80
– Checking if nvcc accepts flags --generate-code=arch=compute_80,code=sm_80 - Success
– Checking if nvcc accepts flags -use_fast_math
– Checking if nvcc accepts flags -use_fast_math - Success
– Checking if nvcc accepts flags -Xptxas;-warn-double-usage
– Checking if nvcc accepts flags -Xptxas;-warn-double-usage - Success
– Checking if nvcc accepts flags -Xptxas;-Werror
– Checking if nvcc accepts flags -Xptxas;-Werror - Success
– The CUDA compiler identification is NVIDIA 12.0.140
– Detecting CUDA compiler ABI info
– Detecting CUDA compiler ABI info - done
– Check for working CUDA compiler: /usr/bin/nvcc - skipped
– Detecting CUDA compile features
– Detecting CUDA compile features - done
– Detected build CPU vendor - Intel
– Detected build CPU family - 6
– Detected build CPU model - 154
– Detected build CPU stepping - 3
– Checking for 64-bit off_t
– Checking for 64-bit off_t - present
– Checking for fseeko/ftello
– Checking for fseeko/ftello - present
– Checking for SIGUSR1
– Checking for SIGUSR1 - found
– Checking for pipe support
– Checking for system XDR support
– Checking for system XDR support - not present
– The GROMACS-managed build of FFTW 3 will configure with the following optimizations: --enable-sse2;–enable-avx;–enable-avx2
– Using external FFT library - FFTW3 build managed by GROMACS
– Looking for sgemm

– Looking for sgemm
- not found
– Could NOT find BLAS (missing: BLAS_LIBRARIES)
– Using GROMACS built-in BLAS.
– Could NOT find LAPACK (missing: LAPACK_LIBRARIES)
Reason given by package: LAPACK could not be found because dependency BLAS could not be found.

– Using GROMACS built-in LAPACK.
– Could not convert sample image, ImageMagick convert can not be used. A possible way to fix it can be found here: Fixing Imagick's “not authorized” exception | Alex Vanderbist
– Performing Test HAS_WARNING_EVERYTHING
– Performing Test HAS_WARNING_EVERYTHING - Failed
– Found CUDAToolkit: /usr/include (found version “12.0.140”)
– Found Python: /usr/bin/python3 (found version “3.12.3”) found components: Interpreter
– Performing Test HAVE_NO_DEPRECATED_COPY
– Performing Test HAVE_NO_DEPRECATED_COPY - Success
– Performing Test CXXFLAGS_WARN_NOUNDEF
– Performing Test CXXFLAGS_WARN_NOUNDEF - Success
– Performing Test HAS_NO_STRINGOP_TRUNCATION
– Performing Test HAS_NO_STRINGOP_TRUNCATION - Success
– Performing Test HAS_WARNING_NO_CAST_FUNCTION_TYPE_STRICT
– Performing Test HAS_WARNING_NO_CAST_FUNCTION_TYPE_STRICT - Success
– Performing Test HAS_NO_UNUSED
– Performing Test HAS_NO_UNUSED - Success
– Performing Test HAS_NO_UNUSED_PARAMETER
– Performing Test HAS_NO_UNUSED_PARAMETER - Success
– Performing Test HAS_NO_MISSING_DECLARATIONS
– Performing Test HAS_NO_MISSING_DECLARATIONS - Success
– Performing Test HAS_NO_NULL_CONVERSIONS
– Performing Test HAS_NO_NULL_CONVERSIONS - Success
– Looking for inttypes.h
– Looking for inttypes.h - found
– Performing Test HAS_WARNING_NO_ARRAY_BOUNDS
– Performing Test HAS_WARNING_NO_ARRAY_BOUNDS - Success
– Performing Test HAS_WARNING_NO_DEPRECATED_NON_PROTOTYPE
– Performing Test HAS_WARNING_NO_DEPRECATED_NON_PROTOTYPE - Success
– Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
– Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
– Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
– Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
– Performing Test COMPILER_HAS_DEPRECATED_ATTR
– Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
Downloading: https://ftp.gromacs.org/regressiontests/regressiontests-2024.4.tar.gz
– [download 0% complete]
– [download 1% complete]
– [download 2% complete]
– [download 4% complete]
– [download 5% complete]
– [download 6% complete]
– [download 7% complete]
– [download 8% complete]
– [download 9% complete]
– [download 10% complete]
– [download 12% complete]
– [download 13% complete]
– [download 14% complete]
– [download 15% complete]
– [download 16% complete]
– [download 17% complete]
– [download 18% complete]
– [download 19% complete]
– [download 21% complete]
– [download 22% complete]
– [download 23% complete]
– [download 24% complete]
– [download 25% complete]
– [download 26% complete]
– [download 27% complete]
– [download 28% complete]
– [download 29% complete]
– [download 30% complete]
– [download 31% complete]
– [download 32% complete]
– [download 33% complete]
– [download 34% complete]
– [download 35% complete]
– [download 36% complete]
– [download 37% complete]
– [download 38% complete]
– [download 39% complete]
– [download 40% complete]
– [download 41% complete]
– [download 42% complete]
– [download 43% complete]
– [download 44% complete]
– [download 46% complete]
– [download 47% complete]
– [download 48% complete]
– [download 49% complete]
– [download 50% complete]
– [download 51% complete]
– [download 52% complete]
– [download 54% complete]
– [download 55% complete]
– [download 56% complete]
– [download 57% complete]
– [download 58% complete]
– [download 59% complete]
– [download 61% complete]
– [download 62% complete]
– [download 63% complete]
– [download 64% complete]
– [download 65% complete]
– [download 66% complete]
– [download 68% complete]
– [download 69% complete]
– [download 70% complete]
– [download 71% complete]
– [download 72% complete]
– [download 73% complete]
– [download 74% complete]
– [download 75% complete]
– [download 76% complete]
– [download 77% complete]
– [download 78% complete]
– [download 79% complete]
– [download 81% complete]
– [download 82% complete]
– [download 83% complete]
– [download 84% complete]
– [download 85% complete]
– [download 86% complete]
– [download 87% complete]
– [download 88% complete]
– [download 89% complete]
– [download 90% complete]
– [download 91% complete]
– [download 92% complete]
– [download 93% complete]
– [download 94% complete]
– [download 95% complete]
– [download 96% complete]
– [download 97% complete]
– [download 98% complete]
– [download 99% complete]
– [download 100% complete]
– Could NOT find Sphinx (missing: SPHINX_EXECUTABLE) (Required is at least version “4.0.0”)
– Configuring done (359.9s)
– Generating done (1.0s)
– Build files have been written to: /home/user/programs/gromacs/gromacs-2024.4/build


____________________________________-

pwd
/home/user/programs/gromacs/gromacs-2024.4/build


ls

image


python3 --version
Python 3.12.3

Looks good. Now you just need to build it and install it:

make
sudo make install

Or, to speed things up a bit, assuming that you’ve got (at least) 8 threads on your CPU (usually corresponds to 4 physical cores):

make -j 8
make -j 8 install