如何通过MPE库打开MPI分析?

时间:2019-06-14 20:50:33

标签: c parallel-processing mpi

我正在开发一个针对气象学家和气候科学家的免费软件应用程序,称为PIO:https://github.com/NCAR/ParallelIO

顾名思义,它是使用MPI的并行I / O库。

我正在尝试为随附的MPE库打开配置文件。在线上有许多不同的文档都提到了-mpilog选项,但是尚不清楚应在何处使用它,或者是否应使用其他东西。

当我尝试将-mpilog添加到CC,CFLAGS或LDFLAGS时,配置失败,并提示C编译器不工作。

那么,如何打开MPE日志记录?我在Linux系统上使用MPICH 3.2。

1 个答案:

答案 0 :(得分:0)

我已经开始工作了,这就是方法。

首先,感谢Gilles Gouaillardet将我指向MPE github网站。关于MPE的信息很多,而且多年来已经发生了很大的变化,因此在GitHub网站上阅读有关信息可以消除很多困惑。

对于我的PIO项目,不仅需要使用MPE构建PIO,还必须使用HDF5,netcdf-c和pnetcdf构建

HDF5的构建如下:

CC='gcc' CPPFLAGS='-I/usr/local/zlib-1.2.11/include' LDFLAGS='-L/usr/local/zlib-1.2.11/lib' LIBS='-llmpe -lmpe -lmpi -lpthread' ./configure --prefix=/usr/local/hdf5-1.10.5_mpe_static --disable-shared --enable-parallel

netCDF的构建如下:

CC='gcc' CPPFLAGS='-I/usr/local/zlib-1.2.11/include -I/usr/local/hdf5-1.10.5_mpe_static/include' LDFLAGS='-L/usr/local/zlib-1.2.11/lib -L/usr/local/hdf5-1.10.5_mpe_static/lib' ./configure --prefix=/usr/local/netcdf-c-4.7.0_hdf5-1.10.5_mpe_static_nodap --disable-shared --disable-dap

pnetcdf的构建如下:

CC=gcc LIBS='-llmpe -lmpe -lmpi -lpthread' ./configure --prefix=/usr/local/pnetcdf-1.11.0_mpe --disable-shared --disable-cxx --disable-fortran

PIO的构建如下:

autoreconf -i && CC='gcc' CPPFLAGS='-I/usr/local/pnetcdf-1.11.0_mpe/include -I/usr/local/zlib-1.2.11/include -I/usr/local/hdf5-1.10.5_mpe_static/include -I/usr/local/netcdf-c-4.7.0_hdf5-1.10.5_mpe_static_nodap/include' LDFLAGS='-L/usr/local/pnetcdf-1.11.0_mpe/lib -L/usr/local/zlib-1.2.11/lib -L/usr/local/hdf5-1.10.5_mpe_static/lib -L/usr/local/netcdf-c-4.7.0_hdf5-1.10.5_mpe_static_nodap/lib' LIBS=' -lhdf5_hl -lhdf5 -lz -ldl -lm -llmpe -lmpe -lmpi -lpthread' ./configure --disable-shared --enable-mpe 

请注意,所有mpicc / mpecc编译器包装程序似乎都无法为该构建产生正确的结果,因为库的列出顺序不正确。仅通过使用CC = gcc并显式链接到-llmpe -lmpe -lmpi -lpthread即可。

一旦建立,它会给出非常漂亮的图表: enter image description here