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