以前曾问过类似的question,但答案并没有直接解决我遇到的问题。我正在尝试在HPC机器上编译基于fortran的应用程序。该计算机同时安装了ifort
和mpifort
并且位于路径中。当我使用MPI(Open MPI 1.8.8)包装器ifort
时,它会自动使用gfortran
,这很好。但出于某种原因,我想改用mpifort
。如何确保gfortran
包装器默认为ifort
而不是{{1}}?
答案 0 :(得分:3)
从mpifort
读取Open MPI $ompi_root/share/openmpi/mpifort-wrapper-data.txt
使用的默认Fortran编译器。构建过程存储了构建库时选择的Fortran编译器。可以通过设置OMPI_FC
环境变量来覆盖它。这同样适用于C包装器(OMPI_CC
)和C ++包装器(OMPI_CXX
)。
示例:
$ mpifort -showme:command
ifort
$ env OMPI_FC=gfortran mpifort -showme:command
gfortran
请记住,与C和C ++不同,英特尔在Fortran ABI上不同意GCC。
答案 1 :(得分:0)
mpifort -fc=gfortran main.f90 (or other files you want to compile)
也可以帮助改变编译器。