私はCUDAを使って書いているプログラムに問題があります。私は、デバイスメモリにコピーする必要がある入力配列と出力配列を持っています。問題は、両方のアレイが大きすぎてデバイスメモリに収まらないことです。私が今やっていることは、入力と出力の両方の配列を分割し、カーネルを両方の部分に対して順番に実行することです。
このアプローチが機能するためには、cudaMemcpyFromArrayとcudaMemcpyToArrayがテクスチャメモリでのみ機能するように見えるため、中間配列を使用します。これにより、不必要なメモリコピー操作が発生します。誰かがより効率的な方法を知っていますか?CUDAの大きな入力の効率的なmemcpy?
0
A
答えて
0
アレイの1つのセグメント上の操作がアレイの別のセグメント上の操作と独立している場合は、非同期メモリコピーを使用できます。これは計算をしながら前後に物事をコピーするのに役立ちます。
いくつかの関数呼び出しは非同期です:デバイスが要求されたタスクを完了する前に、コントロールをホスト スレッドに返されたCUDA Cプログラミングガイドから。これらは次のとおりです。
- カーネルが起動しました。
- デバイスからデバイスへのメモリコピー。
- 64 KB以下のメモリブロックのホストからデバイスへのメモリコピー。
- Asyncの後に付いた関数によって実行されるメモリコピー。
- メモリセット関数が呼び出されます。
仲間に役立つことを願っています。また、イネのコーディングを使用して配列を圧縮して、それらをフィットさせることも考えられます。
1
関連する問題
- 1. マップの最大効率的な挿入
- 2. CUDAの効率的な画像ピラミッド?
- 3. Python:Webフォームに大きなリストを効率的に入力できますか?
- 4. Postgresの大きなテーブルを重複してチェックする効率的な挿入
- 5. 大きなファイル(最大2GB)をCUDA GPUに効率的に転送できますか?
- 6. Javaの文字列メソッドへの効率的な入力ストリーム
- 7. 効率的なバルクデータの挿入
- 8. sqliteの効率的な挿入android
- 9. 大きな表を別の表に効率的にコピーする
- 10. Rubyで最も効率的な入力方法
- 11. Capistranoによる効率的な導入
- 12. 大規模なXMLファイルの効率的な格納とアクセス
- 13. 巨大な多次元行列の効率的な検索
- 14. C++で効率的に大きなtxtを読む
- 15. 大きな文字列を効率的に検索する
- 16. 大きなExcelファイルを検索し、効率的に
- 17. Hibernate - 大きなオブジェクトグラフを効率的にフェッチする方法は?
- 18. アルゴリズムの効率的な書き方
- 19. 効率的なCSSの書き方
- 20. 効率的なウェブカメラライブラリ
- 21. 効率的なストップウォッチ
- 22. 効率的なタイマーアルゴリズム
- 23. 効率的なワードスクランブルアルゴリズム
- 24. 大きなNumPy配列をファイルに書き込む効率的な方法
- 25. ハスケルの効率的なハッシュマップコンテナ?
- 26. CCSpriteの効率的なアニメーション
- 27. Haskellの効率的なオーバーロード
- 28. ArrayListの効率的なonDraw
- 29. WPFの効率的なライブログビューア
- 30. GLSLの効率的なバイキュービックフィルタリングコード?