Динамическое размещение в CUDA - более низкий уровень конкуренции, чем рукописное решение?
Теперь CUDA позволяет динамическое размещение в глобальной памяти. Тем не менее, я не мог найти ссылку на масштабируемость этого malloc
Функция: это лучше, чем, например, предварительно выделить кусок памяти, а затем просто назначить следующий фрагмент памяти для потока, атомно увеличивая глобальное целое число? Это последнее "домашнее" решение работает, но есть очевидная проблема с масштабируемостью, поэтому мне интересно malloc
как-то заботится об этом.
1 ответ
Я думаю, что в то время как ваше "домашнее" решение может быть таким же хорошим в настоящее время, хотя одновременные вызовы глобального целого числа могут замедлить его, Malloc был бы моим выбором.
Это потому, что это позволяет Nvidia справляться с головной болью масштабируемости и вносить улучшения в аппаратную или программную реализацию, которыми вы можете воспользоваться, просто перекомпилировав свой код позднее.