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