En el modelo de ejecución (abstracto) OpenCL, sí, todos los elementos de trabajo se ejecutan en paralelo, y puede haber millones de ellos.
Dentro de una GPU, todos los elementos de trabajo del mismo grupo de trabajo deben ejecutarse en un solo "núcleo". Esto impone una restricción física sobre el número de elementos de trabajo por grupo de trabajo (256 o 512 es el máximo, pero puede ser más pequeño para los núcleos grandes que usan muchos registros). Todos los grupos de trabajo se programan en los núcleos (generalmente de 2 a 16) de la GPU.
Puede sincronizar hilos (elementos de trabajo) dentro de un grupo de trabajo, ya que todos residen en el mismo núcleo, pero no puede sincronizar hilos de diferentes grupos de trabajo, ya que pueden no programarse al mismo tiempo, y podría ser ejecutado en diferentes núcleos.
Sí, es posible tener 128 elementos de trabajo dentro de un grupo de trabajo, a menos que consuma demasiados recursos. Para alcanzar el máximo rendimiento, generalmente desea tener la mayor cantidad posible de subprocesos en un grupo de trabajo (se requieren al menos 64 para ocultar la latencia de la memoria, consulte Vasily Volkov's presentations sobre este tema).
¿Seguro de que sólo hay cada vez mayor número de elementos de trabajo se ejecuta como usted tiene núcleos disponibles? De acuerdo con [esta página] (http://software.intel.com/sites/products/documentation/ioclsdk/2013/OG/Basic_Concepts.htm), los núcleos separados son unidades de cálculo, lo que significaría que un núcleo no corresponde en de cualquier manera a un elemento de trabajo. – HelloGoodbye
Estoy seguro de esto. Es cierto que puede haber más elementos de trabajo 'en vuelo' que núcleos en la CPU, esto es realmente lo que es el grupo de trabajo. En términos de cómputo simultáneo, un núcleo de CPU solo debe ejecutar una cola de instrucciones en un momento determinado. Incluso en aplicaciones que no son opencl, el enhebrado se simula a través del cambio de contexto, o se realiza a través de hardware central múltiple (y algunas veces con funcionalidad SIMD limitada). – mfa