私は現在OpenCLプロジェクトに取り組んでいます。なぜそれが再帰をサポートしないのだろうと思います。それは並列性に関連していますか?OpenCLが再帰をサポートしないのはなぜですか?
3
A
答えて
5
これはターゲットハードウェアに関連していると思います。再帰をサポートするには、特定のクラスのOpenCLデバイス(GPU)にはないいくつかのハードウェア機能が必要です。それらがなければ、コールスタックを維持し、間接的なコード分岐を行うことは実用的ではありません。 NVIDIAは同じ理由でCUDA対応ハードウェアすべてで再帰をサポートしていません。
3
OpenCLのGPUハードウェアではありません。 AMDは、再帰をサポートする将来の命令セットアーキテクチャ を策定しました。 GPUには多数のレジスタがあります(最大32K)。だから、 何を求めて取得するのに注意してください。 32Kレジスタのプッシュ/ポップは、再帰呼び出しのために高速にはなりません。
関連する問題
- 1. ATSが再帰型をサポートしないのはなぜですか?
- 2. Powershell:再帰が機能しないのはなぜですか?
- 3. gitignoreが再帰的なファイルで動作しないのはなぜですか?
- 4. なぜ+ =再帰で動作しないのですか?
- 5. この再帰がJavascriptで動作しないのはなぜですか?
- 6. なぜPythonの再帰が返されないのですか?値なし
- 7. 私の再帰が失敗するのはなぜですか?
- 8. は再帰が値返さないのはなぜ
- 9. openCLスタック位置(再帰)
- 10. なぜこの再帰は遅いのですか?
- 11. なぜgetattr()で無限再帰を取得しますが、__dict __ []では無限に再帰しますか?
- 12. Internet Explorerがincludes()をサポートしないのはなぜですか?
- 13. mxmlがコンポーネントコンストラクタをサポートしないのはなぜですか?
- 14. OpenCLサブバッファは、なぜ重要ですか?
- 15. jQueryの新しいバージョンがこの再帰で動作しないのはなぜですか?
- 16. 再帰はいつ、なぜ反復よりもパフォーマンスが悪いのですか?
- 17. なぜ治療のyield.Request()は再帰的でしたか?
- 18. 私の再帰的な友人機能がVB6で動作しないのはなぜですか?
- 19. リバースイテレータをサポートしていないのはなぜですか?
- 20. この再帰文が間違っているのはなぜですか?
- 21. 私の再帰関数が間違っているのはなぜですか?
- 22. アプレットがオーディオクリップを再生しないのはなぜですか?
- 23. Akka.Persistanceがジャーナルエントリを再生しないのはなぜですか?
- 24. 再帰的ラムダ関数のリスト選択で再帰制限エラーが発生するのはなぜですか?
- 25. なぜこの再帰関数は値を返さない
- 26. は、なぜ、この再帰エラーに
- 27. ErlangでオーバーラップUDPをサポートしないのはなぜですか?
- 28. この再帰関数はなぜ機能しますか?
- 29. この再帰プログラムはなぜ機能しますか?
- 30. メトロアプリケーションでMFCreateMediaSessionがサポートされないのはなぜですか?
Talonmies:再帰機能は、コンピューティング機能2.xデバイスのデバイス機能でサポートされています。 –
@ashwin:私はそれをよく知っています。そのため、「NVIDIAは、すべてのCUDA対応ハードウェアの再帰をサポートしていません」と言っています。彼らはいくつかの、すなわちフェルミとケプラーでそれをサポートしています... – talonmies