/ / Metalを使ってGPUでアルゴリズムを実行できますか。 - IOS、迅速、金属

メタルを使ってGPUでアルゴリズムを実行できますか? - イオス、スウィフト、メタル

最小編集距離アルゴリズムを使用して2つの文字列がどの程度密接に関連しているかを判断します。私はこれをCPU上で実行するように実装していて、何百もの文字列がある場合はうまく機能しますが、何千もの文字列を何度も比較する場合は速度が低下する原因となります。 GPUは一度に複数の比較を実行する可能性があるためです。

これは可能ですか?私が出くわしたMetalリソースは主にグラフィックのためのもので、役に立ちません。それとも多分彼らは?

回答:

回答№1は6

あなたがしたいことは、少なくとも以下のために可能です。問題の大きさはある程度ありますが、それほど簡単ではありません。GPUやiOSで実行できるようにアルゴリズムを表現することが、おそらくMetalの使用を意味します。具体的には、最小編集距離アルゴリズムを実装した1つまたは複数の計算カーネルをMetalシェーディング言語で記述してから、Metal computeコマンドエンコーダを使用してそれらをディスパッチする必要があります。

私は "MEDの既存のMetal実装を知らないが、少なくともある 1つのCUDA実装GPUでMEDの詳しい説明を読むことができます ここに.


回答№2の場合は3

@warrenmの答えに加えて、あなたはカーネル関数またはそれらのカップルを書く必要があります。クールなメタルチュートリアルWebサイトがあります。 http://metalbyexample.comまた、アップルのドキュメントにもあります。 https://developer.apple.com/library/content/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/Compute-Ctx/Compute-Ctx.html

そしてまた上にチュートリアルのカップルがあります https://www.raywenderlich.com しかし、それらはほとんどグラフィック指向です。 また、iOS用のGPUImageライブラリをチェックすることもできます。これは、OpenGLの素晴らしいインタフェースを備えたクールなラッパーです。 OpenGLを使って実行されるカスタム関数を書くオプションもあるでしょうか。