Динамическое размещение в CUDA - более низкий уровень конкуренции, чем рукописное решение? - PullRequest
1 голос
/ 10 декабря 2010

Теперь CUDA позволяет динамическое распределение в глобальной памяти.Однако я не смог найти ссылки на масштабируемость этой функции malloc: это лучше, чем, например, предварительно выделить кусок памяти, а затем просто назначить потоку следующий фрагмент памяти, атомно увеличивая глобальное целое число??Последнее «домашнее» решение работает, но есть очевидная проблема с масштабируемостью, поэтому мне интересно, позаботится ли об этом как-то malloc.

1 Ответ

0 голосов
/ 19 января 2011

Я думаю, что в то время как ваше "домашнее" решение может быть таким же хорошим в настоящее время, хотя одновременные вызовы глобального целого числа могут замедлить его, Malloc был бы моим выбором.

Это потому, что это позволяет Nvidia справляться с головной болью масштабируемости и вносить улучшения в аппаратную или программную реализацию, которыми вы можете воспользоваться, просто перекомпилировав свой код на более позднем этапе.

...