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
cmake .. -DCMAKE_INSTALL_PREFIX=/home/marydoe/programs
如果发现cmake找不到一些库文件和头文件,可以使用下面的参数:
CMAKE_INCLUDE_PATH
for header filesCMAKE_LIBRARY_PATH
for librariesCMAKE_PREFIX_PATH
for header, libraries and binaries (e.g./usr/local
).
cmake .. -DGMX_GPU=CUDA -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/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的安装都是使用的动态链接,如果你想使用静态链接,那可以参考下面的使用方法。
- 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 generalcmake
picks up whatever is available, so this option only instructscmake
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 isON
, 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 usuallyCFLAGS=-static CXXFLAGS=-static
.
这次重新看gromacs的安装过程,发现如果想要对gromacs有一个非常深入的理解的话,那需要有不错的计算机基础(果然计算机是YYDS)。
为了内容的完整性,在安装完gromacs之后,我们安装惯例来对gromacs的使用进行一点了解。
gromacs User guide官方地址:https://manual.gromacs.org/documentation/2021.5/user-guide/index.html
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 SpoelCopyright (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 -versionGROMACS 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安装教程及一些思考相关推荐
- 从零开始学黑苹果-基础安装教程(10.11.6)
[本文转载自]蒋古申 本文目录: 1. Hackintosh 简介与心得 2. U盘安装原版 OS X 10.11.6步骤 安装U盘的制作 Clover 引导安装 3. macOS 的安装 4. 驱动 ...
- MindManager2020Mac中文版专业思维导图激活安装教程
MindManager for mac是Mac平台上一款功能强大的强大思维导图软件,MindManager mac版是专为Mac用户创建头脑风暴,捕捉你的想法,为您规划信息的一款思维导图.MindMa ...
- oracle 11g安装教程完整版
64位WIN7+oracle11g+plsql安装 上部转自Oracle 11g R2 for Win7旗舰版(64位)的安装步骤 1.下载Oracle 11g R2 for Windows的版本 下 ...
- Gromacs安装使用
Gromacs是良好大分子分子动力学模拟软件 ,鉴于当前网络上关于此软件的使用说明及介绍很少,对于象我这样的初学者来说,有很大困难,所以根据我十天以来的安装和使用体会,借着酒劲写下以下的东西,为以后使 ...
- Ubuntu 18.04 LTS 安装教程
Ubuntu 18.04 LTS 安装教程 前言 下载并安装系统 第一次启动时报错 更换镜像源 重装系统 搜索不到WIFI信号 报错:ucsi_acpi usbc000:00: PPM initial ...
- 【网站汇总】安装教程系列
目录 1.Anaconda 2.Pytorch 3.Tensorflow 4.LaTeX 5.博客搭建 1.Anaconda [CV]Anaconda 安装教程_Fannnnf的博客-CSDN博客 2 ...
- oracle 11g完全安装教程(CentOS)
oracle下载链接:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html oracle ...
- vs安装一直在提取文件_Visual Studio 2019下载及安装教程
宸1分钟前 这可是我珍藏多年的资源啊. Visual Studio 2019 Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品.是目前最流行的Windows ...
- 这套完美的Java环境安装教程,完整,详细,清晰可观,让你一目了然,简单易懂。⊙﹏⊙...
JDK下载与安装教程 2017年06月18日 22:53:16 Danishlyy1995 阅读数:349980 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...
最新文章
- kaggle之数据分析从业者用户画像分析
- Sql Server插入数据并返回自增ID,@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的区别
- LoadRunner学习笔记(一)
- 针对Web应用的【攻击模式篇】
- 夏天雷雨天机房断电了,该怎么办?,叫你几招紧急应对方法
- 字节/阿里/ 百度2021年Java岗发布+最新内部面试题
- BAT教程 :第六节(if命令讲解)
- Chapter 5:Spectral-Subtractive Algorithms
- IOS Table中Cell的重用reuse机制分析
- Stream流的基本使用方法
- [css] 一个项目中有很多无用的css代码,怎么找到并清除这些无用的代码?
- 为什么说时代在召唤华为!
- .NET框架怎样解决DLL Hell问题?
- 入门 | 机器学习中常用的损失函数你知多少?
- 内网通3.4.3045版本 免广告码 积分码 算法
- linux把目录打包和压缩文件,Linux文件压缩和打包
- 饥荒联机版把服务器删掉了怎么找回,饥荒联机服务器角色存档删除 | 手游网游页游攻略大全...
- python爬虫阶段性总结和项目实操——爬取猫眼票房Top100
- SSS1700 QFN36单芯片设计一款USB Typec耳机|支持线控和欧美规自动切换USB耳机方案
- 【quill-editor】富文本编辑器对图片的放大缩小拖拽的实现
热门文章
- 融云X-Meetup南京站 探讨实时通信架构的高质量设计
- leetcode系列-14. 最长公共前缀
- 10个让你早起的技巧
- 关于Pandas replace 函数的使用
- mvc ajax异常,使用SpringMVC的controller中能获取数据但直接跳到异常页面,使用Ajax。...
- Android连接WiFi设置IP为静态IP
- 简单了解Ruby与自学教程
- leetcode 792 匹配子序列的单词数(哈希表+双指针)
- apex图表使用饼图居中_使用Word制作财务报表分析报告
- 56个民族的下拉菜单