Как эффективно собирать данные из потоков в CUDA?

У меня есть приложение, которое решает систему уравнений в CUDA, я точно знаю, что каждый поток может найти до 4-х решений, но как мне скопировать потом обратно в хозяин?

Я передаю огромный массив с достаточным пространством, чтобы все потоки хранили 4 решения (по 4 двойника для каждого решения) и еще один с количеством решений на поток, однако это наивное решение, и в настоящее время это узкое место мое ядро.

Мне очень нравится это оптимизировать. Основная проблема заключается в объединении переменного количества решений для каждого потока в один массив.

6
задан RSFalcon7 24 January 2014 в 16:26
поделиться