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

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

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

简介

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

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

需要00-1010编译器包:英特尔Parallel Studio XE 2019。

安装教程:

开放消息传递接口,一个开源的高性能计算

开放式多处理

00-1010从github下载源代码(可能比较慢,但是可以用迅雷等工具加速):

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

cdlammps

mkdirbuild

CD

一、所需并行库:

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

~/lammps _ setup/cmake-3 . 9 . 0-Linux-x86 _ 64/bin/

配置mpi类库环境变量(可以使用哪个mpi、MPI在哪里等命令来查找MPI在本机的安装位置);

export MPI _ ROOT=/public/software/mpich

export PATH=$ MPI _ ROOT/bin : $ PATH

export MPI _ DIR=/public/software/mpich

配置英特尔编译器环境(您可以充分利用各种命令,如哪个icc和icc在哪里,来找出英特尔在这台机器上的安装位置):

来源/公共/软件/英特尔/composer _ xe _ 2011 _ sp 1 . 7 . 256/bin/iccvars . shintel 64

来源/公共/软件/英特尔/composer _ xe _ 2011 _ sp 1 . 7 . 256/bin/ifortvars . shintel 64

使用配置选项运行cmake,注意英特尔编译器路径选择和c编译器修改(使用icc代替gcc):

cmake-DBUILD _ MPI=yes-DBUILD _ OMP=yes-DMPI _ C _ COMPILER=/public/software/Intel/composer _ xe _ 2011 _ sp 1 . 7 . 256/bin/Intel 64/ICC-DMPI _ CXX _ COMPILER=/public/software/Intel/composer _ xe _ 2011 _ sp 1 . 7 . 256/bin/Intel 64/icpc./cmake

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

来源/公共/软件/英特尔/composer _ xe _ 2011 _ sp 1 . 7 . 256/bin/iccvars . shintel 64

来源/公共/软件/英特尔/composer _ xe _ 2011 _ sp 1 . 7 . 256/bin/ifortvars . shintel 64

cmake-DBUILD _ MPI=是-DBUILD _ OMP=是

-DMPI _ C _ COMPILER=/公共/软件/MPI/openmpi-16-英特尔/bin/mpicc

-DMPI _ CXX _ COMPILER=/公共/软件/MPI/openmpi-16-英特尔/bin/mpicxx

-DFFMPEG_EXECUTAB

LE=~/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

 

  • 添加附加包(标准附加包列表):假设我们需要添加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

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

    内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/37460.html

    (0)

    相关推荐

    • 基于JAVA springboot+VUE前后端分离疫情防疫平台设计实现

      技术基于JAVA springboot+VUE前后端分离疫情防疫平台设计实现 基于JAVA springboot+VUE前后端分离疫情防疫平台设计实现基于JAVA springboot+VUE前后端分离

      礼包 2021年10月27日
    • java怎么使用正则表达式限制特殊字符的个数

      技术java怎么使用正则表达式限制特殊字符的个数这篇文章给大家分享的是有关java怎么使用正则表达式限制特殊字符的个数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用正则表达式限制特殊字符的

      攻略 2021年11月30日
    • 狗狗身上螨虫图片,狗狗身上的螨虫长什么样

      技术狗狗身上螨虫图片,狗狗身上的螨虫长什么样直接上图狗狗身上螨虫图片!蜱虫属于体外寄生虫,通常寄生在动物体表,由于猫狗体表有毛发,所以前期很难发现!
      幼虫和虫卵事情,体积较小,很难通过肉眼发现,它们通过吸食血液为食,成长

      生活 2021年11月1日
    • 如何用C语言写一个控制台版的2048

      技术如何用C语言写一个控制台版的2048如何用C语言写一个控制台版的2048,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。先说说所需要用到的头文件:#i

      攻略 2021年10月27日
    • 如何在Cubieboard上搭建个人云存储

      技术怎么在Cubieboard上搭建个人云存储这篇文章将为大家详细讲解有关怎么在Cubieboard上搭建个人云存储,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。准备工作

      攻略 2021年12月13日
    • 湿毒的症状图片,怎样知道身体湿气排出去了

      技术湿毒的症状图片,怎样知道身体湿气排出去了感谢邀请。一湿难去。当我们身体存心湿气的时候是很难祛除的湿毒的症状图片,因为这个湿气就像油一样,黏性非常大。而且这个湿气可以说是万病之源,它与寒在一起就容易形成寒湿;它与热在一

      生活 2021年10月25日