并行计算5矩阵.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并行计算5矩阵

现代密码学理论与实践之五 并 行 计 算 稠密矩阵运算 稠密矩阵运算 矩阵是一种重要的数据结构,它可以表达很丰富的内容。矩阵可以分为两类,一类是稠密(dense)矩阵,其特点是多数元素都非零;第二类矩阵称为稀疏矩阵(sparse matrices),特点是多数元素都为零。之所以这样区分,是因为稀疏矩阵可以通过只存储非零元素(及其索引)而节省空间,并且稀疏矩阵在很多操作上可以优化。 矩阵的划分 为了对一个矩阵进行并行操作,必须将其进行划分并映射到不同的处理器上,尤其是科学计算中矩阵的规模一般都很庞大 的情况下更是如此。以后将会看到,不同的矩阵划分方式对算法的性能有着不容忽视的影响,因此确定那些划分和映射方式最有利于性能提高是很重要的。在这儿将讨论常用的矩阵划分和映射方式。 带状划分 带状划分就是把矩阵按照行或列分成几部分,分别映射到各个处理器。如果分到每个处理器的各行或列是连续的,则称为块带状划分(Block-Striped);相对的,如果是按照行号或者列号取模而进行的矩阵划分则称为循环带状划分(Cyclic-Striped)。 下图是一个16×16的矩阵带状划分到4各处理器的例子,左右分别为列方向的块带状划分和行方向的循环带状划分。 带状划分最多能够把一个n×n的矩阵划分到n的处理器上。 带状划分 16×16阶矩阵,p=4 列带状划分 行循环带状划分 带状划分 p=3,27× 27矩阵的3种带状划分 棋盘划分 棋盘划分把矩阵划分称为若干个子矩阵并映射到不同的处理器上,每个处理器都不包含完整的行和列。和条带状划分类似,棋盘划分也可以分为块棋盘划分和循环棋盘划分 对于实际的网格状互联网络结构,矩阵的棋盘划分可以方便地映射到其上。比如把一个n×n的矩阵按照棋盘划分映射到一个q×q的二维网格上(设p=q×q),则每个处理器包含 个矩阵元素。 利用棋盘划分可以划分到更细的粒度(最多可以划分成n×n块),从而可以达到更高的并行度。 棋盘划分 8×8阶矩阵,p=16 块棋盘划分 循环棋盘划分 棋盘划分 示例:p=4,16×16矩阵的3种棋盘划分 矩阵的转置 转置(Transposition)是基本的矩阵运算。一个矩阵A的转置记为 ,它是将矩阵A的元素沿对角线互换而得到的。矩阵转置的串行算法很简单,只需要把上三角(不包括对角线)的元素循环一遍,每个元素与其对称位置的元素交换位置即可,整个过程只需要一个单位的多余空间,时间复杂度为O(n2)。下面讨论在不同的矩阵划分方式下的并行矩阵转置算法。 带状划分的矩阵转置 划分: An×n分成p个(n/p)×n大小的带 算法: ①Pi有p-1个(n/p)×(n/p)大小子块发送到另外p-1个处理器中; ②每个处理器本地交换相应的元素 棋盘划分的矩阵转置 仅讨论网格块棋盘划分的矩阵转置算法,循环棋盘划分和映射同样考虑即可。下面分两种不同的网络互联结构分别讨论:二维网格互联结构、超立方体结构。 网孔连接 划分: 算法: ①按mesh连接进行块转置(不同处理器间) ②进行块内转置(同一处理器内) 网孔连接 情形1: p=n2。 通讯步 转置后 4×4矩阵转置 4×4矩阵转置 网孔连接 网孔连接 通讯步 转置后 网孔连接 超立方连接 转置也可以递归地进行,称为递归转置算法(Recursive Transposition Algorithm)。基本思路是一个n×n的矩阵先分成4个子矩阵,把每个子矩阵看作一个整体对整个大矩阵进行转置;然后每个子矩阵再分成4个更小的矩阵,逐次递归 超立方连接 超立方连接 划分: 算法: ① ②对Aij递归应用①进行转置,直至分块矩阵的元素处于同一处理器; ③进行同一处理器的内部转置。 运行时间: 超立方连接:示例 矩阵向量乘法 一个矩阵与向量相乘,结果得到一个向量。矩阵向

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档