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