Lammps分子動力學(xué)軟件MPI并行教程是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)專注骨干網(wǎng)絡(luò)服務(wù)器租用十年,服務(wù)更有保障!服務(wù)器租用,成都多線機房 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問。靈活、實現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。
LAMMPS是一種經(jīng)典的分子動力學(xué)仿真代碼,設(shè)計用于在并行計算機上高效運行。它是由美國能源部下屬的桑迪亞國家實驗室(Sandia National Laboratories)開發(fā)的。它是一個開源代碼,根據(jù)GNU公共許可證(GPL)的條款自由分發(fā)。
Github官網(wǎng):https://github.com/lammps/lammps/tree/stable
所需編譯器套件:Intel Parallel Studio XE 2019
OpenMPI(Open Message Passing Interface,a open source High Performance Computing)
OpenMP(Open Multi-processing)
從github上下載源碼(可能較慢,可用迅雷等工具加速):
進入lammps項目目錄并新建一個build文件夾(參考教程):
cd lammps mkdir build cd build
目前已知Cmake的3.10版本在查找MPI安裝目錄和類庫的時候會遇到問題,解決方案是使用3.9版本。
~/lammps_setup/cmake-3.9.0-Linux-x86_64/bin/
將MPI類庫環(huán)境變量配置好(可以善用which mpi、whereis mpi等命令查找本機已經(jīng)安裝了的MPI在哪里):
export MPI_ROOT=/public/software/mpich export PATH=$MPI_ROOT/bin:$PATH export MPI_DIR=/public/software/mpich
配置好INTEL編譯器環(huán)境(可以善用which icc、whereis icc等命令查找本機已經(jīng)安裝了的INTEL在哪里):
source /public/software/intel/composer_xe_2011_sp1.7.256/bin/iccvars.sh intel64 source /public/software/intel/composer_xe_2011_sp1.7.256/bin/ifortvars.sh intel64
運行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
如果還有問題,直接在cmake中設(shè)置MPI路徑:
source /public/software/intel/composer_xe_2011_sp1.7.256/bin/iccvars.sh intel64 source /public/software/intel/composer_xe_2011_sp1.7.256/bin/ifortvars.sh intel64 cmake -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
添加附加包(標(biāo)準附加包列表):假設(shè)我們需要添加MOLECULE包,則應(yīng)該在cmake命令后添加如下參數(shù)
-DPKG_MOLECULE
我們可以看到,格式是 -DPKG_包名。下面提供內(nèi)部包一鍵安裝便捷代碼:
-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
報錯:mpirun: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory。原因是使用了intel的編譯器,卻沒把相應(yīng)intel類庫地址加入環(huán)境變量。其實intel有非常方便的source文件,它能自動添加這些類庫,參見本文(三)-3《配置好INTEL編譯器環(huán)境》(參考資料:https://zhidao.baidu.com/question/292886685.html)
報錯-- 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),但明明已經(jīng)安裝了MPI而且配置了MPI環(huán)境變量。原因是cmake自身問題,不要使用太新的cmake。這里使用3.9版本完美解決這個問題,詳細資料參考https://gitlab.kitware.com/cmake/cmake/issues/18570。
使用了并行命令卻沒看到CPU核心占滿:(相似問題包括:why physical processors only 1、processors 1 1 1、1 by 1 by 1)首先明確一點,只要編譯時正確打開了-DBUILD_OMP -DBUILD_MPI,編譯后的lmp可執(zhí)行文件就一定是支持MPI、OpenMP并行功能的。剩下的就是執(zhí)行命令與程序的問題。并行的執(zhí)行命令不能含有重定位標(biāo)識符<,如
mpirun -N 24 ~/software/lmp -in npteq200ps-16.in
才是正確的,必須-in來調(diào)用in文件。
便捷命令:
mpic++ -show
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
文章標(biāo)題:Lammps分子動力學(xué)軟件MPI并行教程是什么
分享鏈接:http://muchs.cn/article38/ihsdpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站排名、關(guān)鍵詞優(yōu)化、微信小程序、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)