Gromacs安装教程及一些思考

写这篇博客目的当然不是只安装一下GROMAC,而是想借这个机会思考一下认知的问题。

想起来刚上研究生的时候,要在Linux服务器上安装这个软件,当时费了好大劲,各种求助师兄,虽然安装好了,但当时的我其实没有和好的理解这个过程。这导致后面的后处理算法也没有精深,只是在师兄的代码上进行一些改动。这次就借这个机会重温一下这个过程,了解一下当了解一个新的东西时,我们要做多少功课才能相对比较全面深入的了解这个问题。

gromacs下载地址:https://manual.gromacs.org/documentation/

gromacs官方安装指南:https://manual.gromacs.org/documentation/2021.5/install-guide/index.html

整个过程在阿里云服务器下进行。


最简单的安装方法

按照官方教程:

tar xfz gromacs-2021.5.tar.gz
cd gromacs-2021.5
mkdir build
cd build
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON
make
make check
sudo make install
source /usr/local/gromacs/bin/GMXRC

只要按照这些命令,就可以将gromacs安装好。

当然如果你要定制化安装,那就要更加详细的了解gromacs了。

我们需要了解下面的东西:

  • 支持的平台

  • 不同编译器及版本

  • 并行计算

    • GPU

    • MPI

  • cmake

  • Fast Fourier Transform library

    • FFTW
    • MKL

大概了解了这些之后,我们就要了结合这些了解和cmake来定制化我们的安装过程。

如果对应到上面的安装命令,那就是对下面这句命令进行适应性更改:

cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON

下面我们一个一个的介绍这些。

如果不想把gromacs安装到默认的目录,想要自定义安装目录,可以在cmake命令后面加-DCMAKE_INSTALL_PREFIX=/home/marydoe/programs,加下划线的就是你想自定义安装的目录。

cmake .. -DCMAKE_INSTALL_PREFIX=/home/marydoe/programs

如果发现cmake找不到一些库文件和头文件,可以使用下面的参数:

  • CMAKE_INCLUDE_PATH for header files
  • CMAKE_LIBRARY_PATH for libraries
  • CMAKE_PREFIX_PATH for header, libraries and binaries (e.g. /usr/local).

如果想使用GPU加速,可以使用下面的参数:

cmake .. -DGMX_GPU=CUDA -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda

这个需要我们提前安装好cuda。

如果不是Nvdia的显卡,是AMD或者Intel的显卡,我们就不能使用CUDA了,这时我们可以使用OpenCL来加速。可以使用下面的命令:

cmake .. -DGMX_GPU=OpenCL 
cmake .. -DGMX_GPU=OpenCL -DGMX_OPENCL_NB_CLUSTER_SIZE=4
cmake .. -DGMX_GPU=OpenCL -DclFFT_ROOT_DIR=/path/to/your/clFFT -DGMX_EXTERNAL_CLFFT=TRUE

上面的几种命令行情况需要根据不同的情况去使用。

一般来说,gromacs的安装都是使用的动态链接,如果你想使用静态链接,那可以参考下面的使用方法。

Dynamic linking of the GROMACS executables will lead to a smaller disk footprint when installed, and so is the default on platforms where we believe it has been tested repeatedly and found to work. In general, this includes Linux, Windows, Mac OS X and BSD systems. Static binaries take more space, but on some hardware and/or under some conditions they are necessary, most commonly when you are running a parallel simulation using MPI libraries (e.g. Cray).

  • To link GROMACS binaries statically against the internal GROMACS libraries, set -DBUILD_SHARED_LIBS=OFF.
  • To link statically against external (non-system) libraries as well, set -DGMX_PREFER_STATIC_LIBS=ON. Note, that in general cmake picks up whatever is available, so this option only instructs cmake to prefer static libraries when both static and shared are available. If no static version of an external library is available, even when the aforementioned option is ON, the shared library will be used. Also note that the resulting binaries will still be dynamically linked against system libraries on platforms where that is the default. To use static system libraries, additional compiler/linker flags are necessary, e.g. -static-libgcc -static-libstdc++.
  • To attempt to link a fully static binary set -DGMX_BUILD_SHARED_EXE=OFF. This will prevent CMake from explicitly setting any dynamic linking flags. This option also sets -DBUILD_SHARED_LIBS=OFF and -DGMX_PREFER_STATIC_LIBS=ON by default, but the above caveats apply. For compilers which don’t default to static linking, the required flags have to be specified. On Linux, this is usually CFLAGS=-static CXXFLAGS=-static.

这次重新看gromacs的安装过程,发现如果想要对gromacs有一个非常深入的理解的话,那需要有不错的计算机基础(果然计算机是YYDS)。

当然这次重新看gromacs的安装教程,又让我不禁感叹英文manual讲的详细又清楚。以前因为自己英语的原因,好像总有点对英文材料有点抗拒,倒不是看不懂,而是没有看中文材料那么清晰和迅速。这次也让我重新了解到阅读英文材料的重要性,尤其是有关计算机,开源软件的使用等方面。


