我正在开发一个针对气象学家和气候科学家的免费软件应用程序,称为PIO:https://github.com/NCAR/ParallelIO。
顾名思义,它是使用MPI的并行I / O库。
我正在尝试为随附的MPE库打开配置文件。在线上有许多不同的文档都提到了-mpilog选项,但是尚不清楚应在何处使用它,或者是否应使用其他东西。
当我尝试将-mpilog添加到CC,CFLAGS或LDFLAGS时,配置失败,并提示C编译器不工作。
那么,如何打开MPE日志记录?我在Linux系统上使用MPICH 3.2。
答案 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即可。