2015-05-21 20 views
3

Это вопрос о дискретных графических процессорах, в основном новейших графических процессорах (NVIDIA Kepler, Maxwell и т. Д. В AMD Kaveri и R290).Какое время доступа для разных пространств памяти GPU?

Сколько нужно времени, чтобы загрузить иначе-некэшированную элемент в регистр из ...

  • Глобальная память устройства?
  • Глобальная память L2-кеш?
  • Текстурные кеши (ы)?
  • Постоянный кэш (ы)?
  • Первичный кеш L1?
  • (Per-ядра совместно используемой памяти - должна быть такой же, как кэш L1.)

Ссылка на столе где-то было бы здорово, объяснение было бы нормально ...

ответ

2

Это зависит от gpu, поколение, как его интегрированный (например, pcie) и другие вещи. Я часто работаю с ASM, и это числа, с которыми я работаю:

-Глобальная память устройства? около 300-800 часов. (графические процессоры на материнской плате, такие как ноутбуки с основной памятью, имеют более медленную память)

-Глобальная память L2-кеш? около 100 тактовых импульсов

-Текретный кэш (ы)? угадывание 50-100 тактовых циклов

-Constant cache (s)? около 1-3 тактов, если он находится в кеше или кеш-памяти второго уровня (~ 50-100 часов) или даже глобальных временных 300-500 часов. (в зависимости от того, является ли это ошибкой или пропуском кеша)

-Персовое (то есть в SMX/SMM в кеплерах/Максвелле) L1-кеш? около 1-3 тактовых циклов

-Первое ядро ​​(например, для SMX/SMM в Kepler/Maxwell)? около 1-3 тактов

Я также сделал несколько онлайн-запросов, чтобы узнать, насколько близко я был и нашел это. Числа отличаются от моих. http://lpgpu.org/wp/wp-content/uploads/2013/05/poster_andresch_acaces2014.pdf Я думаю, что фактическое время, затрачиваемое на то, что программист должен работать, - это два разных номера из-за многопоточности. Надеюсь это поможет.

+0

Действительно ли L2-кеш ужасен? это даже не по порядку величины ... – einpoklum

+0

Кроме того, эта ссылка действительно странная. Действительно ли добавление действительно занимает 6 тактовых циклов на графическом процессоре? Я бы подумал, что это было, ну, только 1. – einpoklum

+0

Еще в 2011 году я (и другие) сделал некоторые бенчмаркинга L2 (https://devtalk.nvidia.com/default/topic/496975/fermi-l2-cache-how- fast-is-the-l2-cache-how-do-i-access-it - /? offset = 9), а затем глобальное значение было 800-1000, а L2 - около 200. Поэтому я предполагаю, что L2 улучшил понравившееся глобальное так что может быть около 100 циклов. Возможно, это не так точно. – Sunsetquest