| 5 | 1/1 | 返回列表 |
| 查看: 2175 | 回復(fù): 2 | |||
| 【獎勵】 本帖被評價1次,作者Birdofwander增加金幣 0.6 個 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||
[資源]
使用gfortran和openmpi并行編譯SIESTA(原創(chuàng))
|
|||
|
使用gfortran和openmpi并行編譯SIESTA Openmpi安裝 1. ./configure --prefix=/home/chengxl/sourcecode/openmpi-gnu CC=gcc CXX=g++ F77=gfortran FC=gfortran 2. make all 3. make install4. 打開 ~/.bashrc 添加環(huán)境變量 export PATH=/usr/local/openmpi-1.4.3/bin:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi-1.4.3/lib5. source ~/.bashrc(重新打開終) 并驗(yàn)證 which mpicc which mpic++ which mpif77 which mpif90 安裝 lapack 下載:http://www.netlib.org/lapack cp make.example.inc make.inc 并修改以下幾行: BLASLIB = /your/path/to/lapack-3.4.2/librefblas.a # 將要創(chuàng)建一個librefblas.a LAPACKLIB = liblapack.a TMGLIB = libtmglib.a LAPACKELIB = liblapacke.a Make 安裝 BLACS http://www.netlib.org/blacs下載MPIBLACS 在BMAKES文件夾中拷出Bmake.MPI-LINUX Bmake.inc 參見:How do I build BLACS with Open MPI http://www.open-mpi.org/faq/?category=mpi-apps 修改Bmake.inc # Section 1: # Ensure to use MPI for the communication layer COMMLIB = MPI # The MPIINCdir macro is used to link in mpif.h and # must contain the location of Open MPI's mpif.h. # The MPILIBdir and MPILIB macros are irrelevant # and should be left empty. MPIdir = /path/to/openmpi-1.6.5 MPILIBdir = MPIINCdir = $(MPIdir)/include MPILIB = # Section 2: # Set these values: SYSINC = INTFACE = -Df77IsF2C SENDIS = BUFF = TRANSCOMM = -DUseMpi2 WHATMPI = SYSERRORS = # Section 3: # You may need to specify the full path to # mpif77 / mpicc if they aren't already in # your path. F77 = mpif77 F77LOADFLAGS = CC = mpicc CCLOADFLAGS = Make mpi 安裝 scalapack 參見:http://www.open-mpi.org/faq/?category=mpi-apps # Make sure you follow the instructions to build BLACS with Open MPI, # and put its location in the following. BLACSdir = <path where you installed BLACS> # The MPI section is commented out. Uncomment it. The wrapper # compiler will handle SMPLIB, so make it blank. The rest are correct # as is. USEMPI = -DUsingMpiBlacs SMPLIB = BLACSFINIT = $(BLACSdir)/blacsF77init_MPI-$(PLAT)-$(BLACSDBGLVL).a BLACSCINIT = $(BLACSdir)/blacsCinit_MPI-$(PLAT)-$(BLACSDBGLVL).a BLACSLIB = $(BLACSdir)/blacs_MPI-$(PLAT)-$(BLACSDBGLVL).a TESTINGdir = $(home)/TESTING # The PVMBLACS setup needs to be commented out. #USEMPI = #SMPLIB = $(PVM_ROOT)/lib/$(PLAT)/libpvm3.a -lnsl -lsocket #BLACSFINIT = #BLACSCINIT = #BLACSLIB = $(BLACSdir)/blacs_PVM-$(PLAT)-$(BLACSDBGLVL).a #TESTINGdir = $(HOME)/pvm3/bin/$(PLAT) # Make sure that the BLASLIB points to the right place. We built this # example on Solaris, hence the name below. The Linux version of the # library (as of this writing) is blas_LINUX.a. BLASLIB = $(LAPACKdir)/blas_solaris.a # You may need to specify the full path to mpif77 / mpicc if they # aren't already in your path. 我改的: BLACSdir = /path to/BLACS/LIB BLASLIB = -L/path to/lapack-3.4.2 -lrefblas LAPACKLIB = -L/path to/lapack-3.4.2 -llapack LIBS = $(LAPACKLIB) $(BLASLIB) USEMPI = -DUsingMpiBlacs SMPLIB = BLACSFINIT = $(BLACSdir)/blacsF77init_MPI-LINUX-0.a BLACSCINIT = $(BLACSdir)/blacsCinit_MPI-LINUX-0.a BLACSLIB = $(BLACSdir)/blacs_MPI-LINUX-0.a #TESTINGdir = $(home)/TESTING 編譯siesta 將Src/MPI中全部拷到 Obj/MPI中,make 在Obj文件夾中執(zhí)行: sh ../Src/obj_setup.sh ../Src/configure --enable-mpi(詳見--help) 修改 arch.make, 我的: FC=mpif90 FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DMPI BLAS_LIBS= -L/path/lapack-3.4.2/ -lrefblas LAPACK_LIBS= -L/path/lapack-3.4.2/ -llapack -ltmglib BLACS_LIBS= -L/path/BLACS/LIB/blacs_MPI-LINUX-0.a SCALAPACK_LIBS= -L/path/scalapack-2.0.2/ -lscalapack COMP_LIBS= dc_lapack.a linalg.a MPI_INTERFACE=libmpi_f90.a MPI_INCLUDE=/home/feng/scisoft/openmpi-gnu/include 測試: mpirun -np <nproc> siesta < input.fdf > output |
科研小木蟲 |
禁蟲 (小有名氣)
|
本帖內(nèi)容被屏蔽 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 329求調(diào)劑 +5 | 星野? 2026-03-26 | 5/250 |
|
|---|---|---|---|---|
|
[考研]
|
y7czhao 2026-03-26 | 9/450 |
|
|
[考研] 320分,材料與化工專業(yè),求調(diào)劑 +7 | 一定上岸aaa 2026-03-27 | 9/450 |
|
|
[考研] 295材料工程專碩求調(diào)劑 +6 | 1428151015 2026-03-27 | 6/300 |
|
|
[考研] 330一志愿中國海洋大學(xué) 化學(xué)工程 085602 有讀博意愿 求調(diào)劑 +3 | wywy.. 2026-03-27 | 4/200 |
|
|
[考研] 一志愿211院校 344分 東北農(nóng)業(yè)大學(xué)生物學(xué)學(xué)碩,求調(diào)劑 +5 | 丶風(fēng)雪夜歸人丶 2026-03-26 | 8/400 |
|
|
[考研] 食品工程專碩一志愿中海洋309求調(diào)劑 +3 | 小張zxy張 2026-03-26 | 5/250 |
|
|
[考研] 314求調(diào)劑 +3 | 溪云珂 2026-03-26 | 3/150 |
|
|
[考研] 321求調(diào)劑 +6 | Ymlll 2026-03-24 | 6/300 |
|
|
[考研] 求調(diào)劑 +8 | Auroracx 2026-03-22 | 8/400 |
|
|
[考研]
|
WWW西西弗斯 2026-03-24 | 8/400 |
|
|
[考研] 081700 調(diào)劑 267分 +11 | 迷人的哈哈 2026-03-23 | 11/550 |
|
|
[考研] 07化學(xué)303求調(diào)劑 +5 | 睿08 2026-03-25 | 5/250 |
|
|
[考研] 334分 一志愿武理-080500 材料求調(diào)劑 +4 | 李李不服輸 2026-03-25 | 4/200 |
|
|
[考研] B區(qū)考研調(diào)劑 +4 | yqdszhdap- 2026-03-22 | 5/250 |
|
|
[考研] 化工專碩求調(diào)劑 +3 | question挽風(fēng) 2026-03-24 | 3/150 |
|
|
[考研] 300求調(diào)劑,材料科學(xué)英一數(shù)二 +5 | leaflight 2026-03-24 | 5/250 |
|
|
[考研] 277分求調(diào)劑,跨調(diào)材料 +3 | 考研調(diào)劑lxh 2026-03-24 | 3/150 |
|
|
[考研] 接收2026碩士調(diào)劑(學(xué)碩+專碩) +4 | allen-yin 2026-03-23 | 6/300 |
|
|
[考研] 石河子大學(xué)(211、雙一流)碩博研究生長期招生公告 +3 | 李子目 2026-03-22 | 3/150 |
|