Centos + CUDA + Kokkos 安装 Lammps

文章目录[隐藏]

前提是已经装好cuda以及驱动。

安装过程

首先安装依赖:

yum groupinstall "Development Tools"
yum install cmakeyum install gcc-c++
yum install gcc-gfortran


对于minimal安装的centOS,只需安装第一个,Ubuntu是apt install build-essential

第一步:安装fftw
fftw,如果不装自己制定的版本的话,会从lammps自带的快速傅里叶变换中编译,速度和表现都是一样的。所以我选择不装。

第二步:安装openmpi

yum list openmpi*

没看到官网的mpi4.所以老方法。

下载地址: https://www.open-mpi.org/software/ompi

教程:https://www.open-mpi.org/faq/?category=building#easy-build

shell$ gunzip -c openmpi-4.0.1.tar.gz | tar xf -
shell$ cd openmpi-4.0.1
shell$ ./configure --prefix=/usr/local
<...lots of output...>
shell$ make all install

以上默认安装手段。但是由于要显卡加速,所以要配合cuda,编译时加命令(记得修改cuda版本

三步:设置fftw和openmpi全局环境变量,此步骤很重要!!否则运算会出现无法加载共享库的错误。              

 (好像在这里,由于/usr/local本来就是用户的环境变量,似乎是不需要的)

第四步:安装lammpshttps://github.com/lammps/lammps/releases
截止2019年6月5日,下载 Stable release 5 June 2019版本

修改编辑配置文件,在src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi里根据自己的显卡型号进行修改:找到自己显卡支持的版本,在这个网站: https://www.techpowerup.com/gpu-specs/

接着去 https://github.com/kokkos/kokkos/wiki/Compiling查看

注意到

搜索cpu型号进行尝试 https://ark.intel.com/content/www/us/en/ark.html#@Processors

与之对应的

再编译Lammps:先查看之前安装了哪些包

在默认的情况下,lammps安装了三个标准包, KSPACE, MANYBODY, MOLECULE.GIRID用于动量交换法实现温度梯度。

cd srcmake clean-all
make no-allmake no-lib
make yes-KSPACE yes-MANYBODY yes-MOLECULE yes-kokkos
(a lot of outputs

最后安装:

不知道为什么,修改etc/profile环境变量总是不对只能去改 ~/.bashrc 指定某几个核心进行计算

mpirun -np 4 --cpu-set 8,9,10,11 lmp_mpi -sf gpu -pk gpu 2 -in test.in 

mpirun --allow-run-as-root -n 4 --map-by core lmp_kokkos_cuda_mpi -k on g 2 t 14 -sf kk -pk kokkos binsize 2.8  -in in.lj 

参数解释:
-kokkos on/off … : turn KOKKOS mode on or off (-k) , g 2 t 2分别表示 2块 GPU,每个进程包含 2个线程。
-package style … : invoke package command (-pk) -suffix gpu/intel/opt/omp : style suffix to apply (-sf)

更多的参数可以运行 lmp_kokkos_cuda_mpi -h查阅。

David_Li

我还没有学会写个人说明!

相关推荐

2 条评论

  1. Chengbin huang

    还是没有搞懂应该怎么安装,我这安装一直报错,可以加一个好友吗?