Я пытаюсь понять, как происходят банковские конфликты.
если у меня есть массив размером 256 в глобальной памяти, и у меня 256 потоков в одном блоке, и я хочу скопировать массив в общую память. поэтому каждый поток копирует один элемент.
shared_a[threadIdx.x]=global_a[threadIdx.x]
приводит ли это простое действие к конфликту банка?
предположим, что теперь размер массива больше, чем количество потоков, поэтому я теперь использую это для копирования глобальной памяти в общую память:
tid = threadIdx.x;
for(int i=0;tid+i<N;i+=blockDim.x)
shared_a[tid+i]=global_a[tid+i];
приводит ли приведенный выше код к конфликту банков?