Как работает кеш L2 в графических процессорах с архитектурой Кеплера с точки зрения локальности ссылок? Например, если поток обращается к адресу в глобальной памяти, если предположить, что значение этого адреса отсутствует в кэше L2, как кэшируется значение? Это временное? Или другие близкие значения этого адреса, которые были добавлены в кэш L2 (пространственный)?Кэш L2 в Kepler
Ниже приведено изображение от газеты NVIDIA.
кэш L2 был введен с вычислительной способностью 2,0 и выше, и продолжает поддерживаться на архитектуре Kepler. Используемая политика кэширования - это LRU (наименее недавно использованная), основной целью которой было избежать узкого места в пропускной способности глобальной памяти. Я прочитал это из книги «Cuda Application design and development». Не уверен, что это ответит на ваш вопрос. –
Кэш L1 имеет размер кеширования 128 байт. Кэш L2 имеет размер кэша 32 байта. Таким образом, промах L2 вызывает 32-байтовую нагрузку. Kepler обычно не поддерживает L1 для обычных глобальных нагрузок. –