The list below is an output of the Group, Global, and Local IDs sequentially reported for a kernel launch (via clEnqueueNDRangeKernel) with:
work_dim = 3. Why does the Group count in the 1st-dim increment? Why does the Global count also recycle its count with the Local count?
1) CALC: Global [15 x 16 x 16] : Local [1 x 1 x 8]
2) Group: 0-(0/15) 1-(0/16) 2-(0/2) Global: 0-(0/15) 1-(0/16) 2-(0/16) Local: 0-(0/1) 1-(0/1) 2-(0/8)
3) Group: 0-(0/15) 1-(0/16) 2-(0/2) Global: 0-(0/15) 1-(0/16) 2-(1/16) Local: 0-(0/1) 1-(0/1) 2-(1/8)
4) Group: 0-(0/15) 1-(0/16) 2-(0/2) Global: 0-(0/15) 1-(0/16) 2-(2/16) Local: 0-(0/1) 1-(0/1) 2-(2/8)
5) Group: 0-(0/15) 1-(0/16) 2-(0/2) Global: 0-(0/15) 1-(0/16) 2-(3/16) Local: 0-(0/1) 1-(0/1) 2-(3/8)
6) Group: 0-(0/15) 1-(0/16) 2-(0/2) Global: 0-(0/15) 1-(0/16) 2-(4/16) Local: 0-(0/1) 1-(0/1) 2-(4/8)
7) Group: 0-(0/15) 1-(0/16) 2-(0/2) Global: 0-(0/15) 1-(0/16) 2-(5/16) Local: 0-(0/1) 1-(0/1) 2-(5/8)
😎 Group: 0-(0/15) 1-(0/16) 2-(0/2) Global: 0-(0/15) 1-(0/16) 2-(6/16) Local: 0-(0/1) 1-(0/1) 2-(6/8)
9) Group: 0-(0/15) 1-(0/16) 2-(0/2) Global: 0-(0/15) 1-(0/16) 2-(7/16) Local: 0-(0/1) 1-(0/1) 2-(7/8)
a) Group: 0-(1/15) 1-(0/16) 2-(0/2) Global: 0-(1/15) 1-(0/16) 2-(0/16) Local: 0-(0/1) 1-(0/1) 2-(0/8)
b) Group: 0-(1/15) 1-(0/16) 2-(0/2) Global: 0-(1/15) 1-(0/16) 2-(1/16) Local: 0-(0/1) 1-(0/1) 2-(1/8)
c) Group: 0-(1/15) 1-(0/16) 2-(0/2) Global: 0-(1/15) 1-(0/16) 2-(2/16) Local: 0-(0/1) 1-(0/1) 2-(2/8)
d) Group: 0-(1/15) 1-(0/16) 2-(0/2) Global: 0-(1/15) 1-(0/16) 2-(3/16) Local: 0-(0/1) 1-(0/1) 2-(3/8)
e) Group: 0-(1/15) 1-(0/16) 2-(0/2) Global: 0-(1/15) 1-(0/16) 2-(4/16) Local: 0-(0/1) 1-(0/1) 2-(4/8)
f) Group: 0-(1/15) 1-(0/16) 2-(0/2) Global: 0-(1/15) 1-(0/16) 2-(5/16) Local: 0-(0/1) 1-(0/1) 2-(5/8)