Error in installation of Drude-compatible Gromacs

GROMACS version: git repository
GROMACS modification: No

Dear all,

I’m trying to install gromacs with the drude branch from the git repository but I found a few errors I can’t solve. First, I used:

git clone git@gitlab.com:gromacs/gromacs.git
cd gromacs
git checkout drude

And got:

Branch drude set up to track remote branch drude from origin.
Switched to a new branch ‘drude’

Then I tried to compile as any other version of gromacs, but I had to add a few flags because I was getting an error about the GMX_SIMD. I ended up using:

cmake .. -DCMAKE_INSTALL_PREFIX=/home/afrs/ -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=CUDA -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.2 -DCMAKE_C_COMPILER=/opt/ohpc/pub/compiler/gcc/8.3.0/bin/gcc -DCMAKE_CXX_COMPILER=/opt/ohpc/pub/compiler/gcc/8.3.0/bin/g++ -DGMX_SIMD=None -DNVML_INCLUDE_DIR=/usr/cuda/include -DCMAKE_BUILD_TYPE=Release -DNVML_LIBRARY=/usr/cuda/lib64/stubs/libnvidia-ml.so

And I got:


-- Performing Test HAS_NO_UNUSED_VARIABLE
-- Performing Test HAS_NO_UNUSED_VARIABLE - Success
-- 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
-- Performing Test HAS_NO_UNUSED_PARAMETER
-- Performing Test HAS_NO_UNUSED_PARAMETER - Success
-- Performing Test HAS_NO_DEPRECATED_REGISTER
-- Performing Test HAS_NO_DEPRECATED_REGISTER - Success
Downloading: http://gerrit.gromacs.org/snapshot/refs/heads/master
-- [download 100% complete]
-- [download 0% complete]
CMake Error at tests/CMakeLists.txt:57 (message):
  error: downloading 'http://gerrit.gromacs.org/snapshot/refs/heads/master'
  failed

  status_code: 22

  status_string: "HTTP response code said error"

  log: Trying 130.237.11.134:80...

    Trying 2001:6b0:1:1191:9a03:9bff:fe1e:e668:80...

  Immediate connect fail for 2001:6b0:1:1191:9a03:9bff:fe1e:e668: Network is
  unreachable

  Connected to gerrit.gromacs.org (130.237.11.134) port 80 (#0)

  GET /snapshot/refs/heads/master HTTP/1.1

  Host: gerrit.gromacs.org

  User-Agent: curl/7.71.1

  Accept: */*

  

  Mark bundle as not supporting multiuse

  HTTP/1.1 301 Moved Permanently

  Server: nginx/1.18.0 (Ubuntu)

  Date: Mon, 28 Mar 2022 07:26:27 GMT

  Content-Type: text/html

  Content-Length: 178

  Connection: keep-alive

  Location: https://gerrit.gromacs.org/snapshot/refs/heads/master

  

  Ignoring the response-body

  [178 bytes data]

  Connection #0 to host gerrit.gromacs.org left intact

  Issue another request to this URL:
  'https://gerrit.gromacs.org/snapshot/refs/heads/master'

    Trying 130.237.11.134:443...
    Trying 2001:6b0:1:1191:9a03:9bff:fe1e:e668:443...

  Immediate connect fail for 2001:6b0:1:1191:9a03:9bff:fe1e:e668: Network is
  unreachable

  Connected to gerrit.gromacs.org (130.237.11.134) port 443 (#1)

  ALPN, offering h2

  ALPN, offering http/1.1

  TLSv1.0 (OUT), TLS header, Certificate Status (22):

  [5 bytes data]

  TLSv1.3 (OUT), TLS handshake, Client hello (1):

  [512 bytes data]

  TLSv1.2 (IN), TLS header, Certificate Status (22):

  [5 bytes data]

  TLSv1.3 (IN), TLS handshake, Server hello (2):

  [122 bytes data]

  TLSv1.2 (IN), TLS header, Finished (20):

  [5 bytes data]

  TLSv1.2 (IN), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):

  [25 bytes data]

  TLSv1.2 (IN), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  TLSv1.3 (IN), TLS handshake, Certificate (11):

  [4069 bytes data]

  TLSv1.2 (IN), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  TLSv1.3 (IN), TLS handshake, CERT verify (15):

  [264 bytes data]

  TLSv1.2 (IN), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  TLSv1.3 (IN), TLS handshake, Finished (20):

  [52 bytes data]

  TLSv1.2 (OUT), TLS header, Finished (20):

  [5 bytes data]

  TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):

  [1 bytes data]

  TLSv1.2 (OUT), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  TLSv1.3 (OUT), TLS handshake, Finished (20):

  [52 bytes data]

  SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384

  ALPN, server accepted to use http/1.1

  Server certificate:

   subject: CN=gerrit.gromacs.org
   start date: Jan 23 22:34:35 2022 GMT
   expire date: Apr 23 22:34:34 2022 GMT
   subjectAltName: host "gerrit.gromacs.org" matched cert's "gerrit.gromacs.org"
   issuer: C=US; O=Let's Encrypt; CN=R3
   SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.

  TLSv1.2 (OUT), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  GET /snapshot/refs/heads/master HTTP/1.1

  Host: gerrit.gromacs.org

  User-Agent: curl/7.71.1

  Accept: */*

  

  TLSv1.2 (IN), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):

  [281 bytes data]

  TLSv1.2 (IN), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):

  [281 bytes data]

  old SSL session ID is stale, removing

  TLSv1.2 (IN), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  Mark bundle as not supporting multiuse

  HTTP/1.1 403 Forbidden

  Server: nginx/1.18.0 (Ubuntu)

  Date: Mon, 28 Mar 2022 07:26:28 GMT

  Content-Type: text/html

  Content-Length: 162

  Connection: keep-alive

  The requested URL returned error: 403

  Closing connection 1

  TLSv1.2 (OUT), TLS header, Supplemental data (23):

  [5 bytes data]

  [1 bytes data]

  TLSv1.3 (OUT), TLS alert, close notify (256):

  [2 bytes data]



