私はopenCLとGPGPUプログラミングにかなり慣れていないので、何かを明確にしたいと思います.ワークグループは、NvidiaカードのSMのワークグループ内でワープのようにインターリーブしますか? それとも、常にシリアライズされており、次のワーク グループが入る前に 1 つのワーク グループが引退しなければならないことを意味しますか?
ありがとう
ユージーン
あなたは間違ったアプローチを取っています。それらがどのようにスケジュールされるかを知ることはできません。
実際、これは並列アプローチの重要な要素であり、スレッド間の同期をほとんど必要とせずに何百万ものスレッドを実行できます。それらを同期する方法を知る必要がある場合、それは地獄です.
さらに、特定のデバイスが常に同じ順序でワーク グループを実行するとは限りません。順番は打ち上げごとに異なります。並列ワークグループの数もさまざまであるため、4 つのグループの場合と 5 つのグループの場合があります (たとえば)。
設計時にこれを考慮して、各作業項目を完全に切り離して、それ自体で作業する必要があります。