2011-05-12 137 views
1

我在使用mpi進行通信的集羣環境中正在研究gpu。
爲了比較加速,我認爲在創建:使用CUDA + MPI的矩陣乘法

矩陣的乘法只爲GPU,好的。
現在只需CPU MatrixMulti,確定。
但我找不到一個很好的CUDA + MPI矩陣乘法實現。

任何人都有一些暗示,我可以在這裏找到?或者建議一個實現。

+0

我與MPICH2 ENV就可以使用,所以我更喜歡比的OpenMP – Custodio

回答

1

MTL4矩陣模板庫可以是一個很好的起點。現在MTL4擁有多核DMM,而且我們幾乎完成了GPU的全部實施。彼得和我一直在談論分配GPU算法,但由於我們的重點是通過PDE解算器的時刻驅動,分佈式GPU算法是很難做出對穩健的DMM的競爭力。

但是,我正在研究一種更有利於分佈式GPU計算的新的地球物理/醫學成像求解器集,因爲數據集更加適度,GPU的視頻功能也是有益的。

要開始,看一看在MTL4 tutorial

1

周圍沒有太多。你最好的辦法是在MPI上寫一個塊矩陣乘法,讓每個節點在GPU上本地執行塊乘法。

0

Combinatorial BLAS的是具有稀疏矩陣乘法操作的模板C++ MPI代碼。它使用sqrt(p)-by-sqrt(p)處理器網格和SUMMA算法進行矩陣乘法。其中一個模板參數是「順序」組件,它是一個進程本地的矩陣。您可以直接與finnagled模板參數這是你的CUDA結構使用它,但它至少可以作爲你自己的代碼的參考。