计算化学公社

标题: WSL2下Kokkos版加速的Lammps的cmake编译 [打印本页]

作者
Author:
funok    时间: 2023-4-15 20:02
标题: WSL2下Kokkos版加速的Lammps的cmake编译
本帖最后由 funok 于 2023-4-15 20:26 编辑

ReaxFF的GPU加速需要使用kokkos包


参考链接:
http://bbs.keinsci.com/thread-27603-1-1.html
http://bbs.keinsci.com/forum.php ... 25516&fromuid=21856
https://github.com/Roy-Kid/lammpscn/issues/10
https://docs.lammps.org/Build_extras.html#kokkoshttps://blog.csdn.net/hdpai2018/article/details/106719860



系统:Win11   WSL2使用Ubuntu18.04.5

1.windows下安装显卡驱动
2.打开WSL,VM,Hyper-V
参考链接:https://zhuanlan.zhihu.com/p/536771749
3.配置环境
sudo apt-get install gcc;
sudo apt-get install g++;
sudo apt-get install gfortran;
sudo apt-get install libfftw3*
sudo apt-get install mpi-default-*
4.手动安装cmake-3.21.5
参考链接:https://zhuanlan.zhihu.com/p/519732843
https://cmake.org/files/v3.21/

sudo apt-get -y install libssl-dev
解压源代码,./configure
make
make install
安装到默认位置/usr/local
5.安装cuda-toolkit
参考链接:https://developer.nvidia.com/cud ... rget_type=deb_local

wget https://developer.download.nvidi ... cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidi ... _12.1.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda


添加环境变量
####cuda
export PATH=$PATH:/usr/local/cuda-12.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64

(安装之后,最后会输出有关optix以及libcuda.so.1 is not a symbolic link的报错,可直接忽略,使用自带RDX例子测试未发现存在影响)


6.安装lammps
wget https://download.lammps.org/tars/lammps-stable.tar.gz

mkdir build-kokkos-cuda
cd build-kokkos-cuda
cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake


