2

3 つの gpu があり、3 つすべてに巨大なバッファーを転送する必要がある場合、コピー エンジンが同時に転送を実行できるように、それぞれに CUDA ストリームを使用しても違いはありますか? つまり、これら 3 つすべてに到達する PCI-E バスは同じですよね。

4

1 に答える 1

1

多数の異なるプロセッサ アーキテクチャを使用して、CUDA に関するこのテキスト ブックで説明されている領域の 1 つをスケーリングする PCIe 。

はい、転送ごとに個別のストリームを使用する必要があります。これにより、デフォルトのシリアル化されたストリーム ゼロから離れることができます。また、さまざまな帯域幅の制限に達しますが、それらは同時に実行され、転送を順次実行するよりも高速になります.

ただし、同時 (PCIe 2) 5GB/秒ストリームを提供するプロセッサ/メモリ/pcie コントローラの機能によって制限されます。カードを追加しても使用可能な PCIe レーンの数が減らない場合、通常は大きなメリットが見られます。通常、これは 2 枚のカードの場合はうまく機能しますが、3 枚以上のカードでは、カードを追加すると帯域幅の問題が発生するため、急速に低下します。特に 3 枚以上のカードでは、多くのシステムで 16 個の PCIe レーンをすべて使用できる可能性はほとんどありません。

Nsight ツールは、転送で何が起こっているかを示すタイムラインの表示と、達成された実際の転送速度を示すのに非常に優れているため、これを試して、実際に何が起こっているかを確認することをお勧めします.

于 2013-07-31T16:33:09.860 に答える