Lammps安装,GPU加速,Python调用Lammps
动力分子
编辑于 2024年05月31日 00:56

在 Windows 操作系统下安装Lammps,实现GPU加速和Python调用Lammps。

Windows下安装

1、 下载Lammps的Windows版本,下载网址: https://rpm.lammps.org/windows/

我这里下载了LAMMPS-64bit-Python-latest-MSMPI.exe,安装后有python的第三方软件包,方便配置Lammps与Python的相互调用。

2、 下载Microsoft MPI,下载网址:https://www.microsoft.com/en-us/download/details.aspx?id=105289

3、 安装Lammps和MPI,管理员身份运行即可,自己选择安装位置。

4、 设置环境变量,点击环境变量-双击系统变量的Path,新建两个路径,一个为MPI的安装文件夹下的Bin目录,这个路径最好置顶。另一个新建路径为Lammps的安装文件夹下的bin目录。设置好路径后点击确定即可。

5、 按照上述步骤安装完成以后,就可以使用 LAMMPS 了。LAMMPS 软件需要在控制程序中执行,比如 cmd 和 Windows Powershell。打开控制台程序以后,可切换至 in文件所在的目录,通过以下命令运行 LAMMPS。

串行方式:lmp -in.filename

MPI 并行方式:mpiexec -np 6(核数) lmp -in in.filename

6、 要实现GPU加速,需要更新NVIDIA驱动和安装cuda。NVIDIA驱动的下载网址:https://www.nvidia.com/Download/index.aspx?lang=en-us。根据自己电脑显卡的类型,选择合适的驱动。

安装驱动,安装过程中可以直接选择“精简”模式。参考——小丁同学_99 网页链接​ 出处:bilibili

检测是否安装成功。cmd命令行输入:nvidia-smi。

出现类似于下图效果,即安装完成。

安装CUDA。参考CUDA官网,选择自己对应的版本。下载网址:https://developer.nvidia.com/cuda-downloads。这里我选择的cuda版本比cmd中标注的CUDA version低。点击Archive of Previous CUDA Releases,选择以前的版本CUDA Toolkit 12.2.0 (June 2023)。

下载后直接双击安装。

点击同意并继续。

选择自定义安装。

只勾选CUDA,点击下一步。

安装完成后设置环境变量。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\libnvvp

注册表编辑。在C:\Windows\System32\DriverStore\FileRepository文件夹中搜索nvopen,找出nvopencl64.dll和nvopencl32.dll的路径。

打开注册表,进入HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors,注意!Khronos\OpenCL\Vendors文件夹没有的话,需要逐级创建。新建两个QWORD(64位)值(Q)文件,分别命名为nvopencl64.dll的路径和IntelOpenCL64.dll

进入HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\OpenCL\Vendors,同样,Khronos\OpenCL\Vendors文件夹没有的话,需要逐级创建。新建两个QWORD(64位)值(Q)文件,分别命名为nvopencl32.dll的路径和IntelOpenCL32.dll。

至此,GPU加速设置完成。

gpu加速的命令:mpiexec -n 1 lmp -in in.filename -sf gpu -pk gpu 1

运行发现用到核显加速,这是因为没有指定显卡。

如果有核显的情况下,需要指定使用哪个显卡加速,只需在后面加上platform n(0或1)。参考资料:

Windows环境下LAMMPS使用GPU加速运算:https://zhuanlan.zhihu.com/p/139922210,

Windows环境下LAMMPS使用GPU加速运算(二、笔记本篇):https://zhuanlan.zhihu.com/p/145407510。

使用命令:mpiexec -n 1 lmp -in in.filename -sf gpu -pk gpu 1 platform 1

显卡的使用性能可以达到60 %。

7、 在Lammps中调用Python以及在Python中调用Lammps

安装python,下载python安装包双击安装即可。

更新pip库。pip install --upgrade pip。

安装常用包。pip install numpy (pandas, matplotlib)

安装与lammps有关的包。pip install lammps (pylammps, mpi4py, ovito)。

推荐使用镜像源。例如:pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,还不能调用lammps,需要进行一些设置。在cmd中进入python,导入lammps模块:from lammps import lammps,执行命令:lmp = lammps()会出现报错。提示找不到文件liblammps.dll,需要设置环境变量和复制一些文件。

设置环境变量。进入系统环境变量,将PYTHONPATH改为C:\Users\Ji\AppData\Local\Programs\Python\Python311。

进入文件夹C:\Users\Ji\AppData\Local\Programs\Python\Python311\Lib\site-packages,可以找到lammps文件夹。

再进入lammps的根目录中的bin文件夹:C:\Program Files\Lammps\LAMMPS 64-bit 2Aug2023-MSMPI with Python\bin,选中所有文件,复制至site-packages\lammps文件夹中。在cmd中进入python,导入lammps模块:from lammps import lammps,执行命令:lmp = lammps()。可以看到如下结果:

LAMMPS (2 Aug 2023 - Update 2)

 using 6 OpenMP thread(s) per MPI task

Loaded 1 plugins from C:\Program Files\Lammps\LAMMPS 64-bit 2Aug2023-MSMPI with Python\plugins

为了能在lammps中调用python,还需要将lammps和lammps-2023.8.2.3.1.dist-info文件夹复制至C:\Program Files\Lammps\LAMMPS 64-bit 2Aug2023-MSMPI with Python\lib\python3.11\site-packages。

至此,lammps与python就能互相调用了。

进入lammps的python例子,C:\Program Files\Lammps\LAMMPS 64-bit 2Aug2023-MSMPI with Python\Examples\python,双击运行in.python.lmp,没有报错就说明成功了。

文件链接:https://pan.baidu.com/s/1tVx-pMZ0zoLjkNR655l41A 

提取码:lsvx