矩阵乘法的优化.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
矩阵乘法的优化.pdf

科建园地 Cybertecture Field 谢林川 武警警官学院电子技术系 610041 在科学与工程计算的许多问题中经常需要进行矩阵计算。矩 for p=I,min(i+M,m) 阵乘、求解线性方程组和矩阵特征值问题是矩阵计算最基本的内 for q=j,min(j+N,n) 核。许多先进的计算机上都配有高效的串行程序库。为了在并行 C(p,q)=C(p,q)*Beta 计算环境上实现矩阵乘积,研究并行算法是非常必要的。本文主 Endfor 要讲述了如何在多核处理器上对矩阵乘法进行优化。 endfor 1. 矩阵乘法串行算法 for L=1,k,K 矩阵乘法在实现上比较简单,可以通过 3 层循环得到。例如 for p=i,min(i+M,m) 我 们 求 C=Beta*C+Alpha*A*B, 其 中 A,B,C,Alpha,Beta 都 是 双 for q=j,min(j+N,n) 精度浮点数据。串行算法的实现原理是:矩阵 A 中的一行和矩阵 for r=l,min(L+K,k) B 中的一列对应元素进行乘加得到矩阵 C 中的对应元素。假设 A C(p,q)=C(p,q)+Alpha*A(p,r)*B(r,q) 是一个 m*k 的矩阵,B 是一个 k*n 矩阵,因此 C 是一个 m*n 矩阵, endfor 我们可以得到串行算法程序如下: endfor for i=1, m endfor for j=1, n endfor C(i,j)=C(i,j)*Beta 3.分层技术 for L=1, k 因为处理器 L1cache 和 L2cache 到寄存器的带宽大致相同, C(i,j)= C(i,j)+Alpha*A(i,L)*B(L,j) L2cacahe 的大小明显大于 L1cache,这样能够存放更多的数据,基 endfor 于这种情况,提出把分块 A 存放在 L2cache 中,使得 B 矩阵的运 endfor 算访存比得到了提高。此外,对矩阵乘法划分方法进行了总结, endfor 通过分析得出:对矩阵 A 和 B 都进行划分,得到的性能是最优的。 2.矩阵乘法分块算法 可以对 GEBP 算法的实现做了进一步的优化:在寄存器中预取 A 上面我们对矩阵乘法的串行算法做了分析,我们在计算矩阵 和 B,隐藏访存时间;增大分块参数 kc,

文档评论(0)

shiyouguizi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档