写这篇博客目的当然不是只安装一下GROMAC,而是想借这个机会思考一下认知的问题。
想起来刚上研究生的时候,要在Linux服务器上安装这个软件,当时费了好大劲,各种求助师兄,虽然安装好了,但当时的我其实没有和好的理解这个过程。这导致后面的后处理算法也没有精深,只是在师兄的代码上进行一些改动。这次就借这个机会重温一下这个过程,了解一下当了解一个新的东西时,我们要做多少功课才能相对比较全面深入的了解这个问题。
gromacs下载地址:https://manual.gromacs.org/documentation/
gromacs官方安装指南:https://manual.gromacs.org/documentation/2021.5/install-guide/index.html
整个过程在阿里云服务器下进行。
最简单的安装方法
按照官方教程:
只要按照这些命令,就可以将gromacs安装好。
当然如果你要定制化安装,那就要更加详细的了解gromacs了。
我们需要了解下面的东西:
-
支持的平台
-
不同编译器及版本
-
并行计算
-
GPU
-
MPI
-
-
cmake
-
Fast Fourier Transform library
-
FFTW
-
MKL
-
大概了解了这些之后,我们就要了结合这些了解和cmake来定制化我们的安装过程。
如果对应到上面的安装命令,那就是对下面这句命令进行适应性更改:
下面我们一个一个的介绍这些。
如果不想把gromacs安装到默认的目录,想要自定义安装目录,可以在cmake命令后面加-DCMAKE_INSTALL_PREFIX=/home/marydoe/programs,加下划线的就是你想自定义安装的目录。
如果发现cmake找不到一些库文件和头文件,可以使用下面的参数:
- for header files
- for libraries
- for header, libraries and binaries (e.g. ).
如果想使用GPU加速,可以使用下面的参数:
这个需要我们提前安装好cuda。
如果不是Nvdia的显卡,是AMD或者Intel的显卡,我们就不能使用CUDA了,这时我们可以使用OpenCL来加速。可以使用下面的命令:
上面的几种命令行情况需要根据不同的情况去使用。
一般来说,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 .
- To link statically against external (non-system) libraries as well, set . Note, that in general picks up whatever is available, so this option only instructs 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 , 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. .
- To attempt to link a fully static binary set . This will prevent CMake from explicitly setting any dynamic linking flags. This option also sets and 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 .
这次重新看gromacs的安装过程,发现如果想要对gromacs有一个非常深入的理解的话,那需要有不错的计算机基础(果然计算机是YYDS)。
当然这次重新看gromacs的安装教程,又让我不禁感叹英文manual讲的详细又清楚。以前因为自己英语的原因,好像总有点对英文材料有点抗拒,倒不是看不懂,而是没有看中文材料那么清晰和迅速。这次也让我重新了解到阅读英文材料的重要性,尤其是有关计算机,开源软件的使用等方面。
为了内容的完整性,在安装完gromacs之后,我们安装惯例来对gromacs的使用进行一点了解。
gromacs User guide官方地址:https://manual.gromacs.org/documentation/2021.5/user-guide/index.html
安装好gromacs之后,在命令行中键入
来测试一下是否正确安装了gromacs。以我的为例,我在键入gmx -version之后,显示的信息如下:
可以看到这些信息包括了开发人员(感谢),gromacs软件版本,安装目录,以及对一些库的支持情况,C/C++编译器版本等。这时我们可以知道我们的gromacs安装成功了。
如果再让我读一次研究生,我会坚决的润去计算机,如果必须要读原专业的话,我会先学好计算机基础,然后把gromacs的安装指南和用户手册翻译一下写在博客上,然后深入去了解对轨迹分析的算法,而不是在对建模上花时间。
这让我不禁想起了之前我的一个观点:如果你没有认为之间的自己是傻逼,那你这段时间就没有进步。人在每段时间都很难有高于最适合自己现阶段的认知,因此我有时会很惶恐,是否过段时间的我再来看现在的我,也会觉得现在自己的选择不好,觉得现在的我是傻逼。
当然,事在人为,从之前的经历来看,把现阶段的每件事做好,是我们在不确定中能够把握的事情。提高认知,破圈,多了解不同的领域(不是看科普的那种了解,至少要在电脑前静下心来认知了解几个小时,最好能有总结了解的文章输出)可能是很好的方法,找大牛了解可能也很有用,注意和大牛建立链接。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!