1、reaxff-kokkos-cuda编译
step1. 解压lammps软件包
step2. lammps文件夹目录下,进入src/MAKE中
cp OPTIONS/Makefile.kokkos_cuda_mpi .
vi Makefile.kokkos_cuda_mpi
修改增添上图内容,BDW对应位HOSTARCH MAXWELL50对应为GPUARCH,需要根据自己的服务器来确定,寻找网址如下:
https://ark.intel.com/content/www/us/en/ark.html#@Processors
https://docs.lammps.org/Build_extras.html#kokkos
step3. 返回src目录
make yes-kokkos
make yes-你想要的包
make kokkos_cuda_mpi -j 56 (56为编译核数)
step4. 编译完成测试
命令:mpirun -np * lmp_kokkos -k on -sf kk -pk kokkos g 1 -in system.in
单任务分配GPU任务数(*) | 1 | 2 | 3 | 4 | 5 | 10 | 20 | 30 |
---|---|---|---|---|---|---|---|---|
速度(ns/day) | 0.509 | 0.423 | 0.241 | 0.221 | 0.181 | 0.096 | 0.049 | 0.033 |
使用单核CPU配GPU,速度最快
使用20核CPU单独跑效率为 0.069 > 0.049 (20CPU+1GPU)
2、reaxff-openmp编译
step1. 解压lammps软件包
step2. lammps文件夹目录下,进入src/MAKE中
cp OPTIONS/Makefile.omp .
vi Makefile.omp
修改增添下图内容,
step3. 返回src目录
make yes-openmp
make yes-你想要的包
make omp -j 56 (56为编译核数)
3、reaxff-kokkos-cuda-openmp编译
step1. 解压lammps软件包
step2. lammps文件夹目录下,进入src/MAKE中
cp OPTIONS/Makefile.kokkos_omp .
vi Makefile.kokkos_omp
增加更改以下内容
step3. 返回src目录
make yes-openmp
make yes-kokkos
make yes-你想要的包
(推荐,manyboody, rigid, kspace, molecule)
make kokkos_omp -j 56 (56为编译核数)
4、不同编译方式的速度测试
编译方式 | 无加速 | omp | kokkos_cuda | kokkos_omp | |
---|---|---|---|---|---|
速度(ns/day) | 161.695 | 111.136 | 19.268 | 18.833 | (21个原子,四原子类型,单核,单卡) |
速度(ns/day) | 0.096 | 0.013(30核,4线程) | 0.494 | 0.501 | 13586原子,5种 |
0.423 | 0.423 |