CUDA кэширует данные в единый кеш из глобальной памяти, чтобы сохранить их в общей памяти?

Насколько я знаю, GPU выполняет шаги (глобальная память-l1-l1-регистр-разделяемая память) для сохранения данных в общей памяти для предыдущих архитектур NVIDIA GPU.

Тем не менее, Maxwell GPU (GTX980) физически разделили унифицированный кеш и разделяемую память, и я хочу знать, что эта архитектура также выполняет тот же шаг для хранения данных в разделяемой памяти? или они поддерживают прямую связь между глобальной и общей памятью?

  • объединенный кеш включен с опцией "-dlcm=ca"

1 ответ

Решение

Это может ответить на большинство ваших вопросов о типах памяти и действиях в архитектуре Maxwell:

Как и в случае с Kepler, глобальные нагрузки в Maxwell кэшируются только в L2, если только не используется механизм кэширования данных только для чтения LDG, представленный в Kepler.

Аналогично Kepler GK110B, GM204 сохраняет это поведение по умолчанию, но также позволяет приложениям включить кэширование глобальных нагрузок в своем унифицированном кеше L1/Texture. Механизм согласия такой же, как и в GK110B: передайте флаг -Xptxas -dlcm=ca nvcc во время компиляции.

Локальные нагрузки также кэшируются только в L2, что может увеличить стоимость разливов регистров, если локальные нагрузки L1 были высокими с Kepler. Поэтому соотношение занятости и разлива следует пересмотреть, чтобы обеспечить наилучшую производительность. Особенно с учетом улучшений арифметических задержек, код, созданный для Maxwell, может выиграть от несколько меньшей загрузки (из-за увеличения количества регистров на поток) в обмен на меньшее количество разливов.

Унифицированный кэш L1 / текстуры действует как объединяющий буфер для обращений к памяти, собирая данные, запрошенные потоками деформации, до доставки этих данных в деформацию. Ранее эта функция обслуживалась отдельным кешем L1 в Fermi и Kepler.

Из раздела "1.4.2. Пропускная способность памяти", подраздел "1.4.2.1. Унифицированный L1 / кэш текстуры" в руководстве по настройке Maxwell от Nvidia.

Другие разделы и подразделы, следующие за этими двумя, также обучают и / или явно полезны другие подробности о размерах / пропускной способности совместно используемой памяти, кэшировании и т. Д. Попробуйте!

Другие вопросы по тегам