|
本帖最后由 西乡新丰客 于 2017-1-8 21:03 编辑
麻烦您在看下:我将openmpi的路径写入~/.bashrc内source后,把/usr/local/openmpi/example下的*.f90的并行例子cp到主目录~/下用mpifort编译,然后用mpirun运行, 是可以正常运行得出正确的进程数的,但是当我在根目录下编译时,是不能用mpifort来编译的,只能用mpif90来编译,而且编译后再用mpirun运行后会出现一个进程重复np次的情况。我又修改了根目录 下/etc/profile内openmpi的路径,仍然会出现只有一个进程重复np次的情况。
我并没有在.bashrc或者profile内写入过其他的mpi的环境变量。(只有ifort和openmpi的路径。)
我觉得问题是不是在于在根目录下编译fortran程序时,只能用gfortran,而我的gfortran又并没有安装好,所以只有一个进程,重复了np次,而在主目录~/下,由于我在bashrc中写入来openmpi以及ifort的路径,所以可以用ifort来编译。而现在在根目录下仍然是只能用gfortran来编译串行的fortran程序,而不能用ifort来编译,会提示sudo:ifort找不到命令。我想,是不是只要我在根目录下能用ifort编译串行的fortran程序,就可以正确安装openmpi了。这之前出想的./configure --prefix=/***/ F77=ifort FC=ifort所出现的错误也就会没有了。我已經用root下source了/.bashrc以及/etc/profile还是没有用处。
另外有帖子说:“openmpi设置fortran编译器,通过 man mpif90查到在/usr/share/openmpi/mpif90-wrapper-data.txt里面修改配置,内容的话一看就知道了。”我也试过将mpifort-wrapper-data.txtcompiler中compiler参数修改为ifort也没有效果。 |
|