Fortran 直接链接编译器命令,而不是向环境变量添加正确的路径

Fortran 直接链接编译器命令,而不是向环境变量添加正确的路径,fortran,openmpi,intel-mpi,Fortran,Openmpi,Intel Mpi,在post中,我使用的mpirun版本有问题。一个快速的解决方案(即使它没有解决所有问题)是在我的path环境变量中将路径添加到openmpi版本的mpirun,这样我的shell在查找此命令时就知道首先要查看路径 在我正在使用的另一个代码中,我需要调用英特尔版本的mpif77。一个快速的解决方案是再次向环境变量添加正确的路径。但是,这意味着我只能让一个代码自动工作,而对于其他代码,我需要进行一些预处理,以确保链接的是正确版本的mpi命令 有没有办法绕过这个问题?例如,我只想将mpif77链接到

在post中,我使用的
mpirun
版本有问题。一个快速的解决方案(即使它没有解决所有问题)是在我的
path
环境变量中将路径添加到
openmpi
版本的
mpirun
,这样我的shell在查找此命令时就知道首先要查看路径

在我正在使用的另一个代码中,我需要调用英特尔版本的
mpif77
。一个快速的解决方案是再次向环境变量添加正确的路径。但是,这意味着我只能让一个代码自动工作,而对于其他代码,我需要进行一些预处理,以确保链接的是正确版本的
mpi
命令


有没有办法绕过这个问题?例如,我只想将
mpif77
链接到它的英特尔版本,将
mpic++
链接到openmp版本,而不是通过
PATH
环境变量进行链接,如果您只使用openmp或英特尔,而不是两者都使用,这最终会很方便

为什么不在shell配置中使用别名

alias intel_mpif77="/path/to/wrappercompiler"
alias ompi_mpic++= ...

查看模块。为此,它们通常用于超级计算机,但也用于其他Unix计算机。或者,您可以准备一个短脚本,在MPI库之间切换并设置正确的
路径
变量。英特尔MPI以不同的方式命名其特定于英特尔的编译器包装器:
mpiicc
(请注意额外的
i
)、
mpiifort
,等等。