我正在使用带有 C shell 的 UNIX 工作站。系统上安装了两种 mpif90 编译器,一种使用 ifort 编译,一种使用 gfortran 编译。默认的 mpi 编译器是用 gfortran 编译的。
现在,我想将默认编译器更改为 ifort 编译器。它存储在文件夹“/usr/local/mvapich2-icc/bin”中。所以我将以下内容添加到 ~/.cshrc 文件中:
setenv mpif90 /usr/local/mvapich2-icc/bin/mpif90
并在终端上运行“source ~/.cshrc”。然而,这似乎没有任何效果。当我输入“which mpif90”时,显示的路径仍然是gfortran编译的路径。
我该如何正确设置环境,以便调用的默认编译器是 ifort 编译的编译器?
任何帮助,将不胜感激。谢谢。
答案1
最简单的方法是调整 $PATH:
set path = (/usr/local/mvapich2-icc/bin $path)
但是,这意味着 /usr/local/mvapich2-icc/bin/ 中的所有可执行文件都会在默认路径中的可执行文件之前找到,您可能不希望这样(我不能确定)。
现在,如果您使用 Makefile 编译软件,您可能最好只定义其中的变量以使用适当的 MPI 编译器。