设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于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;

}

运行结果









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

                 

打印本页 | 关闭窗口
本类最新文章
基于Python的在线自主考试系 基于腾讯云的个人知识库管理系统 基于Android的酒店预定系统
基于matlab变频器控制交流电 基于微信小程序的家校联动平台管理 基于时频分析与自适应滤波技术的多
| 关于我们 | 友情链接 | 毕业设计招聘 |

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