#include “stdafx.h”
#include <stdio.h>
#include “mpi.h”
#include <Windows.h>
#define N 200 //矩阵的阶数
#define MASTER 0 //主进程号
#define FROM_MASTER 1 //设置消息类型
#define FROM_WORKER 2 //设置消息类型
MPI_Status status;
void main(int argc,char **argv)
{
int numtasks, //进程总数
taskid, //进程标识
numworkers, //从进程数目
source, //消息源
dest, //消息目的地
nbytes,
mtype, //消息类型
rows,
averow,extra,offset, //从进程所分的行数
i,j,k,t,
count;
long double A[N][N],B[N][N];
long long C[N][N];
long long sumand = 0; //求的乘积矩阵的所有元素的和
double starttime,endtime;
MPI_Init(&argc,&argv); // 初始化MPI环境
MPI_Comm_rank(MPI_COMM_WORLD,&taskid);//标识各个MPI进程 ,告诉调用该函数进程的当前进程号
MPI_Comm_size(MPI_COMM_WORLD,&numtasks);//用来标识相应进程组中有多少个进程
numworkers = numtasks-1; //从进程数目
/* 程序采用主从模式,以下为主进程程序 */
if(t