理論的には、CUDAでストリームを使用するとパフォーマンスが向上するはずGauss-seidelメソッドが実装され、ストリームに必要な時間が驚くほど多くなりました。誰でもパフォーマンスの向上が見られる例があります(サンプルSDKのディレクトリはそれほど有用ではない)CUDAストリームで実際にパフォーマンスを向上させることはできますか?
2
A
答えて
2
CUDAストリームを使用すると、PCI Express転送をカーネル処理と同時に実行できます。 Amdahlの法則により、データ転送とカーネル処理を等しく実行するワークロードだけがCUDAストリームの恩恵を受けます。ワークロードが利益をもたらすかどうかを判断するには、アプリケーションにタイミングコードを追加するかプロファイルを作成するか、理論的な最大パフォーマンスのメリットを確認します。
CUDAストリームからパフォーマンスを向上させるには、ダウンロード、カーネルの起動、アップロードを「ソフトウェアパイプライン」する必要があります。
foreach stream {
cudaMemcpyAsync(device[stream], host[stream], ... stream);
}
foreach stream {
LaunchKernel<<<...stream>>>(...);
// you can launch multiple kernels in stream, if desired.
}
foreach stream {
cudaMemcpyAsync(host[stream], device[stream], ... stream);
}
ないこの:
foreach stream {
cudaMemcpyAsync(device[stream], host[stream], ... stream);
LaunchKernel<<<...stream>>>(...);
cudaMemcpyAsync(host[stream], device[stream], ... stream);
}
1
はい、計算時間が重要であり、すべてのデータが相互に依存していない問題でこれを行います。それで、すでに高価なメモリ転送で高価な計算時間を隠すことができます。
CUDAはメモリコピーとカーネルの実行を同時に実行できるため、一方のストリームがメモリコピーを実行している間にもう一方は計算を実行できます。
関連する問題
- 1. このループのパフォーマンスを向上させることはできますか?
- 2. クエリのパフォーマンスをさらに向上させることができます(MySQL)
- 3. JSONストリームをAndroid上のローカルデータベースに保存するパフォーマンスを向上させる
- 4. なぜこのクエリは時間がかかり、パフォーマンスを向上させることができますか?
- 5. マルチスレッドではパフォーマンスは向上しませんが、パフォーマンスは向上しません。
- 6. スレッドのアフィニティマスクを設定すると、実際のパフォーマンスが向上しますか?実際には、被験者は
- 7. パフォーマンスを向上させる
- 8. パフォーマンスを向上させる
- 9. ffmpeg - パフォーマンスを向上させるには?
- 10. grailsでバルクデータを保存する際のパフォーマンスを向上させる方法は?
- 11. クエリのパフォーマンスを向上させるためにできることは何ですか?
- 12. 同じCUDAコードを複数回実行すると、異なる時間でパフォーマンスが向上しますか?
- 13. cosmosdbからデータをコピーする際のパフォーマンスを向上させる方法は?
- 14. Webアプリケーションを実際にオブジェクト指向にすることはできますか?
- 15. 複数のサーバを使用してmysqlのデータアップロードのパフォーマンスを向上させることはできますか?
- 16. MySQLでこのストアドプロシージャのパフォーマンスを向上させる
- 17. バックエンドサーバーにアクセスする際のAngular2レンダリングのパフォーマンスを向上させる方法は?
- 18. キャッシュは常にパフォーマンスを向上させますか?
- 19. AsyncTaskは常にパフォーマンスを向上させますか?
- 20. ElasticsearchでIDで検索するときのパフォーマンスを向上させる方法
- 21. VBAはループなしでパフォーマンスを向上させます
- 22. MFCのfprint書き込みパフォーマンスを向上させるには?
- 23. Apacheドリルの書き込みパフォーマンスを向上させるには
- 24. iPad/iPhoneでウェブサイトのパフォーマンスを向上させるには?
- 25. 入れ子のwhileループでパフォーマンスを向上させるには?
- 26. MongoDBでマルチフィールド検索のパフォーマンスを向上させるには?
- 27. UNION ALLでMYSQLのパフォーマンスを向上させるには?
- 28. このDML文のパフォーマンスを向上させる方法は?
- 29. このPythonコードのパフォーマンスを向上させる方法は?
- 30. このクエリのパフォーマンスを向上させる方法は?