2012-04-07 15 views

答えて

5

これはターゲットハードウェアに関連していると思います。再帰をサポートするには、特定のクラスのOpenCLデバイス(GPU)にはないいくつかのハードウェア機能が必要です。それらがなければ、コールスタックを維持し、間接的なコード分岐を行うことは実用的ではありません。 NVIDIAは同じ理由でCUDA対応ハードウェアすべてで再帰をサポートしていません。

+0

Talonmies:再帰機能は、コンピューティング機能2.xデバイスのデバイス機能でサポートされています。 –

+0

@ashwin:私はそれをよく知っています。そのため、「NVIDIAは、すべてのCUDA対応ハードウェアの再帰をサポートしていません」と言っています。彼らはいくつかの、すなわちフェルミとケプラーでそれをサポートしています... – talonmies

3

OpenCLのGPUハードウェアではありません。 AMDは、再帰をサポートする将来の命令セットアーキテクチャ を策定しました。 GPUには多数のレジスタがあります(最大32K)。だから、 何を求めて取得するのに注意してください。 32Kレジスタのプッシュ/ポップは、再帰呼び出しのために高速にはなりません。

関連する問題