千家信息网

Lammps分子动力学软件MPI并行教程是什么

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,Lammps分子动力学软件MPI并行教程是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。简介LAMMPS是一种经典的
千家信息网最后更新 2025年02月03日Lammps分子动力学软件MPI并行教程是什么

Lammps分子动力学软件MPI并行教程是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

简介

LAMMPS是一种经典的分子动力学仿真代码,设计用于在并行计算机上高效运行。它是由美国能源部下属的桑迪亚国家实验室(Sandia National Laboratories)开发的。它是一个开源代码,根据GNU公共许可证(GPL)的条款自由分发。

Github官网:https://github.com/lammps/lammps/tree/stable

安装教程:

所需编译器套件:Intel Parallel Studio XE 2019

一、所需并行库:

  1. OpenMPI(Open Message Passing Interface,a open source High Performance Computing)

  2. OpenMP(Open Multi-processing)

二、编译前准备:

从github上下载源码(可能较慢,可用迅雷等工具加速):

进入lammps项目目录并新建一个build文件夹(参考教程):

cd lammpsmkdir buildcd build

三、进行Cmake前的准备:

    1. 目前已知Cmake的3.10版本在查找MPI安装目录和类库的时候会遇到问题,解决方案是使用3.9版本。

      ~/lammps_setup/cmake-3.9.0-Linux-x86_64/bin/


    2. 将MPI类库环境变量配置好(可以善用which mpi、whereis mpi等命令查找本机已经安装了的MPI在哪里):

      export MPI_ROOT=/public/software/mpichexport PATH=$MPI_ROOT/bin:$PATHexport MPI_DIR=/public/software/mpich


    3. 配置好INTEL编译器环境(可以善用which icc、whereis icc等命令查找本机已经安装了的INTEL在哪里):

      source /public/software/intel/composer_xe_2011_sp1.7.256/bin/iccvars.sh intel64source /public/software/intel/composer_xe_2011_sp1.7.256/bin/ifortvars.sh intel64


    4. 运行cmake并附带配置的选项,注意intel编译器路径选择和c编译器修改(不要使用gcc,使用icc):

      cmake -DBUILD_MPI=yes -DBUILD_OMP=yes -DMPI_C_COMPILER=/public/software/intel/composer_xe_2011_sp1.7.256/bin/intel64/icc -DMPI_CXX_COMPILER=/public/software/intel/composer_xe_2011_sp1.7.256/bin/intel64/icpc ../cmake


    5. 如果还有问题,直接在cmake中设置MPI路径:

      source /public/software/intel/composer_xe_2011_sp1.7.256/bin/iccvars.sh intel64source /public/software/intel/composer_xe_2011_sp1.7.256/bin/ifortvars.sh intel64cmake -DBUILD_MPI=yes -DBUILD_OMP=yes       -DMPI_C_COMPILER=/public/software/mpi/openmpi-16-intel/bin/mpicc       -DMPI_CXX_COMPILER=/public/software/mpi/openmpi-16-intel/bin/mpicxx       -DFFMPEG_EXECUTABLE=~/lammps_setup/ffmpeg-4.2-amd64-static/ffmpeg       -DWITH_FFMPEG=yes       -DCMAKE_CXX_COMPILER=/public/software/intel/composer_xe_2011_sp1.7.256/bin/intel64/icpc       -DCMAKE_C_COMPILER=/public/software/intel/composer_xe_2011_sp1.7.256/bin/intel64/icc../cmake


    6. 添加附加包(标准附加包列表):假设我们需要添加MOLECULE包,则应该在cmake命令后添加如下参数

      -DPKG_MOLECULE


      我们可以看到,格式是 -DPKG_包名。下面提供内部包一键安装便捷代码:

      -DPKG_COMPRESS=yes -DPKG_PYTHON=yes -DPKG_ASPHERE=yes -DPKG_BODY=yes -DPKG_CLASS2=yes -DPKG_COLLOID=yes -DPKG_CORESHELL=yes -DPKG_DIPOLE=yes -DPKG_GRANULAR=yes -DPKG_KSPACE=yes -DPKG_MANYBODY=yes -DPKG_MC=yes -DPKG_MISC=yes -DPKG_MOLECULE=yes -DPKG_MPIIO=yes -DPKG_OPT=yes -DPKG_PERI=yes -DPKG_QEQ=yes -DPKG_REPLICA=yes -DPKG_RIGID=yes -DPKG_SHOCK=yes -DPKG_SNAP=yes -DPKG_SPIN=yes -DPKG_SRD=yes -DPKG_MESSAGE=yes -DPKG_POEMS=yes


      附加包需要高版本nvcc等依赖的单独列在下面:

      -DPKG_GPU=yes -DPKG_KOKKOS=yes


    疑难问题解决:

    1. 报错:mpirun: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory。原因是使用了intel的编译器,却没把相应intel类库地址加入环境变量。其实intel有非常方便的source文件,它能自动添加这些类库,参见本文(三)-3《配置好INTEL编译器环境》(参考资料:https://zhidao.baidu.com/question/292886685.html)

    2. 报错-- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND),但明明已经安装了MPI而且配置了MPI环境变量。原因是cmake自身问题,不要使用太新的cmake。这里使用3.9版本完美解决这个问题,详细资料参考https://gitlab.kitware.com/cmake/cmake/issues/18570。

    3. 使用了并行命令却没看到CPU核心占满:(相似问题包括:why physical processors only 1、processors 1 1 1、1 by 1 by 1)首先明确一点,只要编译时正确打开了-DBUILD_OMP -DBUILD_MPI,编译后的lmp可执行文件就一定是支持MPI、OpenMP并行功能的。剩下的就是执行命令与程序的问题。并行的执行命令不能含有重定位标识符<,如

      mpirun -N 24 ~/software/lmp -in npteq200ps-16.in

      才是正确的,必须-in来调用in文件。

    便捷命令:

    mpic++ -show

    看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

    编译 命令 问题 编译器 环境 配置 文件 版本 教程 代码 变量 参考 附加 分子 动力 动力学 便捷 原因 目录 资料 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全调查法 网络安全手抄报大全内容清楚 武汉新华互联网科技学校 如何对一个软件开发团分工 网络安全藏语课件 湖南惠普服务器维修费用 崇明区参考数据库销售厂家报价 云服务器可以挖矿吗 厦航 软件开发 待遇 外卖网络安全问题的措施 兴化大型网络技术厂家价格 网络安全应急演练方案及记录 江苏省通管局网络安全 EI数据库中的词位算符 武汉快云网络技术有限公司 数据库应用技术形考任务实验答案 hi3536软件开发 鞍山新零售软件开发哪家好 我的世界副本手机版服务器 济南众柜网络技术有限公司 河南惠普服务器虚拟化定制物理机 服务器网络不稳定有哪些现象 数据库查询数据超时已过期 超凡先锋服务器信息进不了怎么办 服务器脆弱 车载无线网络技术 软件开发工程师具备的素质 xfs 数据库 苹果手机中国日历服务器地址 获取vpn服务器地址
    0