使用CUDA + MPI的矩阵乘法

时间:2011-05-12 00:23:03

标签: c cuda mpi

我正在研究使用mpi进行通信的集群环境中的gpu 为了比较加速,我想在创建:

GPU的矩阵乘法,确定。
现在只是CPU MatrixMulti,好的。
但我找不到一个很好的CUDA + MPI矩阵乘法实现。

任何人都有一些暗示我可以在哪里鳍?或者建议一个实现。

3 个答案:

答案 0 :(得分:1)

周围没什么。你最好的选择是在MPI上写一个块矩阵乘法,让每个节点在GPU上本地进行块乘法。

答案 1 :(得分:1)

MTL4矩阵模板库可以作为一个很好的起点。目前MTL4具有多核DMM,我们几乎完成了完整的GPU实现。彼得和我一直在讨论分布式GPU算法,但由于目前我们的重点是由PDE求解器驱动,因此分布式GPU算法难以与强大的DMM竞争。

然而,我正在开发一种新的地球物理/医学成像求解器集,它更有利于分布式GPU计算,因为数据集更加适中,GPU的视频功能也是有益的。

要开始使用,请查看MTL4 tutorial

答案 2 :(得分:0)

Combinatorial BLAS是模板化的C ++ MPI代码,具有稀疏矩阵 - 矩阵乘法运算。它使用sqrt(p)-by-sqrt(p)处理器网格和SUMMA算法进行矩阵乘法。模板参数之一是“顺序”组件,它是一个进程本地的矩阵。您可以直接使用它是您的CUDA结构的finnagled模板参数,但至少它可以作为您自己的代码的参考。