0

割り当て用のCUDA SDK 関数cudaHostAlloc()では、新しいメモリ領域でフラグを使用できます。

  • cudaHostAllocDefault (デフォルト- 0 で、cudaHostAlloc() が cudaMallocHost() をエミュレートする)
  • cudaHostAllocPortable
  • cudaHostAllocMapped
  • cudaHostAllocWriteCombined

すでに割り当てられているメモリ領域をマークするにはcudaHostRegister()、フラグを使用できます。

  • 0 (デフォルト)
  • cudaHostRegisterPortable
  • cudaHostRegisterMapped

cudaHostAllocWriteCombinedを使用してフラグで割り当てるときにメモリ WriteCombined をマークできるのに、を使用cudaHostAlloc()して既存のメモリ領域を WriteCombined としてマークできないのはなぜcudaHostRegister()ですか?

すでに割り当てられているメモリは、POSIX関数のみを使用してマークする必要がありますset_memory_wc()か?

4

1 に答える 1