为了内容的完整性,在安装完gromacs之后,我们安装惯例来对gromacs的使用进行一点了解。

gromacs User guide官方地址:https://manual.gromacs.org/documentation/2021.5/user-guide/index.html

安装好gromacs之后,在命令行中键入

gmx -version

来测试一下是否正确安装了gromacs。以我的为例,我在键入gmx -version之后,显示的信息如下:

                         :-) GROMACS - gmx, 2021.5 (-:

                            GROMACS is written by:
     Andrey Alekseenko              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      
    Gilles Gouaillardet             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 (c) 1991-2000, University of Groningen, The Netherlands.
Copyright (c) 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 2021.5
Executable:   /usr/local/gromacs/bin/gmx
Data prefix:  /usr/local/gromacs
Working dir:  /code/gromacs-2021.5/build
Command line:
  gmx -version

GROMACS version:    2021.5
Precision:          mixed
Memory model:       64 bit
MPI library:        thread_mpi
OpenMP support:     enabled (GMX_OPENMP_MAX_THREADS = 64)
GPU support:        disabled
SIMD instructions:  AVX_512
FFT library:        fftw-3.3.8-sse2-avx-avx2-avx2_128-avx512
RDTSCP usage:       enabled
TNG support:        enabled
Hwloc support:      disabled
Tracing support:    disabled
C compiler:         /usr/bin/cc GNU 9.3.0
C compiler flags:   -mavx512f -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -O3 -DNDEBUG
C++ compiler:       /usr/bin/c++ GNU 9.3.0
C++ compiler flags: -mavx512f -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -fopenmp -O3 -DNDEBUG

可以看到这些信息包括了开发人员(感谢),gromacs软件版本,安装目录,以及对一些库的支持情况,C/C++编译器版本等。这时我们可以知道我们的gromacs安装成功了。


如果再让我读一次研究生,我会坚决的润去计算机,如果必须要读原专业的话,我会先学好计算机基础,然后把gromacs的安装指南和用户手册翻译一下写在博客上,然后深入去了解对轨迹分析的算法,而不是在对建模上花时间。

这让我不禁想起了之前我的一个观点:如果你没有认为之间的自己是傻逼,那你这段时间就没有进步。人在每段时间都很难有高于最适合自己现阶段的认知,因此我有时会很惶恐,是否过段时间的我再来看现在的我,也会觉得现在自己的选择不好,觉得现在的我是傻逼。

当然,事在人为,从之前的经历来看,把现阶段的每件事做好,是我们在不确定中能够把握的事情。提高认知,破圈,多了解不同的领域(不是看科普的那种了解,至少要在电脑前静下心来认知了解几个小时,最好能有总结了解的文章输出)可能是很好的方法,找大牛了解可能也很有用,注意和大牛建立链接。

  • 19
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
当然,我可以帮您解答关于GROMACS的安装教程。以下是在Linux系统上安装GROMACS的一般步骤: 1. 前提条件: 确保您的系统满足以下要求: - C和C++编译器(例如GCC) - MPI库(例如OpenMPI) - FFTW库(至少需要3.3版本) - CMake(至少需要3.12版本) 2. 下载GROMACS: 前往GROMACS官方网站(https://www.gromacs.org/)下载最新版本的GROMACS。您可以选择源代码版本或预编译版本,根据需要选择适合的版本。 3. 解压源代码: 如果您下载的是源代码版本,解压下载的压缩包到您选择的文件夹中。 4. 创建构建目录: 在解压缩文件夹外创建一个新的文件夹,用于构建GROMACS。 5. 运行CMake: 在构建目录中运行CMake来配置GROMACS的安装。您可以使用以下命令: ``` cmake /path/to/gromacs/source -DGMX_BUILD_OWN_FFTW=ON ``` 其中`/path/to/gromacs/source`是您解压的源代码文件夹的路径。 6. 编译和安装: 运行以下命令编译和安装GROMACS: ``` make sudo make install ``` 这些命令将会编译并安装GROMACS到系统默认的安装目录。 7. 配置环境变量: 为了能够在任何位置使用GROMACS命令,您需要将GROMACS的安装路径添加到系统的环境变量中。您可以在`.bashrc`或`.bash_profile`文件中添加以下行: ``` export PATH=/path/to/gromacs/bin:$PATH export LD_LIBRARY_PATH=/path/to/gromacs/lib:$LD_LIBRARY_PATH ``` 将`/path/to/gromacs`替换为实际的安装路径。 完成上述步骤后,您应该成功地安装了GROMACS。您现在可以在终端中使用GROMACS命令进行模拟和分析了。 请注意,这只是一般的安装过程,并且可能因您使用的操作系统和软件版本而有所不同。建议您参考GROMACS官方文档以获取更详细和准确的安装指南。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小熊coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值