indirectJ2[MAX_SUPER_SIZE]
— общий массив.
Ядро моего устройства cuda содержит следующую инструкцию (выполняется всеми потоками в блоке потоков):
int nnz_col = indirectJ2[MAX_SUPER_SIZE - 1];
Я подозреваю, что это вызовет конфликты с банками.
Можно ли как-нибудь эффективно реализовать описанную выше трансляцию на уровне блоков потоков, используя новые инструкции по перемешиванию для графических процессоров kepler? Я понимаю, как это работает на уровне деформации. Приветствуются и другие решения, выходящие за рамки инструкций по тасовке (например, использование CUB и т. д.).