mpi命令
10.1.3 编译命令
mpiCC/mpicc/mpif77/mpif90
mpiCC编译并联接用C++编写的MPI程序 而mpicc是编译并联接用C编写的MPI程序
mpif77和mpif90分别编译并联接用FORTRAN77和Fortran90编写的MPI程序 这些命令在联
接时可以自动提供MPI需要的库 并提供特定的开关选项 注意mpiCC不能不能用于编译C
程序 常用的编译选项是
-mpilog 产生MPE的log文件
-mpitrace 产生跟踪文件
这样在该MPI程序执行时会打印出其运行踪迹信息
但是它和-mpilog 在编译时不能同时存在 只能二者选一
-mpianim 产生实时动画
-show 显示编译时产生的命令 但并不执行它
-help 给出帮助信息
-echo 显示出当前正在编译联接的命令信息
此外它们还可以使用一般的C++/C/FORTRAN77/Fortran90通用的选项
含义和原来的编译器相同
To compile a single file foo.c, use
mpicc -c foo.c
To link the output and make an executable, use
mpicc -o foo foo.o
Combining compilation and linking in a single command
mpicc -o foo foo.c
最简单的MPI运行命令是
mpirun –np N program
program是可执行MPI程序名 以这种方式进行执行
其中N是同时运行的进程的个数
需要首先对可用的机器进行配置 配置文件是$(HOME)/mpich/util/machines/machines.LINUX
在这个文件中 每一行写上可用的机器名 比如
tp5.cs.tsinghua.edu.cn
tp1.cs.tsinghua.edu.cn
tp2.cs.tsinghua.edu.cn
tp3.cs.tsinghua.edu.cn
tp4.cs.tsinghua.edu.cn
83
tp8.cs.tsinghua.edu.cn
这样就有6台机器可供MPI使用 使用这种方式启动时 可执行程序必须放在不同机
同帐户的相同路径下 比如在tp5.cs.tsinghua.edu.cn上$(HOME)/mpich/examples/basic/下
mpirun –np 6 cpi
则需要在{tp1,tp2,tp3,tp4,tp8}上的$