4

同時に実行できる 2 つのカーネル (A と B) があります。カーネル A ができるだけ早く終了する必要があります (結果の MPI 交換を行うため)。したがって、A と B の 1 つのストリームでそれらを実行できます。

ただし、カーネル A にはスレッド ブロックがほとんどないため、A と B を順番に実行すると、A の実行中に GPU が十分に活用されません。

A と B を同時に実行し、A を優先して実行することはできますか?

つまり、カーネル A からの開始されていないブロックがない場合にのみ、カーネル B からのスレッド ブロックの実行を開始します。

私が理解しているように、あるストリームでカーネル A を開始し、ホスト コードの次の行でカーネル B を別のストリームで開始すると、B からのスレッド ブロックが実際に最初に実行されないという保証はありませんか?

4

1 に答える 1