2017-03-09 9 views
4

I [i]は[J]私はすべての元素Mのためにこれを横断し、計算する必要がM * N個の整数の行列を有する:GPUでこの種の並列計算を行うことはできますか?

The integer which appears most often in the submatrix from (i-k,j-k) to (i+k, j+k). 

その結果、各セルは、支配的な数であるとマトリックスであります元の行列の[i、j]を回る。

この行列は非常に大きくなる可能性があり、タイトなループでこの操作を行う必要があるため、並列計算によって操作時間を最小限に抑えたいと考えています。

私はGPUが行列乗算に優れていることは知っていますが、これは単純な行列乗算には縮小できないようです。 (またはできますか?)

各セルをGPUで並列に計算することはできますか?それがあれば、私はこれをiOSで実装したいのですが、どのプログラミングインターフェイスを使うべきですか、Metal? OpenGL?

+1

グラフィック関連ではないGPU計算を行うプログラミングインターフェイスはhttps://developer.apple.com/reference/accelerateを呼び出します。 https://developer.apple.com/reference/accelerate/blasにはたくさんの行列があります。あなたの特別な質問のために、あなたが望むことをする機能があるかどうかはわかりません。 –

+0

ありがとう! '加速する'は '金属'に比べてどうですか? 1つは別のものに基づいていますか?これは高レベルで使いやすくなっていますか? – NeoWang

答えて

1

はい、この計算はGPUで実行できます。

金属は、グラフィカルおよび汎用の両方の計算に使用されているようです。だから、あなたはあなたのニーズのためにそれを使用することができるはずです(ここでは、それを導入品である:http://memkite.com/blog/2014/12/15/data-parallel-programming-with-metal-and-swift-for-iphoneipad-gpu/

Accelerateことも、私たちのニーズに合うことができます。

このヘルプが必要です。

関連する問題