OpenCL - взаимозаменяемы ли оси рабочих групп?

Я пытался найти лучший размер рабочей группы для проблемы, и я понял, что я не могне оправдывает себя.

Вот мои результаты:

GlobalWorkSize {6400 6400 1}, WorkGroupSize {64 4 1}, время (миллисекунды) = 44,18GlobalWorkSize {6400 6400 1}, WorkGroupSize {4 64 1}, время (миллисекунды) = 24,39

Смена осей вызвала вдвое более быстрое выполнение. Зачем !?

Кстати, я использовал AMD GPU.

Спасибо :-)

РЕДАКТИРОВАТЬ : Это ядро (простая матричная транспозиция):

__kernel void transpose(__global float *input, __global float *output, const int size){
    int i = get_global_id(0);
    int j = get_global_id(1);
    output[i*size + j] = input[j*size + i];
}

Ответы на вопрос(1)

Ваш ответ на вопрос