毕业作品网站

 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopinvvp QQ:1015083682   

基于MPI和OpenMP的并行程序设计与实现 课程报告+代码及可执行exe文件

文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

目录

基于MPI和OpenMP的并行程序设计与实现

一、实验目的和要求

二、实验内容

(1)使用SPMD编程模式编写求解MPI程序。

(2)编写求解OpenMP程序

<2.1>并行域并行求解

<2.2>使用for循环制导计算

<2.3>使用带reduction子句的for循环制导

<2.4>通过private子句和critical制导计算

(3)基于MPI+OpenMP编写求解程序。

(4)设计并实现矩阵乘的并行算法,分析所设计的并行算法的性能,比如加速比、并行效率和可扩展性。(选做)

(5)MPI与OpenMP有什么区别?谈谈对高性能计算的理解和认识。


基于MPI和OpenMP的并行程序设计与实现

一、实验目的和要求

(1) 掌握高性能计算相关基础知识和并行程序设计的方法。

(2) 掌握Linux系统的安装与使用。

(3) 掌握Linux下并行计算环境的搭建与使用。

(4) 掌握基于MPI的并行编程方法。

(5) 掌握基于OpenMP的并行编程方法。

(6) 掌握MPI+OpenMP的并行编程方法。

(7) 练习课件第5、6章的相关例子。

二、实验内容

(1)使用SPMD编程模式编写求解MPI程序。

分析:

这是根据PPT上的串行代码改的MPI代码,实际上就是通过不断的计算,然后将各个线程运算的结果记录在mypi中,并通过归约的方式传入pi并对多个线程的结果作累加(MPI_SUM)。运行时间很短,这里我们将循环次数都设为1000000,方便下面的对比。

代码:

#include <stdio.h>

#include <mpi.h>

const int n = 1000000;

int main(int argc, char *argv[])

{

int my_rank, num_procs;

long i;

double w, local, mypi = 0.0, pi;

double start = 0.0, stop = 0.0;

MPI_Init(&argc, &argv);

MPI_Comm_size(MPI_COMM_WORLD, &num_procs);

MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

if (my_rank == 0)

start = MPI_Wtime();

w = 1.0 / n;

for (i = my_rank; i < n; i += num_procs)

{

local = (i + 0.5) * w;

mypi += 4.0 / (1.0 + local * local);

}

mypi *= w;

MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);

if (my_rank == 0)

{

printf("PI is %\n", pi);

stop = MPI_Wtime();

printf("Time:%f\n", stop - start);

fflush(stdout); //清空缓冲区

}

MPI_Finalize();

return 0;

}

运行结果









  全套毕业设计论文现成成品资料请咨询微信号:biyezuopinvvp QQ:1015083682     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于MatlabSimulink 35kV输电线路继电保护的设计 分布式风电场低电压穿越故障建模与
大学生内容分享和社交平台的设计与 基于SSM框架的企业人事薪酬管理 基于大模型的代码注释自动生成与维
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopinvvp QQ:1015083682  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!