MPI计时

  • 格式:pdf
  • 大小:342.05 KB
  • 文档页数:2

实验三:MPI计时
复习知识:
1、实验一MPICH安装和VC6编译环境中整合MPICH两部分的内容;HelloWorld 程序运行分析;
2、实验二MPI程序的框架结构与基本函数
3、消息发送函数MPI_Send(buf, count, datatype, dest, tag, comm)
消息接收函数MPI_Recv(buf, count, datatype, source, tag, comm, status)
实验内容:MPI时间函数练习
1)自学P35 有关“7.计时功能”的内容,了解MPI程序中获取时间的方法。

2)认真阅读与分析P40 有关“4.4.1 获取数据传输时间”的内容和程序代码,理解程
序的原理。

3)请参考本程序,在VC中编程要求实现如下所述的功能,调试运行并分析。

程序概述:
●并行计算输出所有小于等于N的素数的总和。

如N=20,则程序输出
1+2+3+5+7+11+13+17+19之和。

●并行的进程个数设定为4个。

为了考虑各进程累加任务的负载均衡,考虑将每个进
程负责大约1/4的工作量。

即:0号进程计算1~[N/4]素数只和的计算,1号进程计算[N/4]~[2N/4]素数只和的计算,2号进程计算[2N/4]~[3N/4]素数只和的计算,3号进程计算[3N/4]~[N]素数只和的计算。

●各进程求出本区间素数之和后,将值传递给0号进程,由其累加并输出结果。

●此外,0号进程还负责计时,并输出所耗费时间。

提醒:
●N值可以采用预先定义值(#define N …),也可以接受程序命令命令行参数(argc和
argv)取得。

●各区间之间不要有重复或遗漏的元素。

●在调用MPI_Send和MPI_Recv函数的时候,要特别注意各个参数的的值。

(参考课
本P34两个函数的说明)
提交实验报告(附上源代码和代码说明)。