GROMACS version: 2024.3
GROMACS modification: No
Here post your question
I want to install the MPI and GPU version of gromacs 2024.3 on Ubuntu 22.04 system using the command: C=mpicc CXX=mpicxx cmake /home/dell/Downloads/gromacs/gromacs-2024.3 -DGMX_OPENMP=ON -DGMX_GPU=CUDA -DGMX_MPI=ON -DGMX_BUILD_OWN_FFTW=ON -DGMX_PREFER_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DGMX_BUILD_UNITTESTS=ON -DCMAKE_INSTALL_PREFIX=/opt/gromacs2024.3
The following error was found.
root@dell-OptiPlex-Tower-Plus-7010:/home/dell/Downloads/gromacs/build# C=mpicc CXX=mpicxx cmake /home/dell/Downloads/gromacs/gromacs-2024.3 -DGMX_OPENMP=ON -DGMX_GPU=CUDA -DGMX_MPI=ON -DGMX_BUILD_OWN_FFTW=ON -DGMX_PREFER_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DGMX_BUILD_UNITTESTS=ON -DCMAKE_INSTALL_PREFIX=/opt/gromacs2024.3
– The C compiler identification is GNU 11.4.0
– The CXX compiler identification is GNU 11.4.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/local/bin/mpicxx - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Found Python3: /usr/bin/python3.10 (found suitable version “3.10.12”, minimum required is “3.7”) found components: Interpreter Development Development.Module Development.Embed
– 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
– MPI is not compatible with thread-MPI. Disabling thread-MPI.
– Found MPI_CXX: /usr/local/bin/mpicxx (found version “3.1”)
– Found MPI: TRUE (found version “3.1”) found components: CXX
– GROMACS library will use OpenMPI 3.1.6
Searching for static libraries requested, so the GROMACS libraries will also be static (BUILD_SHARED_LIBS=OFF)
– Using default binary suffix: "mpi"
– Using default library suffix: "mpi"
– 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 pdcm pdpe1gb popcnt pse rdrnd rdtscp sha sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
– Detected build CPU brand - 13th Gen Intel(R) Core™ i9-13900K
– 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/local/cuda-12.1 (found suitable version “12.1”, minimum required is “12.1”)
– Adding work-around for issue compiling CUDA code with glibc 2.23 string.h
– Check for working NVCC/C++ compiler combination with nvcc ‘/usr/local/cuda-12.1/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.1.105
– Detecting CUDA compiler ABI info
– Detecting CUDA compiler ABI info - done
– Check for working CUDA compiler: /usr/local/cuda-12.1/bin/nvcc - skipped
– Detecting CUDA compile features
– Detecting CUDA compile features - done
– Checking for mpi-ext.h header
– Performing Test HAVE_MPI_EXT
– Performing Test HAVE_MPI_EXT - Success
– Performing Test MPI_SUPPORTS_CUDA_AWARE_DETECTION
– Performing Test MPI_SUPPORTS_CUDA_AWARE_DETECTION - Success
– Checking for MPI_SUPPORTS_CUDA_AWARE_DETECTION - yes
– Detected build CPU vendor - Intel
– Detected build CPU family - 6
– Detected build CPU model - 183
– Detected build CPU stepping - 1
– 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
– Looking for sgemm
– Looking for sgemm - found
– Found BLAS: /usr/lib/x86_64-linux-gnu/libblas.a
– Looking for cheev
– Looking for cheev - not found
– Looking for cheev
– Looking for cheev - not found
– Could NOT find LAPACK (missing: LAPACK_LIBRARIES)
– 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
– Found Python: /usr/bin/python3.10 (found version “3.10.12”) 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_WARNING_EVERYTHING
– Performing Test HAS_WARNING_EVERYTHING - Failed
CMake Error at /usr/local/share/cmake-3.30/Modules/FetchContent.cmake:1951 (message):
Calling FetchContent_Populate(muparser) is deprecated, call
FetchContent_MakeAvailable(muparser) instead. Policy CMP0169 can be set to
OLD to allow FetchContent_Populate(muparser) to be called directly for now,
but the ability to call it with declared details will be removed completely
in a future version.
Call Stack (most recent call first):
cmake/gmxManageMuparser.cmake:59 (FetchContent_Populate)
src/gromacs/CMakeLists.txt:74 (gmx_manage_muparser)
– Configuring incomplete, errors occurred!