GPUの「Pixel Shader」の場合に限定した話だと、あるブロックに属する32個のコアが、1つのコードを共有し、
if ( a[i] > 5 ) { (処理); }
というコードを32個のコアが、それぞれのコア番号「i」に対して実行しようとする。
a[0] は、10 だから実行、a[1] は、3 だから非実行、・・・
のように、それぞれのコアで、実行するか実行しないかが分かれる。
それで、実行するコアがその部分を実行している間は、実行しないコアは、完全にその場で停止している。
そして、(処理); の部分の実行が完了すると、全てのコアの IP(命令ポインタ、PC) が if ブロックの
次の行へと進むようになっている。
そのようにして、「IP」は全てのコアで共通して進められるが、上記の