mpicc/mpicxx/mpiexec
来源:互联网 发布:cnzz统计在线人数js 编辑:程序博客网 时间:2024/06/06 10:52
C程序用mpicc编译
C++程序用mpicxx编译,可以加参数用g++太烦了,要加很多参数
mpiexec执行
如:mpicxx -Wall -march=pentium4 -mmmx ft.cpp -o ft -lpthread
mpiexec启动应用程序的标准命令写作:mpiexec -n 32 app,该命令为app程序启动32个进程。
mpiexec -n 1-host node1 master: -n 32-host node2 slave 该命令在node1上启动一个进程运行master,在node2机器上启动32个进程运行slave.
不使用mpiexec而直接运行可执行文件也可以启动MPI程序,只要程序中调用了MPI_Init函数,则所启动的进程即为MPI进程,并可执行其它MPI调用。
附一个简单的测试程序:
//sum=1+2+3+...+n重复100次,打印总耗时
#include <stdio.h>
#include <math.h>
#include "mpi.h"
int main(int argc,char *argv[])
{
int i,j,k,n,myid,numprocs,namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
double startwtime=0.0,endwtime;
float mysum, sum;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
MPI_Get_processor_name(processor_name,&namelen);
n = 1;
for(j = 1; j <= 1000; ++j) {
mysum = 0;
for(k = myid + 1; k <= 16; k += numprocs) {
mysum += k;
}
MPI_Reduce(&mysum,&sum,1,MPI_FLOAT,MPI_SUM,0,MPI_COMM_WORLD);
}
for(i = 1; i <= 14; ++i) {
n = n << 2;
startwtime=MPI_Wtime();
for(j = 1; j <= 100; ++j) {
mysum = 0;
for(k = myid + 1; k <= n; k += numprocs) {
mysum += k;
}
MPI_Reduce(&mysum,&sum,1,MPI_FLOAT,MPI_SUM,0,MPI_COMM_WORLD);
}
if (myid == 0) {
fprintf(stderr,"4^%d: total 100 times cost:%lf s and result is %f/n", i
, (MPI_Wtime() - startwtime), sum);
}
}
MPI_Finalize();
return 0;
}
//
编译g++ atu.cpp -I /usr/include/mpich2 -lmpi -o test或者mpicxx atu.cpp -o test
然后将可执行文件拷到不同的结点上的相同位置
mpdboot -n 4 -f mpd.hosts
mpiexec -n 4 ./test
- mpicc/mpicxx/mpiexec
- mpiexec error
- mpiCC与mpicc命令详解
- mpirun mpd mpiexec
- MPICH2 mpiexec集群并行计算
- automake生成makefile和mpicc链接库
- 并行计算中 mpiexec 的执行
- Windows下编译MPI程序(没有mpicc怎么办)
- gcc/mpicc 编译器 undefined reference to ... 问题的解决
- SQLSERVER聚集索引与非聚集索引
- SQLSERVER聚集索引与非聚集索引
- 写给想当程序员的朋友!
- GAC的理解及其作用
- 内存泄露 Analyzing the memory usage of your Android application
- mpicc/mpicxx/mpiexec
- 《深入Java虚拟机》导读之五: Class文件结构
- Qt 简介
- 了解SIP--当今最热门的通信协议已经发展成熟
- NOIP -- 以往试题: 等差数列
- SQL语句更改数据库名,表名,列名
- MyEclipse不将class文件或配置文件保存到classes目录下的问题(留个脚印)
- Web标准网站建设的一些思考
- 对android项目反向工程的方法