Intel MPI编译BerkeleyGW
source link: https://cndaqiang.github.io/2022/10/21/intel-BerkeleyGW/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
编译BerkeleyGW
下载源代码
[HUAIROU cndaqiang@login01 ifort-impi2020]$tar xzvf BerkeleyGW-3.0.1.tar.gz
[HUAIROU cndaqiang@login01 ifort-impi2020]$cd BerkeleyGW-3.0.1
以怀柔服务器为例
module unload openmpi3/3.1.4
module load parallel_studio/2020.2.254
module load intelmpi/2020.2.254
module load gnu8/8.3.0
配置编译参数
flavor.mk
[HUAIROU cndaqiang@login01 BerkeleyGW-3.0.1]$cp flavor_cplx.mk flavor.mk
arch.mk
[HUAIROU cndaqiang@login01 BerkeleyGW-3.0.1]$cp config/edison.nersc.gov_intel.mk arch.mk
修改vi arch.mk
- 因为我没装HDF5,注释掉HDF5相关的内容
MATHFLAG = -DUSESCALAPACK -DUNPACKED -DUSEFFTW3
# -DHDF5
#HDF5_LDIR = $(HDF5_DIR)/lib
#HDF5LIB = $(HDF5_LDIR)/libhdf5hl_fortran.a \
# $(HDF5_LDIR)/libhdf5_hl.a \
# $(HDF5_LDIR)/libhdf5_fortran.a \
# $(HDF5_LDIR)/libhdf5.a -lz -ldl
#HDF5INCLUDE = $(HDF5_DIR)/include
- 使用intel家编译器mpiicc mpiicpc mpiifort
FCPP = /usr/bin/cpp -ansi
F90free = mpiifort -free -qopenmp
LINK = mpiifort -qopenmp
FOPTS = -O3 -g
FNOOPTS = $(FOPTS)
MOD_OPT = -module
INCFLAG = -I
C_PARAFLAG = -DPARA -DMPICH_IGNORE_CXX_SEEK
CC_COMP = mpiicpc
C_COMP = mpiicc
C_LINK = mpiicc
C_OPTS = -O3 -qopenmp
C_DEBUGFLAG =
最终我的arch.mk
编译epsilon
[HUAIROU cndaqiang@login01 BerkeleyGW-3.0.1]$make epsilon -j40
[HUAIROU cndaqiang@login01 BerkeleyGW-3.0.1]$make all-flavors -j 40
预处理不合适
去掉FCPP = /usr/bin/cpp -ansi -C
中的-C
参数, 更多解决办法见Fortran预处理引入/usr/include/stdc-predef.h报错Unclassifiable statement
<命令行>(1): warning #5117: Bad # preprocessor line
# 1 "/usr/include/stdc-predef.h" 1 3 4
-----------------------------------^
/usr/include/stdc-predef.h(1): error #5082: Syntax error, found '/' when expecting one of: <LABEL> <END-OF-STATEMENT> ; <IDENTIFIER> TYPE MODULE ELEMENTAL IMPURE NON_RECURSIVE ...
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
^
本文首发于我的博客@cndaqiang.
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!
Recommend
-
8
问题及原因 在多网卡的情况下,有时候使用多个服务器作为MPI节点时会出现: 1. MPI_Recv之类的读函数读不到任何数据, 2. 或 MPI崩溃并提示无法connect to XXXX,这个XXXX多半是某个配属在其他网段的IP地址。 这是因为:
-
9
Extended file analysis with MPI in C ++ advertisements I have a C++ program in which I want to parse a huge file, looking for some regex that...
-
5
Simple alternative paradigm to MPI Several months ago, I read a story on Lobste.rs about a simple alternative paradigm to MPI. The title of the story is something like “here is a superior alternative to MPI, but it’s dead now”. The pa...
-
6
并行正则采样排序之 MPI 实现Permalink 算法介绍...
-
8
Spark/Ray/PS/MPI等计算引擎和框架的小总结 发表于 2020-05-13...
-
1
MPI简谈 MPI是分布式内存系统,区别于OpenMP和Pthreads的共享内存系统。MPI是一种基于消息传递的并行编程技术,是如今最为广泛的并行程序开发方法。 MPI前世今生 ...
-
5
编译yambo 下载源代码 yambo 本次使用
-
9
HPC is dying, and MPI is killing it Written by Jonathan Dursi on April 03, 2015 ...
-
3
PingPong获新加坡MPI牌照-品玩
-
4
解决CMake Could NOT find MPI_C的问题 C/C++ Linux
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK