CUDAに最も近い理論的並列モデルはどれですか?


8

CUDA / OpenCLプログラミングモデルに最も近い理論上の並列モデルはどれですか?

たとえば、汎用的なParallel Random Access Machine(PRAM)モデルにある程度適合します。ただし、さまざまなメモリアクセスのレイテンシと同期の問題を抽象化するため、これは一般的すぎます。

私の質問は、CUDAアーキテクチャが最も適合する理論的なモデルはどれですか(スレッドとスレッドのブロックの階層的な並列処理を考慮して)

回答:


6

私の知る限りでは、スレッドの階層的並列処理は考慮されていませんが、キュー共有メモリ(QSM)モデルである可能性があります。ただし、ローカルメモリとグローバルメモリ(異なる帯域幅)へのアクセス、および(スレッドがバリア同期間で非同期に動作できる)バルク同期が考慮されます。


1

すべてのSMがCUDAカーネルからの同じ命令をロックステップで実行するので、私はそれが普通の古いSIMDだと思います。


まあ、SMごとに異なる命令を実行できますよね?単一のSM内では、ワープ内のすべてのスレッドが同じ命令を実行しますが、同じブロック内の異なるワープでさえ、ペナルティなしに分岐できます。そうは言っても、SMDはブロックではなく、ワープの細かさではあるものの、SIMDも私の答えでした。
Patrick87 2013年

これが今日発見され、J。Nickolls、I。Buck、M。Garland、およびK. Skadronから引用された単一命令マルチスレッド(SIMT)に基づいてGPU実行を読み取り、CUDAを使用したスケーラブルな並列プログラミング、キュー6、2( 2008年3月)、40-53
user2251346 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.