并行计算 利用mpi实现Cannon和fox算法

C a n n o n Cannon Cannon算法:

输入:两个 N ∗ N N*N NN的矩阵 A 、 B A、B AB P P P个处理器。
输出:若 P P P是完全平方数且 N % P = 0 N\%\sqrt P=0 N%P =0,则计算 C = A ∗ B C=A*B C=AB并输出。
算法思想:将 N ∗ N N*N NN的矩阵分割成 P P P块,即每行每列均有 P \sqrt P P 个分块矩阵,那么每个分块的行列都等于 N / P N/\sqrt P N/P 。将这些分块分给 P P P个处理器,即处理器 P i j P_{ij} Pij管理分块 A i j 、 B i j A_{ij}、B_{ij} AijBij,并计算对应分块 C i j C_{ij} Cij的结果。初始时将分块 A i j A_{ij} Aij循环左移 i i i步,分块 B i j B_{ij} Bij循环上移 j j j步。接下来是运算过程,计算 A i j ∗ B i j A_{ij}*B_{ij} AijBij并将结果放置到 C i j C_{ij} Cij中,计算完成后 A i j A_{ij} Aij循环左移一步, B i j B_{ij} Bij循环上移一步,重复这个过程 P \sqrt P P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值