The documentationcudaHostAlloc()
の場合、cudaHostAllocMapped
フラグを指定すると、ホスト上に固定メモリが割り当てられ、割り当てがCUDAアドレス空間に割り当てられます。ミラーバッファがデバイスにも割り当てられているのでしょうか? cudaHostAlloc()
またはcudaHostGetDevicePointer()
の呼び出しのいずれか。 cudaHostGetDevicePointer()
によって返されたポインタへのアクセスごとに、デバイスはホストメモリと通信しますか?cudaHostAllocMappedもデバイスにバッファを割り当てますか?
この質問は、APIが何であるか、いつAPIを使用するのか、固定されたメモリであるのかを尋ねないので、When to use cudaHostRegister() and cudaHostAlloc()? What is the meaning of "Pinned or page-locked" memory? Which are the equivalent in OpenCL?とは異なります。私はミラーバッファがGPUに割り当てられているかどうかを特に質問します。
[cudaHostRegister()とcudaHostAlloc()をいつ使用するか? 「固定された」または「ページロックされた」メモリの意味は何ですか?どちらがOpenCLで同等ですか?](http://stackoverflow.com/questions/39454465/when-to-use-cudahostregister-and-cudahostalloc-what-is-the-meaning-of-pinn) – Leos313
@ Leos313、thereミラーバッファに関する質問や答えには何もありません。私はすでにその質問に対する答えを知っていました。私は、GPUがどのようにCPUメモリにアクセスするかについての詳細に興味があります。 –
デバイスにメモリが割り当てられていない場合、すべてのアクセスはホストメモリに送られます。 [このドキュメント](http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#mapped-memory)は、お客様のニーズに適しています。 – tera