计算化学公社

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

[Lammps] win10+wsl2+rocky10.2平台下编译安装kokkosbn版本的lammps

[复制链接 Copy URL]

1

帖子

0

威望

83

eV
积分
84

Level 2 能力者

测试平台:5700X3D+5060+2*16G3600Mhz内存
#GPU测试
mpirun --allow-run-as-root -np 1 lmp-mixed -k on g 1 -sf kk -in in.eam
:Performance: 430.244 ns/day, 0.056 hours/ns, 995.936 timesteps/s, 31.870 Matom-step/s
86.8% CPU use with 1 MPI tasks x 1 OpenMP threads
#CPU测试
mpirun --allow-run-as-root -np 8 lmp-mixed -in in.eam
:Performance: 71.470 ns/day, 0.336 hours/ns, 165.440 timesteps/s, 5.294 Matom-step/s
98.9% CPU use with 8 MPI tasks x 1 OpenMP threads



参考教程
Index of /static/downloads
OpenMPI 安装进度详解 - 从源码编译到完成安装
Linux手动安装最新版 CMake
11.2.6. CUDA — Open MPI 5.0.x 文档 --- 11.2.6. CUDA — Open MPI 5.0.x documentation
wsl2下纯萌新实现gpu和kokkos包的lammps安装攻略 - 分子模拟 (Molecular Modeling) - 计算化学公社
安装NVIDIA cuda-toolkit - lshan - 博客园
lammps GPU加速4090不如纯cpu8核 - 分子模拟 (Molecular Modeling) - 计算化学公社
安装CUDA Toolkit(完整版)-CSDN博客
OpenMPI 安装进度详解 - 从源码编译到完成安装
3. 构建 LAMMPS — LAMMPS 文档 --- 3. Build LAMMPS — LAMMPS documentation
在 Linux 上安装 GPU 版本 LAMMPS 完整指南_linux下lammps gpu加速版安装-CSDN博客
LAMMPS GPU加速完全指南:从源码编译到高性能计算-CSDN博客
如何选择GPU版与KOKKOS版
LAMMPS 部署 Kokkos MPI 加速:从环境配置到 GPU 实战-长河编程
wsl2+rocm平台下编译安装kokkos加速的lammps - 分子模拟 (Molecular Modeling) - 计算化学公社
非常详细的文章包含使用方法和安装教程!!!!

前置依赖安装:
sudo dnf install blas-devel lapack-devel
sudo dnf install -y fftw-devel
安装gcc / g++ 编译器
sudo dnf install gcc gcc-c++ gcc-gfortran
注意CUDA版本与GCC版本存在兼容性问题
安装cmake

编译openmpi
下载openmpi源码:    wget https://www.cp2k.org/static/downloads/openmpi-5.0.10.tar.bz
解压缩:    tar -xvf openmpi-5.0.10.tar.bz2
先安装libtool、autoconf、zlib:    sudo dnf groupinstall "Development Tools" -y && sudo dnf install zlib-devel -y
然后执行了    ./configure --prefix=/usr/local/openmpi    ,提示CUDA support: no,故在编译openmpi之前需要激活cuda

安装cuda -toolkit
1.选择合适的版本
通过nvidia-smi得到最高支持的cuda版本

2.获取下载链接:CUDA Toolkit Archive | NVIDIA Developer
新增软件源在线安装
sudo dnf config-manager --add-repo https://developer.download.nvidi ... 64/cuda-rhel10.repo
sudo dnf clean all
sudo dnf -y install cuda-toolkit-13-0
若在线安装失败先清理缓存    sudo dnf clean packages    ,然后选择wget离线安装
wget https://developer.download.nvidi ... .65.06-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel10-13-0-local-13.0.0_580.65.06-1.x86_64.rpm
sudo dnf clean all
sudo dnf -y install cuda-toolkit-13-0
还需要配置环境变量,可以通过    find /usr -name nvcc 2>/dev/null    和    rpm -ql cuda-nvcc-13-0 |grep bin    找到位置
echo'export PATH=/usr/local/cuda-13.0/bin:$PATH'>> ~/.bash_profile
echo'export LD_LIBRARY_PATH=/usr/local/cuda-13.0/lib64:$LD_LIBRARY_PATH'>> ~/.bash_profile
source ~/.bash_profile

安装完成检测是否ok   ( nvcc -V )

