0

cudaEventRecordは、イベント ID とストリーム ID をパラメーターとして受け取ります。ランタイム API リファレンスには、ストリームを現在のデバイスに関連付ける必要があるかどうかは記載されていません。現在アクセスできるシステムには GPU が 1 つしかないため、そうであるかどうかをテストすることはできません。

現在のデバイス上のストリームである必要があると仮定します。

  • 別のデバイスでストリームを取得するとどうなりますか?

それが任意のデバイスのストリームであると仮定すると、次のようになります。

  • (現在のデバイスの) デフォルト ストリームの ID を取得するとどうなりますか? 結局のところ、すべてのデバイスのデフォルト ストリームが同じ (null) ID を持っているのでしょうか?
  • ストリームのデバイスが最新であるかどうかに基づいて、動作に違いはありますか?
4

1 に答える 1

1

@Talonmies の回答からの情報と、@RobertCrovellaがコメントでリンクしたCUDA C Programming GuideStream and Event Behavior セクションを組み合わせます。

ストリームを現在のデバイスに関連付ける必要がありますか?

いいえ、どのデバイスでもかまいません。ただし、イベントの記録では、ストリームとイベントが同じデバイスに関連付けられている必要があります。

ストリームのデバイスが最新であるかどうかに基づいて、動作に違いはありますか?

通常、いいえ、しかし...

(現在のデバイスの) デフォルト ストリームの ID を取得するとどうなりますか?

... デフォルト ストリームはそのルールの例外です。(各デバイス独自の) デフォルト ストリームは同じ ID を持っているため、null ID を に渡すことは、イベントを記録するストリームを決定するために現在設定されているデバイスcudaEventRecord確認することを意味します (これは、イベントが関連付けられているデバイスと同じである必要があります)。と)。

于 2016-11-18T14:50:29.430 に答える