Комментировать

еще работающей программы

еще работающей программы нет
но собираюсь ее написать
межблочный - только один выход
через глобальную память, но данных мало, только с краев блоков 1D
еще думал чтобы использовать только один блок
создать 512 тредов
раскидать данные до 1 000 000 ячеек по одному блоку потоков
всего на каждый тред по 2 обменной ячейки
т.е. 512*2 в SHARED должно поместиться
другое дело что это не эффективное использование получается
и говорят что это не эффективно даже относительно одного мультипроцессора
создать на нем один блок потоков.