-- Configuring incomplete, errors occurred!

I supposed it couldn’t download the regression tests from gerrit.gromacs.org, as I saw the CMakeLists.txt in the master is updated to use:

REGRESSIONTEST_URL https://gitlab.com/gromacs/gromacs-regressiontests/-/archive/${REGRESSIONTEST_BRANCH}/gromacs-regressiontests-${REGRESSIONTEST_BRANCH}.tar.gz)

But I’m not sure if I can just replace the file in the drude branch with this one from the master.

So I downloaded the tests from the newest release and added this flag:

-DREGRESSIONTEST_PATH=/home/afrs/gromacs/regressiontests-2022

The configuration can be done, but when I use make, I get the following:

**Scanning dependencies of target mdrun_objlib**

[ 0%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/md.cpp.o

[ 0%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/mdrun.cpp.o

[ 0%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/membed.cpp.o

[ 0%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/repl_ex.cpp.o

[ 0%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/resource-division.cpp.o

[ 0%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/runner.cpp.o

[ 0%] Built target mdrun_objlib

**Scanning dependencies of target git-version-info**

[ 0%] **Generating git version information**

[ 0%] Built target git-version-info

[ 0%] **Generating baseversion-gen.c**

[ 1%] **Building NVCC (Device) object src/gromacs/CMakeFiles/libgromacs.dir/mdlib/nbnxn_cuda/libgromacs_generated_nbnxn_cuda.cu.o**

nvcc fatal : Unsupported gpu architecture 'compute_20'

CMake Error at libgromacs_generated_nbnxn_cuda.cu.o.Release.cmake:216 (message):

Error generating

/home/afrs/gromacs/build/src/gromacs/CMakeFiles/libgromacs.dir/mdlib/nbnxn_cuda/./libgromacs_generated_nbnxn_cuda.cu.o

make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/mdlib/nbnxn_cuda/libgromacs_generated_nbnxn_cuda.cu.o] Error 1

make[1]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2

make: *** [all] Error 2

I’m not sure whether this error is related to the fact that I used the regression tests from a released version or there is an incompatibility between the code and the hardware I’m using.

Does anyone have any suggestions on how to solve these problems?

Thank you very much!