我正在尝试用Linux中的mpif90编译pgplot。我能用gfortran和g77编译pgplot。但是,我需要它与使用mpif90编译的另一个程序兼容。不幸的是,我不可能用gfortran重新安装其他程序(不是pgplot)。有没有办法用mpif90编译pgplot?
编辑:我使用mpif90 -v来检查编译器。这是pgf90。我不知道mpif90是一个包装......抱歉。我将尝试用pgf90编译它。
答案 0 :(得分:2)
mpif90
(和mpifort
)编译器实际上只是包装器,它使用一组额外的标志调用“标准”编译器,以确保正确的mpi库等自动链接。您通常可以运行mpif90 -show
以查看实际使用的命令。例如,我在本地机器上运行
> mpif90 -show
/usr/bin/gfortran -I/path/to/openmpi/include -fexceptions -pthread -I/path/to/openmpi/lib64 \
-Wl,-rpath -Wl,/path/to/openmpi/lib64 -Wl,--enable-new-dtags -L/path/to/openmpi/lib64 -lmpi_usempi -lmpi_mpifh -lmpi
表示mpif90
正在使用系统gfortran
编译器“under-the-hood”。
要明确回答您的问题,只要您可以使用mpif90
使用“引擎盖下”的编译器编译pgplot,那么您通常应该能够使用mpif90
编译pgplot 。 然而只要mpif90
包装的编译器与您用于构建pgplot的编译器匹配,那么您可能不需要使用mpif90
再次显式编译pgplot。
要使用mpif90实际构建pgplot,需要查看pgplot构建系统以及如何设置编译器。从快速查看,您似乎需要设置sys_<type>/*.conf
文件中显示的FCOMPL变量。 (如果这实际上是您问题的要点,那么您可能希望对其进行编辑以使其清晰)