CUDA はどのように 2 つのグラフィック カードを同期しますか? 彼らはどのように通信しますか?2枚のテスラカードを持っていますが、それらの間で通信を行う方法がわかりません。
5 GB のマトリックスを RAM に保存する必要があります。それぞれ3GB RAMの2枚のテスラカードがあります。カーネルをより小さなものに分割して同期を強制することはできますか?
CUDA はどのように 2 つのグラフィック カードを同期しますか? 彼らはどのように通信しますか?2枚のテスラカードを持っていますが、それらの間で通信を行う方法がわかりません。
5 GB のマトリックスを RAM に保存する必要があります。それぞれ3GB RAMの2枚のテスラカードがあります。カーネルをより小さなものに分割して同期を強制することはできますか?
NVIDIA 開発者テクノロジ エンジニア Paulius Micikevicius によるマルチ GPU プログラミングに関するこのチュートリアルでは、GPU 間の通信と同期を含む、複数の GPU での CUDA でのプログラミングの概要を詳しく説明しています。
要約すると、CUDA ランタイム API (v4.x 以降) はcudaMemcpy*
、ピアツーピア コピー機能を提供する関数を提供し、ストリームおよびイベント API を使用して同期を実現できます (例: cudaStreamWaitEvent()
)。