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两个函数的说明)
提交实验报告(附上源代码和代码说明)。