需要注意的是
A.在系统上安装 Windows 版 NVIDIA GPU 驱动程序后,CUDA 便可在 WSL 2 环境中使用。安装在 Windows 宿主系统中的 CUDA 驱动程序将以 libcuda.so 的形式映射至 WSL 2 内部,因此用户切勿在 WSL 2 内安装任何 NVIDIA GPU Linux 驱动程序 。此处需格外注意,因为默认的 CUDA 工具包会附带驱动程序,极易在默认安装过程中覆盖 WSL 2 的 NVIDIA 驱动程序。建议开发者通过 CUDA 工具包下载页面获取适用于 WSL 2(Ubuntu)的独立 CUDA 工具包,以避免此类覆盖问题。CUDA 工具包的安装说明可在各安装程序的 CUDA 工具包下载页面找到。但请勿在 WSL 2 下选择“cuda”、“cuda-12-x”或“cuda-drivers”元软件包,因为这些软件包将导致在 WSL 2 下尝试安装 Linux NVIDIA 驱动程序。请仅安装 cuda-toolkit-12-x 元软件包。
B.wsl下无法使用 nvidia-smi。可以使用 /usr/lib/wsl/lib/nvidia-smi 或手动将 /usr/lib/wsl/lib/ 添加到 PATH 中)。
vi ~/.bash_profile  
添加    exportPATH="$PATH:/usr/lib/wsl/lib"
source ~/.bash_profile  

3.继续编译openmpi
./configure --prefix=/usr/local/openmpi-cuda13.0 --with-cuda=/usr/local/cuda-13.0
结果显示:CUDA support: yes
开始编译:make -j$(nproc)
开始安装:sudo make install
配置环境变量
echo'export PATH=/usr/local/openmpi-cuda13.0/bin:$PATH'>> ~/.bash_profile
echo'export LD_LIBRARY_PATH=/usr/local/openmpi-cuda13.0/lib:$LD_LIBRARY_PATH'>> ~/.bash_profile
source ~/.bash_profile

检查是否生效
which mpirun
mpirun --version

4.构建lammps:以下安装Kokkos版
推荐教程:在 Linux 上安装 GPU 版本 LAMMPS 完整指南_linux下lammps gpu加速版安装-CSDN博客    LAMMPS GPU加速完全指南:从源码编译到高性能计算-CSDN博客
  • 安装前检查
gcc --version
g++ --version
mpirun --version
nvcc -V
nvidia-smi
  • 解压lammps压缩包:tar -xzvf lammpsXXX.tar.gz
  • 创建目录:cd lammps-4Jul2026/ && mkdir build && cd build
  • 查看GPUSM版本,觉得CMake构建命令中的Kokkos_ARCH_ADAXX
[root@DESKTOP-MUFTCK6 build]# nvidia-smi --query-gpu=name,compute_cap --format=csv
输出:     name, compute_cap
NVIDIA GeForce RTX 5060, 12.0
  • CMake构建
cmake -C ../cmake/presets/kokkos-cuda.cmake \
      -C ../cmake/presets/kokkos-packages.cmake \
      -D CMAKE_INSTALL_PREFIX=/chens/lammps/lammps-kokkos-mixed \
      -D CMAKE_BUILD_TYPE=Release \
      -D BUILD_MPI=yes \
      -D Kokkos_ARCH_BLACKWELL120=ON \        
      -D KOKKOS_PREC=mixed \        #mixed混合精度;double双精度;single单精度
      ../cmake

编译
make -j$(nproc)
这一步非常久

将运行有关的文件转移到指定的安装路径中
make install
安装结束!!!

用软链接来指定一个变量名用于代替长长的路径
ln -sf /chens/lammps/lammps-kokkos-mixed/bin/lmp /usr/local/bin/lmp-mixed

测试:
lmp-mixed -h
详细信息
KOKKOS_PRINT_CONFIGURATION=yes lmp-mixed -k on g 1 -in <(echo "info")
打印 Kokkos 的运行时配置(后端、架构、线程数等参数)

测试脚本
进入源代码的基准测试目录
[root@DESKTOP-MUFTCK6 bench]# pwd
/root/test/lammps-4Jul2026/bench
测试平台:5700X3D+5060+2*16G3600Mhz内存
#GPU测试
mpirun --allow-run-as-root -np 1 lmp-mixed -k on g 1 -sf kk -in in.eam
:Performance: 430.244 ns/day, 0.056 hours/ns, 995.936 timesteps/s, 31.870 Matom-step/s
86.8% CPU use with 1 MPI tasks x 1 OpenMP threads
#CPU测试
mpirun --allow-run-as-root -np 8 lmp-mixed -in in.eam
:Performance: 71.470 ns/day, 0.336 hours/ns, 165.440 timesteps/s, 5.294 Matom-step/s
98.9% CPU use with 8 MPI tasks x 1 OpenMP threads

命令解析:
--allow-run-as-root:root用户下不能直接调用openmpi
-np 1:进程数,GPU模式下,为显卡数量;cpu模式下为核心数
lmp-mixed:lammps的执行文件,此处用软链接代替了    /chens/lammps/lammps-kokkos-mixed/bin/lmp
-k on g 1 -sf kk:-k on g 1 — 开启 Kokkos GPU 加速,g 1为1张显卡
    -sf kk — 自动替换命令后缀
-in in.eam:输入文件


本版积分规则 Credits rule

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

GMT+8, 2026-7-15 03:32 , Processed in 0.193017 second(s), 22 queries , Gzip On.

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