В этом сообщении в блоге объясняется, как конфликты банка памяти убивают производительность функции транспонирования.
Теперь я не могу не задаться вопросом: происходит ли это на "нормальном" процессоре (в многопоточном контексте)? Или это специфично для CUDA/OpenCL? Или это даже не появляется в современных процессорах из-за относительно больших размеров кеша?