Я пишу алгоритм на OpenCL, в котором мне нужно, чтобы каждая рабочая единица запоминала изрядную часть данных, скажем, что-то между long[70]
и long[200]
или около того для каждого ядра.
Последние устройства AMD имеют 32 КиБ __local
памяти, что (для данного количества данных на ядро) достаточно для хранения информации для 20-58 единиц работы. Однако, насколько я понимаю из архитектуры (и особенно из этого рисунка), каждое ядро шейдера также имеет выделенный объем собственной памяти. Однако я не могу найти его размер.
Может ли кто-нибудь сказать мне, как узнать, сколько личной памяти имеет каждое ядро?
Меня особенно интересует HD7970, так как я планирую купить некоторые из них в ближайшее время.
Изменить: проблема решена, ответ здесь в приложении D.