Es posible agrupar un número determinado de elementos para luego distribuirlos con BLOCK o CYCLIC, por ejemplo:
REAL, DIMENSION(16) :: a !HPF$ DISTRIBUTE (BLOCK(8)) :: a
En este caso se agrupan los elementos de 8 en 8 y luego los grupos se distribuyen en bloques a los procesadores. Para este caso el número de procesadores debe ser mayor que el numero de elementos del bloque dividido por el tamaño del bloque.
También se puede generalizar el CYCLIC:
REAL, DIMENSION(16) :: a !HPF$ DISTRIBUTE (CYCLIC(2)) :: a
En este caso los elementos se agrupan y luego son distribuidos cíclicamente a los procesadores. No existen restricciones sobre esta generalización.