Work-item-dependent for loop length

Hello, I’m starting to learn Open[CL] l and I have a question:

If in a kernel I have a for loop whose length varies between work-items and is set using a global array and the work-item’s global ID, does a work-item execution time correspond to:

  • the execution time of the longest loop
  • the execution time of the current work-item and a work-item starts asynchronously as soon another one ends
  • something else