并行处理 mpi矩阵乘法

本文介绍了基于MPI的并行矩阵乘法实现,详细阐述了实验目的、环境和内容,包括如何使用集群、并行程序设计、矩阵初始化以及串并行加速比分析。通过实验,作者探讨了不同矩阵类型(稀疏/稠密)对执行性能的影响,并展示了不同并行度下的执行时间,揭示了最佳并行度和矩阵维度对加速比的优化效果。
摘要由CSDN通过智能技术生成


基于MPI并行方法实现矩阵乘法

目录

1. 实验目的 3

2. 实验环境 4

3. 实验内容 4

3.1. 实验题目 4

3.2. 实验过程 5

3.2.1. 集群使用 5

3.2.2. 源码及解析 5

3.3. 执行时间截图 12

3.3.1. 基准程序参数设计 12

3.3.2. 运行结果截图 14

3.3.3. 稀疏/稠密矩阵参数设计 18

4. 实验结论 18

4.1. 基准矩阵乘法结果分析 18

4.2. 稀疏/稠密矩阵结果分析 21

5. 附加项 21

1. 
实验目的

① 掌握集群的使用方法

② 掌握怎样以并行/分布式的方式来设计程序

③ 掌握怎样用并行的思想来分析一个特定问题

④ 掌握怎样对一个现有方案进行多方位优化

2. 实验环境

① Wikihttp://grid.hust.edu.cn/hpcc

② 本机实验环境:

Windows 版本

windows 7旗舰版

处理器

Intel(R) Core(TM) i7 CPU Q720 @1.6GHZ

安装内存(RAM)

4.00GB(2.99GB可用)

系统类型

32位操作系统

 

③ 集群实验环境:

 与服务器建立远程连接,主机地址:*******,用户名:***** 密码:******

使用ssh命令行登录集群的两个节点(sudo ssh blade13/blade15)。

远程主机上已经搭建好了MPIHadoop的环境,可进行直接进行编程。

3. 实验内容

3.1. 实验题目

 本实验要求使用并行的方法完成矩阵乘法的计算,之后分析串并行条件下,矩阵乘法运行时间的加速比,优化所设计的并行程序。

整个实验有以下三点具体要求:

① 编程生成所需矩阵,作为负载输入。矩阵维数的最小要求是1000.

② 用并行的方法设计程序,比如MR,OPENMP,MPI

③ 串并行加速比要求越高越好

3.2. 实验过程

3.2.1. 集群使用

① 下载并安装xmanager企业版。

② 打开xftp,建立新的连接,主机地址:*************.home/pppusr的文件夹下以学号为名建立文件夹,在自己的文件夹下进行上传和修改操作。

③ 打开xshell,点击新建,写入主机ip同上,再输入账号和密码。

④ $sudo ssh blade13

#cd /home/pppusr/学号,开始编程。

⑤ 编程完成,使用命令行:mpicc -o 程序名 ×××.c 来编译源代码,生成可执行程序。

⑥ 使用命令行:mpiexec -machine /home/pppusr/mpi.host -np 4 程序名 来运行程序。

3.2.2. 源码及解析

本实验中我使用的并行方法是MPI,主要编写了两个.c文件,分别是基准矩阵乘法程序(mpi_basic.c)和基于稠密/稀疏矩阵的乘法运算程序(mpi_sparse.c)

① mpi_basic.c

在文件中,我们通过void Init(float *a)函数对矩阵A,B进行初始化,具体是使用

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值