CUDAでは、cuMemcpy非同期関数とストリームを使用して計算とデータ転送をオーバーラップさせることができます。しかし、それはNPP(パフォーマンスプリミティブ)で可能ですか?NPP:重複計算とデータ転送
少し背景。私は、NPPイメージリサイズ関数(この場合はnppiResize_8u_C3R)を使用してGPUを利用しようとしています。私は固定メモリを使用して、cuMemcpy2DAsync_v2とスレッドストリームを使用してGPUにデータを正常に転送しています。問題はnppiResize_8u_C3Rであり、他のすべての計算関数はストリームを受け入れないということです。
私はNvidiaのビジュアルプロファイラを実行すると、私は、次を参照してください。 - 〜6.524ギガバイト/秒
- 固定されたメモリーは、私はより速くデータを転送することができます。
- memcpyがcomputeと並行して実行されている時間のパーセンテージは0%です。
* nppSetStream *を使用してパフォーマンスを向上させることは可能ですか?私はそれを試みたが、成功しなかった。私は、NPPが同時または重複シナリオ用に設計されておらず、GPUを利用するためにCUDAドライバAPIを直接使用する必要があると感じています。 –