并行程序设计实验报告-MPI进阶实验.docxVIP

  • 12
  • 0
  • 约4.33千字
  • 约 9页
  • 2023-10-20 发布于上海
  • 举报
实验4:MPI进阶实验 实验目的 掌握MPI集合通信基础方法使用以及MPI派生数据基础方法使用,可独立实现矩阵乘法的MPI并行计算编程并可完成派生数据类型的聚集和广播。 实验要求 集合通信 在上次实验中,所有操作都是通过编程者指定发送和接收者来实现的,可以称之为点对点的通信,这种做法十分复杂,而且也不能保证编程者能以此写出最佳性能的程序。因此 MPI 提供了一种包含进程组中所有进程的全局通信操作,我们称之为集合通信。集合通信可以和点对点通信共用一个通信域而不产生消息混淆。集合通信一般实现了三个功能:通信、聚集和同步。通信功能主要完成进程组内进程间数据的传输;聚集功能在通信功能的基础上对给定的数据完成一定的操作,有点类似 OpenMP 中的 reduction;同步功能使进程组内所有进程等待在特定的地点上,从而达到进程执行进度上的一致,有点类似 OpenMP 中的隐式或显示栅栏。 广播 在一个集合通信中,如果属于一个进程的数据被发送到通信域中的所有进程,这样的集合通信就叫做广播(broadcast)。 参考实验指导书4-1节 规约 广播是将消息发散出去,那么归约就是将消息集中起来处理的方法。归约操作是指对分布在不同进程中的数据间进行交互运算,常用的运算有求和、求 最大或最小值等。 程序代码见程序4-2 全局规约 使用 MPI_Reduce 语句需要指定一个目标进程,也就是说只有

文档评论(0)

1亿VIP精品文档

相关文档