Skip to content

ページロックされたホストメモリ

CUDAランタイムは、(malloc()によって確保された、普通のページング可能なホストメモリとは反対に、)ページロックされた(またはピンされた)ホストメモリを使うことができる関数を提供している。例えば、

  • cudaHostAlloc()cudaFreeHost()はページロックされたホストメモリの確保と解放を行う。
  • cudaHostRegister()malloc()によって確保された、ある範囲のメモリをページロックする。(ただし、制限がある模様。詳しくはリファレンスマニュアルを参照。)

ページロックされたホストメモリの使用にはいくつか利点がある。

  • ページロックされたホストメモリとデバイスメモリ間のコピーを非同期並列実行で述べるように、デバイスに対するカーネルの実行と並列に行うことができる。
  • あるデバイスでは、ページロックされたホストメモリはデバイスのアドレス空間にマップされうる。これによってデバイスメモリとのコピーを無くすことができる。詳しくはマップされたメモリを参照。