2

OpenCL カーネル内で再帰を使用しようとしています。コンパイルは成功しましたが、実行中にコンパイル エラーが発生したため、動的並列処理が CUDA でサポートされるようになったため、OpenCL は動的並列処理をサポートしていますか?

4

2 に答える 2

5

再帰は OpenCL ではサポートされていません。標準 v1.2 のセクション 6.9 のポイント i を参照してください。

編集: CUDA の新しい動的並列処理機能は、再帰とは何の関係もありません (CUDA によって少し前に既にサポートされていました。この質問を参照してください。この新しい機能により、デバイス上で実行されているスレッドが新しいグリッドを構成および起動できるようになります。以前はホストによってのみ行われていました.概要については、このドキュメントを参照してください.

2番目の編集: @Michaelの回答について:これは仕様にすぎません。実装のリリースを待つ必要があります。さらに、将来的には、適切なハードウェアを用意する必要もあります (CUDA では、機能 3.5 以上のデバイスでのみ動的並列処理がサポートされます)。したがって、あなたが質問したとき、そして今日でも、動的並列処理をサポートするOpenCL 実装はありません。

于 2013-07-17T11:46:20.710 に答える
1

動的並列処理が OpenCL 2 でサポートされるようになりました。Khronos Group は Siggraph 2013 で発表しました。

ここで仕様を確認できます

于 2013-07-23T07:55:06.610 に答える