3

前回の質問の続きです。CUDA はリアルタイムのクイック アプリケーションに適していますか? タスクは次のとおりです。0.1 ~ 0.3 ミリ秒で多くの計算を行うアプリケーションが必要です。CUDA カーネルは、私のプロジェクトに適した非常に良い時間でこれらの計算に対処しますが、私が得るすべてのオーバーヘッド (メモリ コピー) では、時間は受け入れられません。

CUDA はこの種のアプリケーションでは使用できないのでしょうか、それとも以前の質問で説明した状況を回避するためのハックがありますか?

これらの人は、独自の Linux バージョンで構築された修正された GPU ドライバーを使用して、いわゆる「GPU ワークベンチ」を提供します。彼らは、彼らのシステムが典型的な GPU 構成よりもはるかに高速に動作すると言っています。彼らについて知っている人はいますか?

4

2 に答える 2

1

0.3 ミリ秒は、GPU で完全なプログラムを実行するための非常に短い時間枠です。非常に小さなタスクの場合でも、より一般的な 10 倍です。また、タスクが非常に小さいため、短時間で実行できる場合は、おそらく GPU を飽和状態にさえしていない可能性があり、GPU で実行する意味さえありません。

そうは言っても、ターンアラウンド タイムが約 1 秒のリアルタイム分散システムに CUDA を使用していますが、「リアルタイム」の定義はあなたの定義よりも少し緩いように思えます。

あなたがリンクした「GPU Workbench」については何も知りません。

于 2012-10-30T03:35:04.027 に答える
0

2回に分けて質問にお答えします。

  1. プログラムの実行時間は、実装するデータの量と並列処理の量によって異なります。また、さまざまな手法 (L1 および L2 キャッシュ、複数のカーネルを使用) などを使用します。リアルタイム アプリケーションについて言及したように、時々 CPU メモリを使用する必要があります。可能であれば、すべてのデータを一度に使用してみてください。

  2. アプリケーションがグラフィックスを使用している場合。グラフィック ライブラリ (OpenGL [また、GLSL]、DirectX [HLSL]) の使用をお勧めします。

于 2012-10-30T13:18:56.203 に答える