计算化学公社

 找回密码 Forget password
 注册 Register
Views: 140|回复 Reply: 0
打印 Print 上一主题 Last thread 下一主题 Next thread

[Lammps] wsl2+rocm平台下编译安装kokkos加速的lammps

[复制链接 Copy URL]

9

帖子

1

威望

596

eV
积分
625

Level 4 (黑子)

wsl2+rocm平台下编译安装kokkos加速的lammps

0.前言
之前组了台工作机,贪便宜选择了a卡,后面做了几个lammps的工作感觉很好玩,遂挑战自己在a卡上装个lammps,记录下安装过程分享给大家

设备配置 : 9700X+7900gre wsl系统版本 : Ubuntu2204

我参考的博文:
[[Lammps] WSL2下Kokkos版加速的Lammps的cmake编译](http://bbs.keinsci.com/thread-36559-1-1.html)
[[综合交流] 为某网友的AMD GPU平台编译和调优LAMMPS和GROMACS](http://bbs.keinsci.com/thread-40313-1-1.html)amd官方文档[Install Radeon software for WSL with ROCm](https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/docs/install/installrad/wsl/install-radeon.html)

1.ROCm软件栈安装
  1. sudo apt update
  2. wget https://repo.radeon.com/amdgpu-install/6.4.2.1/ubuntu/jammy/amdgpu-install_6.4.60402-1_all.deb
  3. sudo apt install ./amdgpu-install_6.4.60402-1_all.deb
  4. amdgpu-install -y --usecase=wsl,rocm --no-dkms
复制代码

输入rocminfo检测安装是否成功
  1. ...
  2. *******
  3. Agent 2
  4. *******
  5.   Name:                    gfx1100
  6.   Marketing Name:          AMD Radeon RX 7900 GRE
  7.   Vendor Name:             AMD
  8.   Feature:                 KERNEL_DISPATCH
  9.   Profile:                 BASE_PROFILE
  10.   Float Round Mode:        NEAR
  11.   Max Queue Number:        128(0x80)
  12.   Queue Min Size:          64(0x40)
  13.   Queue Max Size:          131072(0x20000)
  14.   Queue Type:              MULTI
  15.   Node:                    1
  16.   Device Type:             GPU
  17.   Cache Info:
  18. ...
复制代码

正常输出gpu信息就装好了

2.lammps编译

确认环境,后面缺什么装什么
  1. sudo apt install gcc gfortran build-essential cmake make
复制代码

下载lammps包并解压
  1. wget https://download.lammps.org/tars/lammps-stable.tar.gz
  2. tar -xvf lammps-stable.tar.gz
  3. cd lammps*/
复制代码

编辑 cmake/presets/basic.cmake中的安装包,尽可能地写上了,如果有其他好的写法欢迎大家分享
  1. set(ALL_PACKAGES ASPHERE BOCS BODY BROWNIAN CG-SDK CLASS2 COLLOID CORESHELL DIELECTRIC DIFFRACTION DIPOLE DPD-BASIC DPD-MESO DPD-REACT DPD-SMOOTH DRUDE EFF EXTRA-COMPUTE EXTRA-DUMP EXTRA-FIX EXTRA-MOLECULE EXTRA-PAIR FEP GRANULAR KSPACE MANIFOLD MANYBODY MC MEAM MGPT MISC ML-IAP ML-SNAP MOFFF MOLECULE OPENMP OPT ORIENT PERI PHONON PLUGIN PTM QEQ QTB REACTION REAXFF REPLICA RIGID SHOCK SMTBQ SPH SPIN SRD TALLY UEF YAFF GPU)
复制代码
编辑 cmake/presets/kokkos-hip.cmake 我的gpu架构是gfx1100,这里改成:
  1. set(Kokkos_ARCH_NAVI1100 on CACHE BOOL "" FORCE)
复制代码

建立编译文件夹并编译
  1. mkdir build-kokkos && cd build-kokkos
  2. cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-hip.cmake -D CMAKE_PREFIX_PATH=/opt/rocm -D CMAKE_CXX_COMPILER=hipcc -D GPU_API=HIP -D HIP_ARCH=gfx1100 -D Kokkos_ARCH_RDNA3=ON -D PKG_GPU=on -D PKG_KOKKOS=on ../cmake
  3. cmake --build . -j16
复制代码

完成了!
注意,如果你还想在wsl上玩ai作画啥的,要注意runtime的路径设置不要修改,如果修改就要重新编译lammps避免报错

进入 bench 目录测试一下速度
  1. cd ../bench
  2. ../build-kokkos/lmp -k on g 1 -sf kk -i in.eam
复制代码

可以找到速度测试的结果:
  1. Performance: 104.278 ns/day, 0.230 hours/ns, 241.385 timesteps/s, 7.724 Matom-step/s
复制代码


OK纯玩具,对比另一台3090速度差远了:

  1. Performance: 776.628 ns/day, 0.031 hours/ns, 1797.750 timesteps/s, 57.528 Matom-step/s
  2. 171.9% CPU use with 1 MPI tasks x 6 OpenMP threads
复制代码


应该可以按照熵增焓减大佬的调优办法增强一下,本质玩具就不折腾了。


ps:之前用markdown写的,不太懂怎么转成论坛发帖的格式,有格式奇怪的地方恳请大家批评指正



评分 Rate

参与人数
Participants 1
威望 +1 收起 理由
Reason
sobereva + 1

查看全部评分 View all ratings

理论与计算化学爱好者

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-1-23 21:06 , Processed in 0.378699 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list