- 4
- 0
- 约 51页
- 2017-06-11 发布于四川
- 举报
Google三大法宝之一:MapReduce 矩阵乘法串行实现 1: for i=1;i=N;i++ 2: for j=1;j=N;j++ 3: 4: 5: 6: for k=1;k=N;k++ C[i][j] += A[i][k]*B[k][j] end for end for 7: end for ? 算法复杂度:O(N3) ? 以1次乘法需要1个时钟周期,计算10亿维度矩阵为 例,使用1G的CPU,需要的计算时间为: t = 10亿×10亿×10亿 / 10亿 = 317年! 是否OK? 想办法解决大规模矩阵相乘问题:我拆 ? Cm = Am ⅹ B ? M台服务器并行计算,时间降低为1/M C A B C1 Cm CM A1 Am AM = ⅹ 想办法解决大规模矩阵相乘问题:我再拆 ? Cm,n = Am ⅹ Bn ? M ⅹM台服务器并行计算,时间降低为1/M2 C A B A1 Am AM = ⅹ C1,1 Cm,1 CM,1 B1 Bn BM 子任务 子任务 子任务 … 拆的本质- 分而治之 ? 分而治之 – Divide and Conquer – 一个大的计算任务分解为若干小计算任务 – 子任务计算结果合并后获得最终结果 计
原创力文档

文档评论(0)