# 1號 Gromacs
* 沒有使用hwloc
hwloc -顯示CPU拓撲,比較方面地查看CPU各級緩存以及各個核、物理CPU之間,可以共享哪一級別的CPU cache便攜式硬件位置(hwloc)軟件包提供了便攜式抽象(跨操作系統,版本,體系結構等)現代體系結構的分層拓撲結構,包括NUMA內存節點,共享緩存,處理器插槽,處理器內核和處理單元(邏輯處理器或“線程”)。
它也聚集各種系統屬性,例如緩存和內存信息。主要是旨在幫助應用程序收集有關現代的信息計算硬件,以便相應有效地利用它。
hwloc可以多種方便的格式顯示拓撲。它還提供了強大的編程接口(C API)來收集信息有關硬件,綁定進程等的更多信息。
## GROMACS 運行

1. 首先下載所需蛋白結構文件,為PDB文件。
2. 用pdg2gmx 獲得拓普文件。
* 拓譜文件 - 包含了模擬中定義一個分子的所有必需信息。
3. 定義盒子即進行填充溶劑、離子,使其達到能量最小化。
4. 開始模擬動力學之前,必須平衡蛋白質周圍的溶劑和離子。
5. 成品模擬。
## 安裝流程
使用 intel mpi 編譯 及 mkl 函式庫
### cmake
```
mkdir /usr/local/cmake
cd /usr/local/cmake/
wget https://github.com/Kitware/CMake/releases/download/v3.20.0-rc2/cmake-3.20.0-rc2.tar.gz
tar xvf cmake-3.20.0-rc2.tar.gz
cd cmake-3.20.0-rc2/
./bootstrap --prefix=/usr/local/cmake
gmake -j16
gmake install
cmake --version
export PATH=/home/nckuhpclab08/cmake/cmake320rc2/bin:$PATH
```
### gcc & openmpi
```
module load gcc/9.3.0
module load mpi/openmpi-4.0.5/gcc930
```
### mkl (函式庫)
問題解決
http://cdlc.cau.ac.kr/Gromacs/966
https://blog.csdn.net/arackethis/article/details/43488021
https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl/link-line-advisor.html
http://cdlc.cau.ac.kr/Gromacs/966
```
module load intel/2018_u1
module show intel/2018_u1
export MKLROOT=/pkg/intel/2018_u1/compilers_and_libraries_2018.1.163/linux/mkl
```
### configure and install
```
cmake -DGMX_FFT_LIBRARY=mkl -DMKL_LIBRARIES=$MKLROOT/lib/intel64/libmkl_rt.so -DMKL_INCLUDE_DIR=$MKLROOT/include -DGMX_SIMD=AVX2_256 -DGMX_MPI=ON -DGMX_OPENMP=ON -DGMX_BUILD_MDRUN_ONLY=ON -DBUILD_SHARED_LIBS=ON -DGMX_DOUBLE=OFF -DGMX_GPU=OFF -DGMX_HWLOC=OFF -DCMAKE_INSTALL_PREFIX=/home/nckuhpclab08/gromacs-2020.2/gromacs2020.5-avx2 -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_BUILD_TYPE=Release -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_VERBOSE_MAKEFILE=TRUE ..
make
make check
make install
export PATH=/home/nckuhpclab08/gromacs-2020.2/gromacs2020.5-avx2/bin:$PATH
```
###### tags: `gromacs`