によってマップされたメモリでゼロコピーを使用したいcudaHostGetDevicePointer
。使用できますthrust::host_vector
か、または使用する必要がありますか、cudaHostAlloc(...,cudaHostAllocMapped)?
または Thrust を使用する方が簡単ですか?
質問する
1326 次
1 に答える
5
マップされたホストの割り当てとして throw::host_vector を使用することはまだ不可能だと確信しています。固定メモリ アロケータはありますが、マップ メモリが使用できるとは思えません。あなたがする必要があるのは次のようなものです:
- 割り当てられた、割り当てられた、固定されたホスト メモリ
cudaHostAlloc
- を使用して、ゼロ コピー メモリのデバイス ポインターを取得します。
cudaHostGetDevicePointer
- そのデバイス ポインターで
thrust::device_ptr
using を作成します (詳細については、こちらを参照してください)。thrust::device_pointer_cast
thrust::device_vector
を使用して を作成するか、イテレータを受け入れる任意のアルゴリズムに をthrust::device_ptr
直接渡すことができます。thrust::device_ptr
于 2012-07-27T17:34:29.757 に答える