矩阵乘法并行算法分析.ppt
《矩阵乘法并行算法分析.ppt》由会员分享,可在线阅读,更多相关《矩阵乘法并行算法分析.ppt(25页珍藏版)》请在三一办公上搜索。
1、矩阵乘法并行算法分析,矩阵乘法的串行算法矩阵乘法的并行算法块矩阵乘法中常用算法分析实验总结,矩阵乘法的串行算法,基本计算方式算法实现算法分析,矩阵乘法的串行算法,基本计算方式:算法实现:for(i=0;in;i+)for(j=0;jn;j+)for(l=0;ln;l+)cij=cij+aik*bkj;,矩阵乘法的串行算法,算法分析:该算法需要进行n3个乘法运算和n3个加法运算,顺序代码的时间复杂度为O(n3)。,矩阵乘法的并行算法,引入原因解决手段块矩阵算法,矩阵乘法的并行算法,引入原因:通过观察串行算法,可以发现两个外层循环的每一次迭代不依赖于其他任何迭代,并且内层循环的各个步骤可以并行执行
2、。,矩阵乘法的并行算法,解决手段:引入多个处理器:当用n个处理器进行n*n矩阵乘法时,可以容易的获得并行的时间复杂度为O(n2)。用n2个处理器时时间复杂度为O(n)。缺点:虽然引用多处理器可降低时间复杂度,但降低的时间复杂度是针对计算而言,增加处理器会导致显著的通信开销的增加。实际中一般结合块矩阵实现。划分成子矩阵:通过块矩阵乘法实现。,矩阵乘法的并行算法,块矩阵乘法:将矩阵划分为若干子矩阵,子矩阵作为单个矩阵元素参与运算,假设分为s2个子矩阵(行列s等分),每个子矩阵有n/s*n/s个元素,若用Ap,q表示第p行第q列的子矩阵,则算法如下:for(p=0;ps;p+)for(q=0;qs;
3、q+)for(r=0;rm;r+)Cp,q=Cp,q+Ap,r*Br,q;,矩阵乘法的并行算法,说明:Cp,q=Cp,q+Ap,r*Br,q表示利用矩阵乘法将子矩阵Ap,r和Br,q相乘,再利用矩阵加法将乘积累加到子矩阵Cp,q上。当处理器数目小于n时,该方法是所有并行实现的核心。,矩阵乘法的并行算法,块矩阵乘法示例:,块矩阵乘法中常用算法分析,行列划分算法行行划分算法列列划分算法其它算法,块矩阵乘法中常用算法分析,算法中使用的参数命名约定:假设有p个处理机,Pj表示第j个处理机,Pmyid表示当前运行程序的处理机,send(x,j)和recv(x,j)分别表示在Pmyid中把x传送到Pj和从
4、Pj中接收x。讨论的算法都是在Pmyid处理机上的。用i mod p表示i对p取模运算。A和B分别是m*k和k*n矩阵,C是m*n矩阵。设设m=m*p,k=k*p和n=n*p。主要讨论实验中使用的行列划分算法。,块矩阵乘法中常用算法分析,行列划分算法将矩阵A和B分别划分为如下的行块子矩阵和列块子矩阵:Ci,j=Ai*Bj,其中Ci,j是m*n矩阵,Ai、Bi和Ci,j存放在Pi中,这种存放方式使数据在处理机种不重复。,块矩阵乘法中常用算法分析,行列划分算法由于使用p个处理机,每次每台处理机计算出一个Ci,j,计算C需要p次来完成。Ci,j的计算是按对角线进行的,计算方法如下:for(i=0;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩阵 乘法 并行 算法 分析
链接地址:https://www.31ppt.com/p-5635509.html