私は現在、大規模な科学計算プロジェクトの開発に携わり、MPI /クラスタアプローチの代替として、GPUによるハードウェアアクセラレーションの可能性を模索しています。私たちは主にメモリに拘束されており、あまりにも多くのデータをメモリに入れてGPUに収めています。この目的のために、私は2つの質問を持っています:システムRAMへのGPUアクセス
1)私が読んだ本では、デバイスのポインタを使ってホスト上のメモリにアクセスするのは不正です(明らかな理由により)。その代わりに、ホストのメモリからデバイスメモリにメモリをコピーしてから、計算してからコピーバックする必要があります。私の質問は、このための回避策があるかどうかです - システムRAMの値をGPUから読み取る方法はありますか?
2)より一般的には、これらのようなメモリ境界計算中にCPUとGPU間のデータ転送を最適化するためのアルゴリズム/ソリューションはありますか?
ありがとうございました!並列化がはるかに直感的であるため、私はCUDAに切り替えることに熱心です!
チェックアウトhttp://stackoverflow.com/questions/5007556/cuda-zero-copy-memory-considerations/5011564#5011564 –