No bin/GMRXC created - cannot get access to GROMACS after installation

GROMACS version: 2021.1
GROMACS modification: No
Macbook Air (2017) 10.13.6.

The command “source /usr/local/gromacs/bin/GMXRC”

fails because there is no such folder /usr/local/gromacs.
/usr/local “ls -t -l” shows no changes despite recent attempts (x6) to install Gromacs. I have been installin/building/deleting as per the history below and I suspect I’ve made a rookie mistake to lose this folder or prevent the build/make producing it.

Current CMake command:
cmake … -DGMX_BUILD_OWN_FFTW=ON -DGMX_USE_RDTSCP=ON -DGMX_SIMD=AVX2_256 -DGMX_GPU=OpenCL -DREGRESSIONTEST_DOWNLOAD=ON -DCMAKE_INSTALL_PREFIX=’/usr/local/gromacs’

History:

I first followed the instructions at Compiling on a Mac – Fowler Lab which installed 2018-4. The build worked for the 1AKI tutorial, but simulation was very slow (220 hr/ns).

I deleted the whole installation and moved to version 2021.1. There was an increase in speed (5x) but I saw the error message “Compiled SIMD: None …”.

I deleted the whole installation again and changed the CMake comand to include -DGMX_SIMD=AVX2_256. Also added -DGMX_GPU=OpenCL.

The “Compiled SIMD: None” message remained in my tutorial, so I deleted everything I could think of again (?too much) and tried again.

My ccmake … report indicates success, with both GMX_GPU=OpenCL and GMX_SIMD=VX2_256.

But now I cannot access GROMACS as I cannot find the binaries. The only files called GMXRC are in “scripts” folders - either in my folder “gromac-2021.1” or in “build” within that.

Tim Levine
Biologist & complete newbie to Terminal window

Hello,

what is your terminal output after running your cmake command, then make and make install? If a problem is encountered it should be printed somewhere in there.

Kind regards,
Petter

Thanks for the helpful suggestion.

I do get errors - I think all relating to “modularsimulator”. Could this error prevent complete installation?

On Google all I could find on this is
“your graphic card and cuda software not install correctlly. you can try install gromacs in non gpu state by adding - DGMX_GPU=off

However, “ccmake …” included GMX_GPU=OFF (whole ccmake pasted below)

Output pasted below (edited to fit char limit)
§A cmake (sl different attempt)
§B "make
§C sudo make install
§D ccmake …
(I don’t know any other way to insert a large amount of text and file upload disallowed to new users)

BTW my mind cleared over the different installs I’d done, in case that history is the cause of my problem:

  1. v2021-1 installed by Brew- performance: 100 h/ns
  2. v2018-4 installed by CMake (as per Fowerlab instructions): 20 h/ns
  3. v2021-1 installed (x many) by CMake - with -DGMX_SIMD=AVX2_256 option but persistent error message “Compiled SIMD: None …” and still 20 h/ns
  4. current problem - no binaries!

Tim


§A
(base) timls-MacBook-Air:build timl$ cmake … -DGMX_SIMD=AVX2_256 -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=’/usr/local/gromacs’
– The C compiler identification is AppleClang 10.0.0.10001145
– The CXX compiler identification is AppleClang 10.0.0.10001145
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done

— Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done

