|
|
补充说明一下,正好最近在做LAMMPS-GPU效率的相关测试。
1. 感知上从2018年开始,LAMMPS与GROMACS在GPU加速这一块的差距被拉大了,GROMACS现在在做一般任务时显著快于LAMMPS。
这其中的原因主要在于目前的GROMACS能够把大多数操作放到GPU上去做,包括但不限于-pme, -pmefft, -nb, -bonded, -update。但是lammps里从bond到dihedral并没有很多函数可以放到GPU上去计算,neighborlist更新也没有明显地看到放到GPU计算的关键词(lmp -h > test.txt,检索关键字neigh 或 modify,没看到相应gpu加速关键词)。
2. 在有双精度特化的计算卡(如A100, V100, A30等)时候,请优先选择KOKKOS搭配GPU加速,这是因为有一部分成键势是KOKKOS PACKAGE支持的(如bond_style harmonic/kk, angle_style harmonic/kk),但仍然有很多不支持,如gaff对应的proper和improper二面角。
3. 在GPU PACKAGE下,单卡+多核效率需要测试。正如前面所说,一部分更新是放到CPU计算的,需要同时测MPI+OMP的数量。 根据体系是不一样的,这主要在于哪些部分可以放到GPU上计算。哪些需要多核CPU。像我目前的体系竟然是这个最快:mpirun -n 4 lmp -sf gpu -pk gpu 1 opm 2 <input.in>output.out
4. 正是因为KOKKOS的一些成键势能是不支持的,所以有时KOKKOS GPU会更慢。 |
|