CUDAを使用すると、グローバルメモリに動的に割り当てることができます。しかし、私はそのmalloc
関数のスケーラビリティへの参照を見つけることができませんでした:例えば、メモリのチャンクをあらかじめ割り当ててから、グローバル整数をアトミックにインクリメントしてスレッドに次のメモリチャックを割り当てようとするよりも優れていますか?この最後の「自家製」ソリューションは機能しますが、スケーラビリティに明らかな問題があります。だから、malloc
が何とかそれを処理するかどうか疑問です。CUDAでの動的割り当て - 手書きソリューションより低い競合?
1
A
答えて
0
グローバルインテグリティへの同時呼び出しでは遅くなる可能性がありますが、あなたの「自家製」ソリューションは現在と同じように良いかもしれませんが、Mallocが私の選択になると思います。
これは、Nvidiaがスケーラビリティの頭痛に対処し、後でコードを再コンパイルするだけでハードウェアまたはソフトウェア実装のいずれかで改善することができるからです。
+0
マルチコアプログラミングのスケーラビリティのためによく知られているボトルネックであるため、mallocの使用については慎重です。 CUDA mallocのスケーラビリティについての論文/研究のため、私は手作りのソリューションに頼る必要はありません。 – GalicianMario
関連する問題
- 1. 静的対動的CUDA共有メモリ割り当てのパフォーマンス
- 2. CUDAスレッド割り当て
- 3. __device/global__内のメモリを動的に割り当てるCUDAカーネル
- 4. C++の動的割り当てメモリ内での動的メモリ割り当て
- 5. 静的割り当てと動的割り当てとの比較自動割り当て
- 6. Cuda char *変数の割り当て
- 7. CUDAカーネル内のメモリ割り当て
- 8. Cでの動的メモリ割り当て
- 9. Cでの動的割り当てエラー
- 10. Cuda異なるメモリ割り当て
- 11. 2D動的メモリ割り当て - ObjectiveC
- 12. 動的割り当て - メモリ管理
- 13. C++動的メモリ割り当て
- 14. 動的オブジェクト割り当てとアクセス権
- 15. 自動/静的なメモリ割り当て
- 16. 動的定数割り当てエラー
- 17. Rails 3 has_many、コントローラでの手動割り当て
- 18. 動的に割り当てられた構造体を再割り当て
- 19. ランクを自動的に割り当て、合計得点を
- 20. ASP.NET MVC/EF - 手動でIDを割り当てる(PK)
- 21. CUDAでの並列化、各列へのスレッドの割り当て
- 22. C#エンティティクラスへのMySQLデータベーステーブル/フィールドの手動割り当て
- 23. 動的にメモリを割り当てるときのアクセス違反
- 24. UPCによる動的配列とソートの割り当て
- 25. レールにidを手動で割り当てることはできません。
- 26. ネットワークI/OとC++用のバッファの動的なメモリ割り当てと静的なメモリの割り当て
- 27. C++でのオブジェクトの静的および動的メモリ割り当て
- 28. calloc、malloc、および動的構造体割り当て
- 29. CUDAは__device__関数でメモリを割り当てます
- 30. 動的割り当てのないハッシュテーブル/マップ実装
Wait - CUDAはGPUコードからのmallocを許可していますか? – wump
CUDAプログラミングガイド3.2、122ページ – GalicianMario