2016-04-01 21 views
1

Tk1には単一のSMがあることを考慮すると、同時にストリームを同時に実行できますか?最新のvudionsのcudaライブラリを使っても、私はそうすることができませんでした。Jetson TK1複数ストリームの並列実行

本当に可能ですか?任意のサンプルコードは素晴らしいでしょう。また、cuda Blasのサンプルコードも視覚的なプロファイラのように順次実行されます。

「SM」では「Streams」に適していますか?

は、単一のケプラーSMを

+1

カーネルの同時実行は、ストリームの並列処理の1つの側面です。同時のカーネル実行がTK1で一定期間中断されました。この問題は、TK1の最新ファームウェアで修正する必要があります。そのため、TK1をサポートする最新のJetPackにアップデートしてください。それでも、カーネルの同時実行は目撃するのが難しいので、プロファイラで簡単に見えるように特別に細工されたケースが必要です。それ以外にも、ストリームはコピーと計算の重複を許します。ただし、メモリが統一されているため、Jetsonではコピー操作を避ける必要があります。彼らはほとんど不必要なはずです。 –

+0

元の質問に記載されているように、CUDA Blasサンプルは視覚プロファイラでも並列性を示していません。そして、私はすでに最新のjetPackに乗っています。私は、TK1上で同時にカーネルのex​​ecを実行することが本当に可能かどうかを知りたいと思います。第2に、1つのSMプロセッサしかありません。これはコードで作成されたCudaストリームにどのように関連していますか? –

答えて

1

、同時に複数のストリームを実行することはできません[すでに非常にアクティブな私は考えてありえないフォーラムは、NVIDIA devのフォーラムに尋ねました]。ケプラーはプリエンプションをサポートしていません。これは、CUDAバージョンとは関係なく、SMの機能に関連しています。プリエンプションに関する何かが、GTC 2016でのパスカルについて議論されていますが、以前は何もありませんでした。

単一のSMでのストリームの実際の使用に関して、一部の非同期関数はストリーム0と他のストリーム間で若干動作が異なる場合があります。したがって、私は非同期memcopyと実行のいくつかのコーナーケースは、単一のSMを持つストリームから利益を得るかもしれないと仮定します - TK1デバイスクエリは、1つのコピーエンジンで同時コピーとexecを持っていると読みます。 (たとえZeroCopyがTK1の方が優れているかもしれませんが)。