私は持っている:
cudaHostAlloc(..., cudaHostAllocMapped)またはを使用して正常に固定およびマップされたホスト メモリcudaHostRegister(..., cudaHostRegisterMapped)。- デバイス ポインタは、 を使用して取得されてい
cudaHostGetDevicePointer(...)ます。
cudaMemcpy(..., cudaMemcpyDeviceToDevice)上記の手法によって取得された固定 + マップ メモリの 2 つの異なる領域を指す src および dest デバイス ポインターで開始します。すべて正常に動作します。
memcpy()質問:とにかくすべてがシステム メモリにあるので、これを続けるべきですか、それとも従来の CPU スタイルを使用するべきですか? ...またはそれらは同じですか(つまり、src と dest の両方が固定されている場合cudaMemcpy、ストレートにマップされますか)?memcpy
(以前はすべてがデバイスのグローバルメモリにあったため、私はまだこのcudaMemcpy方法を使用していますが、gmemサイズの制約により固定メモリに切り替えました)