— Detecting CXX compile features
– Detecting CXX compile features - done
– Performing Test USING_LIBSTDCXX
– Performing Test USING_LIBSTDCXX - Failed
– Found Python3: /opt/anaconda3/bin/python3.8 (found suitable version “3.8.5”, minimum required is “3.6”) found components: Interpreter
– Found OpenMP_C: -Xclang -fopenmp (found version “3.1”)
– Found OpenMP_CXX: -Xclang -fopenmp (found version “3.1”)
– Found OpenMP: TRUE (found version “3.1”)
– Performing Test CFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS
– Performing Test CFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS - Success
– Performing Test CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS
– Performing Test CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS - 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 - not found
– Looking for feenableexcept in m
– Looking for feenableexcept in m - not found
– Looking for fedisableexcept in m
– Looking for fedisableexcept in m - not found
– Checking for sched.h GNU affinity API
– Performing Test sched_affinity_compile
– Performing Test sched_affinity_compile - Failed
– 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 - not 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
– Check if the system is big endian
– Searching 16 bit integer
– Looking for sys/types.h
– Looking for sys/types.h - found
– Looking for stdint.h
– Looking for stdint.h - found
– Looking for stddef.h
– Looking for stddef.h - found
– Check size of unsigned short
– Check size of unsigned short - done
– Searching 16 bit integer - Using unsigned short
– Check if the system is big endian - little endian
– Using default binary suffix: “”
– Using default library suffix: “”
– Looking for pthread.h
– Looking for pthread.h - found
– 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 - Failed
– Checking for GCC x86 inline asm
– Checking for GCC x86 inline asm - supported
– Detected build CPU vendor - Intel
– Detected build CPU brand - Intel(R) Core™ i5-5350U CPU @ 1.80GHz
– Detected build CPU family - 6
– Detected build CPU model - 61
– Detected build CPU stepping - 4
– Detected build CPU features - aes apic avx avx2 clfsh cmov cx8 cx16 f16c fma hle htt intel lahf mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp rtm sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
– 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 - present
– 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_xCORE_AVX512_qopt_zmm_usage_high_FLAG_ACCEPTED
– Performing Test C_xCORE_AVX512_qopt_zmm_usage_high_FLAG_ACCEPTED - Failed
– Performing Test C_xCORE_AVX512_FLAG_ACCEPTED
– Performing Test C_xCORE_AVX512_FLAG_ACCEPTED - Failed
– Performing Test C_mavx512f_mfma_FLAG_ACCEPTED
– Performing Test C_mavx512f_mfma_FLAG_ACCEPTED - Success
– Performing Test C_mavx512f_mfma_COMPILE_WORKS
– Performing Test C_mavx512f_mfma_COMPILE_WORKS - Success
– Performing Test CXX_xCORE_AVX512_qopt_zmm_usage_high_FLAG_ACCEPTED
– Performing Test CXX_xCORE_AVX512_qopt_zmm_usage_high_FLAG_ACCEPTED - Failed
– Performing Test CXX_xCORE_AVX512_FLAG_ACCEPTED
– Performing Test CXX_xCORE_AVX512_FLAG_ACCEPTED - Failed
– Performing Test CXX_mavx512f_mfma_FLAG_ACCEPTED
– Performing Test CXX_mavx512f_mfma_FLAG_ACCEPTED - Success
– Performing Test CXX_mavx512f_mfma_COMPILE_WORKS
– Performing Test CXX_mavx512f_mfma_COMPILE_WORKS - Success
– Detecting flags to enable runtime detection of AVX-512 units on newer CPUs - -mavx512f -mfma
– 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 - Success
– Performing Test GMX_ICC_NEXTGEN
– Performing Test GMX_ICC_NEXTGEN - Failed
– The GROMACS-managed build of FFTW 3 will configure with the following optimizations: --enable-sse2
– Using external FFT library - FFTW3 build managed by GROMACS
– Looking for sgemm

– Looking for sgemm
- not found
– Looking for dgemm

– Looking for dgemm
- found
– Found BLAS: /System/Library/Frameworks/Accelerate.framework
– Looking for cheev

– Looking for cheev
- found
– Found LAPACK: /System/Library/Frameworks/Accelerate.framework;-lm;-ldl
– Could not convert sample image, ImageMagick convert can not be used. A possible way to fix it can be found here: …
— Found Sphinx: /opt/anaconda3/bin/sphinx-build (found suitable version “3.2.1”, minimum required is “1.6.1”) found components: pygments
– Performing Test HAVE_NO_DEPRECATED_COPY
– Performing Test HAVE_NO_DEPRECATED_COPY - Failed
– Performing Test HAS_NO_STRINGOP_TRUNCATION
– Performing Test HAS_NO_STRINGOP_TRUNCATION - Failed
– Performing Test HAS_NO_REDUNDANT_MOVE
– Performing Test HAS_NO_REDUNDANT_MOVE - 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
– Performing Test HAS_NO_CLASS_MEMACCESS
– Performing Test HAS_NO_CLASS_MEMACCESS - Failed
– Check if the system is big endian
– Searching 16 bit integer
– Searching 16 bit integer - Using unsigned short
– Check if the system is big endian - little endian
– Looking for inttypes.h
– Looking for inttypes.h - found
– Configuring done
– Generating done
– Build files have been written to: /Users/timl/Gromacs/packages/gromacs-2021.1/build

§B
(base) timls-MacBook-Air:build timl$ make -j 4
Scanning dependencies of target scanner
Scanning dependencies of target release-version-info
Scanning dependencies of target lmfit_objlib
Scanning dependencies of target fftwBuild
[ 1%] Creating directories for ‘fftwBuild’

Scanning dependencies of target tng_io_zlib
[ 1%] Built target release-version-info
[ 1%] Building C object src/gromacs/CMakeFiles/tng_io_zlib.dir/__/external/tng_io/external/zlib/adler32.c.o