(修改kokkos-cuda.cmake文件,把‘set(Kokkos_ARCH_MAXWELL50 on CACHE BOOL "" FORCE)’中的MAXWELL50根据manual (https://lammps.sandia.gov/doc/Build_extras.html#kokkos) 的说明改为自己显卡对应的Arch-ID)

cmake -D BUILD_MPI=yes -D PKG_ASPHERE=on -D PKG_BOCS=on -D PKG_BODY=on -D PKG_BROWNIAN=on -D PKG_CG-SDK=on -D PKG_CLASS2=on -D PKG_COLLOID=on -D PKG_CORESHELL=on -D PKG_DIELECTRIC=on -D PKG_DIFFRACTION=on -D PKG_DIPOLE=on -D PKG_DPD-BASIC=on -D PKG_DPD-MESO=on -D PKG_DPD-REACT=on -D PKG_DPD-SMOOTH=on -D PKG_DRUDE=on -D PKG_EFF=on -D PKG_EXTRA-COMPUTE=on -D PKG_EXTRA-DUMP=on -D PKG_EXTRA-FIX=on -D PKG_EXTRA-MOLECULE=on -D PKG_EXTRA-PAIR=on -D PKG_FEP=on -D PKG_GRANULAR=on -D PKG_KSPACE=on -D PKG_MANIFOLD=on -D PKG_MANYBODY=on -D PKG_MC=on -D PKG_MEAM=on -D PKG_MGPT=on -D PKG_MISC=on -D PKG_ML-IAP=on -D PKG_ML-SNAP=on -D PKG_MOFFF=on -D PKG_MOLECULE=on -D PKG_OPENMP=on -D PKG_OPT=on -D PKG_ORIENT=on -D PKG_PERI=on -D PKG_PHONON=on -D PKG_PLUGIN=on -D PKG_PTM=on -D PKG_QEQ=on -D PKG_QTB=on -D PKG_REACTION=on -D PKG_REAXFF=on -D PKG_REPLICA=on -D PKG_RIGID=on -D PKG_SHOCK=on -D PKG_SMTBQ=on -D PKG_SPH=on -D PKG_SPIN=on -D PKG_SRD=on -D PKG_TALLY=on -D PKG_UEF=on -D PKG_YAFF=on -D PKG_GPU=on -D GPU_API=cuda -D GPU_ARCH=sm_75 ../cmake

make -j 24

编译之后可获得lmp可执行文件,将其加入环境变量

运行
lmp -in in.RDX -k on g 1 -sf kk -pk kokkos neigh half newton on




作者
Author:
Kmetsch    时间: 2023-4-15 22:08
可惜kokkos基本可以视为仅支持双精度,游戏卡跑不了,话说动力学里应该只有reax不支持单精度GPU了吧
作者
Author:
Entropy.S.I    时间: 2023-4-15 22:28
本帖最后由 Entropy.S.I 于 2023-4-15 22:29 编辑
Kmetsch 发表于 2023-4-15 22:08
可惜kokkos基本可以视为仅支持双精度,游戏卡跑不了,话说动力学里应该只有reax不支持单精度GPU了吧

http://bbs.keinsci.com/thread-35988-1-1.html
(, 下载次数 Times of downloads: 82)

A100涨价后在跑lmp方面也已经失去性价比了

作者
Author:
Entropy.S.I    时间: 2023-4-22 15:40
Kmetsch 发表于 2023-4-15 22:08
可惜kokkos基本可以视为仅支持双精度,游戏卡跑不了,话说动力学里应该只有reax不支持单精度GPU了吧

https://matsci.org/t/single-precision-support-on-kokkos/45219
预计今年会出支持混合精度的Kokkos包,理论上说对游戏卡会有巨幅提升。

实际上GPU包一直支持混合精度,只是像GMX一样有很多计算需要CPU完成,如果CPU比较强,或者模型很小,也可以先凑合着用GPU包
作者
Author:
cuity1999    时间: 2023-8-7 15:40
特地登陆感谢,好教程。
作者
Author:
4470kkk    时间: 2023-8-15 13:38
感谢,比make安装要方便很多
作者
Author:
moritaichi    时间: 2023-11-3 20:07
补充:当cmake的./configure报错Error when bootstrapping CMake:
Cannot find appropriate Makefile processor on this system.
Please specify one using environment variable MAKE
在cmake解压完的文件夹中sudo apt-get install build-essential后继续./configure即可
作者
Author:
lltll    时间: 2023-11-9 17:39
请问如果没有gpu能进行kokkos加速吗?
作者
Author:
w769459209    时间: 2024-6-20 21:11
佬,我执行cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake时出现报错CMake Error at Modules/Packages/KOKKOS.cmake:137 (message):
  Required cuFFT library not found.  Check your environment or set
  CUFFT_LIBRARY to its location
要怎么解决
作者
Author:
docshen777    时间: 2024-6-26 15:10
w769459209 发表于 2024-6-20 21:11
佬,我执行cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake时出现 ...

请问您是否解决 我遇到相同问题
作者
Author:
企鹅子w    时间: 2024-7-15 19:02
docshen777 发表于 2024-6-26 15:10
请问您是否解决 我遇到相同问题

您好,请问您是否解决了这个问题
作者
Author:
快同学    时间: 2024-9-28 13:24
本帖最后由 快同学 于 2024-9-28 13:26 编辑

大佬您好,我在使用 /home/ww/lammps-stable_29Aug2024/src/lmp_mpi -in in.shear -sf gpu命令提交任务后出现图示提示,不清楚什么原因
请问大佬有解决方案吗?

[attach]98759[/attach]
作者
Author:
Stephen001    时间: 2025-5-20 15:29
lltll 发表于 2023-11-9 17:39
请问如果没有gpu能进行kokkos加速吗?

没有gpu是不能用kokkos加速的,kokkos的设置就是为了gpu加速,需要同时安装gpu包和kokkos包




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3