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