0

CUDA コール cudaEventSynchronize について質問があります。

私の知る限り、イベントを積極的にポーリングするため、CPU サイクルが消費されます。カーネルの実行と同じように CPU を解放できるように同期させたい場合は、どうすればよいでしょうか?

より具体的には、次の場合に予想される動作は次のとおりです。

  • CUDA_LAUNCH_BLOCKING=1 環境変数を使用。
  • cudaDeviceScheduleBlockingSync の使用
  • cudaDeviceScheduleYield の使用

私は奇妙な行動を経験しており、これを解明するためにいくつかの助けが必要です. 特定の技術的側面に関するNvidiaの情報は、これを支援することに非常に消極的です.実装の詳細は秘密にしておく必要があると思います.

前もって感謝します、

ホセ。

4

1 に答える 1

1

cudaEventSynchronize でブロッキング同期を使用する場合は、以下を使用してイベントを作成する必要があります
cudaError_t cudaEventCreateWithFlags (cudaEvent_t event, unsigned int flags)

cudaEventBlockingSyncフラグとして渡します。

于 2012-08-01T12:11:34.230 に答える