Scanning dependencies of target tng_io_obj
– Downloading… done
– extracting…
src=’/Users/timl/Gromacs/packages/gromacs-2021.1/build/src/external/build-fftw/fftwBuild-prefix/src/fftw-3.3.8.tar.gz’
dst=’/Users/timl/Gromacs/packages/gromacs-2021.1/build/src/external/build-fftw/fftwBuild-prefix/src/fftwBuild’
– extracting… [tar xfz]
[ 1%] Built target scanner


/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(debug.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(f77api.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(altivec.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(avx-128-fma.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(avx.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(avx2.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(avx512.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(kcvi.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(neon.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(vsx.o) has no symbols
libtool: link: ranlib .libs/libfftw3f.a
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(debug.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(f77api.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(altivec.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(avx-128-fma.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(avx.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(avx2.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(avx512.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(kcvi.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(neon.o) has no symbols
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libfftw3f.a(vsx.o) has no symbols
libtool: link: rm -fr .libs/libfftw3f.lax .libs/libfftw3f.lax
libtool: link: ( cd “.libs” && rm -f “libfftw3f.la” && ln -s “…/libfftw3f.la” “libfftw3f.la” )
Making all in threads
Making all in tests
libtool: link: gcc -O3 -fomit-frame-pointer -mtune=native -fstrict-aliasing -o bench bench-bench.o bench-hook.o bench-fftw-bench.o …/.libs/libfftw3f.a …/libbench2/libbench2.a -lm
Making all in mpi
Making all in doc
Making all in FAQ
Making all in tools
libtool: link: gcc -O3 -fomit-frame-pointer -mtune=native -fstrict-aliasing -o fftwf-wisdom fftwf_wisdom-fftw-wisdom.o …/tests/bench-bench.o …/tests/bench-fftw-bench.o …/.libs/libfftw3f.a …/libbench2/libbench2.a -lm
Making all in m4
[ 7%] Performing install step for ‘fftwBuild’
Making install in support
Making install in kernel
Making install in simd-support
Making install in dft
Making install in scalar
Making install in codelets
Making install in simd
Making install in common
Making install in sse2
Making install in avx
Making install in avx-128-fma
Making install in avx2
Making install in avx2-128
Making install in avx512
Making install in kcvi
Making install in altivec
Making install in vsx
Making install in neon
Making install in generic-simd128
Making install in generic-simd256
Making install in rdft
Making install in scalar
Making install in r2cf
Making install in r2cb
Making install in r2r
Making install in simd
Making install in common
Making install in sse2
Making install in avx
Making install in avx-128-fma
Making install in avx2
Making install in avx2-128
Making install in avx512
Making install in kcvi
Making install in altivec
Making install in vsx
Making install in neon
Making install in generic-simd128
Making install in generic-simd256
Making install in reodft
Making install in api

Making install in m4
[ 7%] Completed ‘fftwBuild’
[ 7%] Built target fftwBuild
make: *** [all] Error 2

§C
(base) timls-MacBook-Air:build timl$ sudo make install
Password:
[ 1%] Built target fftwBuild
[ 1%] Built target scanner
[ 1%] Generating release version information
[ 1%] Built target release-version-info
[ 1%] Built target lmfit_objlib
[ 1%] Built target tng_io_zlib
[ 5%] Built target tng_io_obj
[ 7%] Built target thread_mpi
[ 7%] Built target linearalgebra
[ 7%] Building CXX object src/gromacs/modularsimulator/CMakeFiles/modularsimulator.dir/computeglobalselement.cpp.o
/Users/timl/Gromacs/packages/gromacs-2021.1/src/gromacs/modularsimulator/computeglobalselement.cpp:393:62: error: call to unavailable member function ‘value’: introduced in
macOS 10.14
return std::any_cast<ISimulatorElement*>(cachedValue.value());
~~~~~~~~^
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/optional:933:33: note: candidate function has been explicitly made
unavailable
constexpr value_type const& value() const&
^
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/optional:942:27: note: candidate function not viable: ‘this’
argument has type ‘const std::optionalstd::any’, but method is not marked const
constexpr value_type& value() &
^
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/optional:951:28: note: candidate function not viable: ‘this’
argument has type ‘const std::optionalstd::any’, but method is not marked const
constexpr value_type&& value() &&
^
/Users/timl/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/optional:960:34: note: candidate function not viable: no known
conversion from ‘const optional<…>’ to ‘const optional<…>’ for object argument
constexpr value_type const&& value() const&&
^
1 error generated.
make[2]: *** [src/gromacs/modularsimulator/CMakeFiles/modularsimulator.dir/computeglobalselement.cpp.o] Error 1
make[1]: *** [src/gromacs/modularsimulator/CMakeFiles/modularsimulator.dir/all] Error 2
make: *** [all] Error 2
(base) timls-MacBook-Air:

§D
ccmake …

BUILD_GMOCK ON
BUILD_GTEST OFF
BUILD_SHARED_LIBS ON
BUILD_TESTING ON
CMAKE_BUILD_TYPE Release
CMAKE_EXECUTABLE_FORMAT MACHO
CMAKE_INSTALL_PREFIX /usr/local/gromacs
CMAKE_OSX_ARCHITECTURES
CMAKE_OSX_DEPLOYMENT_TARGET
CMAKE_OSX_SYSROOT
CMAKE_PREFIX_PATH
GMXAPI ON
GMX_BUILD_MDRUN_ONLY OFF
GMX_CLANG_TIDY OFF
GMX_DEFAULT_SUFFIX ON
GMX_DOUBLE OFF
GMX_ENABLE_CCACHE OFF
GMX_EXTERNAL_TNG OFF
GMX_EXTERNAL_ZLIB OFF
GMX_FFT_LIBRARY fftw3
GMX_GPU OFF
GMX_HWLOC OFF
GMX_IMD ON
GMX_INSTALL_LEGACY_API OFF
GMX_INSTALL_NBLIB_API ON
GMX_MIMIC OFF
GMX_MPI OFF
GMX_OPENMP ON
GMX_SIMD AVX2_256

Indeed, the compilation simply fails. I don’t know whether it’s a problem with the AppleClang compiler that you are using not being fully up-to-date (I’ve never used it personally), perhaps someone else can fill in with more information there. The one thing I can suggest is to try a different compiler. For OSX, the installation guide suggests either a modern GCC or Intel C compiler.

It seems you are using homebrew, which can install GCC 10 as:

brew install gcc@10

You can then tell the compilation to use it with the following options to cmake:

cmake -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 [other options here]

Edit: Although do note that the guide suggests the Intel compiler for maximum performance on OSX specifically. I don’t know how to install or use that. But testing with GCC might be a good check before digging into that.

1 Like

Thanks for the suggestion. You are spot on.

I switched compiler. Cmake was fine and Make got a lot farther - 88% instead of 7%. Slowly it’s dawned on me how badly it was doing before! Now there was a different error - details below.

cmake … -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g+±10 -DGMX_BUILD_OWN_FFTW=ON -DGMX_USE_RDTSCP=ON -DGMX_SIMD=AVX2_256 -DGMX_GPU=OpenCL

started
– The C compiler identification is GNU 10.2.0
– The CXX compiler identification is GNU 10.2.0

& ended wthout error:

– Configuring done
– Generating done
– Build files have been written to: /Users/timL/Gromacs/packages/gromacs-2021.1/build

But (!!)

make -j 4

reached an error:

[ 88%] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/mdrun/mdmodules.cpp.o
/Users/timL/Gromacs/packages/gromacs-2021.1/src/gromacs/hardware/device_management_ocl.cpp: In function ‘bool gmx::runningOnCompatibleOSForAmd()’:
/Users/timL/Gromacs/packages/gromacs-2021.1/src/gromacs/hardware/device_management_ocl.cpp:79:14: error: ‘CTL_KERN’ was not declared in this scope
79 | mib[0] = CTL_KERN;
| ^~~~~~~~
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/hardware/device_management_ocl.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs…
make[1]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
make: *** [all] Error 2

The manual’s description of the file where the error occurs (device_management_ocl.cpp) is: Defines the OpenCL implementations of the device management.

I thought that maybe I should not use OpenCL.

So I left out that switch … and it worked! (e.g. both gmx & source /usr/local/gromacs/bin/GMXRC)

However, the ccmake indicates that I have no GPU (GMX_GPU… off).
Any suggestions?
My computer has
Chipset Model: Intel HD Graphics 6000
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB

Any further thoughts would be very welcome!!

Unfortunately, I don’t know much about how OpenCL works for Gromacs. Perhaps the information at this link might be of use: OpenCL GPU acceleration

It mentions one adjustment that should be made for Intel GPU’s.

Regards,
Petter

Hello,

this looks like the Apple compilers and libraries no longer support something that we relied on. Can you please open an issue for this on Gitlab? (Issues · GROMACS / GROMACS · GitLab)

Cheers

Paul

Nothing happened yet on this - should I add more detail to issue 4008?

I already opened Fix Apple OpenCL build and add to CI (!1389) · Merge requests · GROMACS / GROMACS · GitLab that fixes the issue. We are currently having trouble with our CI, but this will be merged once our CI is up and running again.