Resizable bar amd что это
Тестируем технологию Resizable BAR с видеокартой RTX 3060. Больше FPS бесплатно?
Относительно недавно компании AMD и NVIDIA в своих видеокартах последнего поколения добавили технологии, связанные с оптимизацией взаимодействия центрального процессора системы (CPU) с видеопамяти.
С чего все началось?
Весной прошлого года компания AMD представила свое новое поколение видеокарт серии Radeon RX 6000, основанных на архитектуре RDNA 2.
Вместе с этими видеокартами была анонсирована технология AMD Smart Access Memory.
Вслед за AMD компания NVIDIA в начале 2021 года анонсировала технологию Resizable BAR, которая является аналогом Smart Access Memory (просто другое название).
Суть AMD Smart Access Memory и NVIDIA Resizable BAR заключается в том, что процессоры (CPU) могут получать доступ ко всему объему графической памяти, а не только части (256 МБ), как это было ранее. Запросы не ставятся в очередь, а обрабатываются параллельно.
Так очень упрощенно AMD на одном из слайдов объяснила суть технологии AMD Smart Access Memory
В некоторых играх это позволяет получить прирост производительности.
Производители указывают, что увеличение FPS иногда составляет до 10 и более процентов.
Требования к системе для работы AMD Smart Access Memory и NVIDIA Resizable Bar
Примечательно, что технологии AMD Smart Access Memory и NVIDIA Resizable Bar — это не какие-то новые уникальные разработки AMD и NVIDIA. Они являются частью стандартизированного интерфейса PCI Express.
Соответственно, поддержка Smart Access Memory и Resizable BAR вполне могла быть реализована и годами ранее на платформах прошлых поколений. Но, видимо, производители не были в этом особо заинтересованы.
На данный момент системы, совместимые со Smart Access Memory и Resizable BAR, должны соответствовать таким требованиям:
Поддержка AMD Smart Access Memory и NVIDIA Resizable Bar необходима также и со стороны игр.
Еще в марте NVIDIA публиковала список таких игр, включающий 17 наименований. Более актуального перечня пока найти не удалось.
Список игр с поддержкой Resizable Bar на конец марта 2021 от NVIDIA
Assassin’s Creed Valhalla | Gears 5 |
Battlefield V | Godfall |
Borderlands 3 | Hitman 2 |
Control | Hitman 3 |
Cyberpunk 2077 | Horizon Zero Dawn |
Death Stranding | Metro Exodus |
DIRT 5 | Red Dead Redemption 2 |
F1 2020 | Watch Dogs Legion |
Forza Horizon 4 |
Можно предположить, что их количество будет постоянно расти.
Включаем Resizable Bar
Конфигурация тестовой системы
Тесты проводили на платформе, основанной на видеокарте ASUS ROG Strix GeForce RTX 3060 и материнской плате ASUS TUF Gaming Z590-Plus WiFi, обзоры которых мы публиковали на нашем сайте ранее.
ASUS ROG Strix GeForce RTX 3060 OC (ROG-STRIX-RTX3060-O12G-GAMING)
ASUS TUF Gaming Z590-Plus WiFi
Технология Resizable Bar (или Smart Access Memory в случае с платформой на базе AMD) включается в BIOS материнской платы.
На материнских платах ASUS соответствующую настройку можно найти в меню «Advanced— PCI Subsystem Settings».
После активации «Above 4G Decoding» появляется пункт «Resizable Bar Support».
Важный момент. Resizable Bar будет работать только если ваш системный диск UEFi-совместим и имеет стиль разделов GPT. Соответственно, если система устанавливалась более устаревшим методом с загрузочной областью MBR технологию Resizable Bar включить не получится.
После загрузки Windows 10 определить, активен ли Resizable Bar можно в приложении GPU-Z.
Кроме того, информацию можно посмотреть в панели инструментов драйвера. В русскоязычном интерфейсе напротив пункта «Регистр базового адреса с изменяемым размером» (Resizable Bar) должно стоять «Да».
Отдельно отметим, что активация Resizable Bar осуществляется только в BIOS материнской платы. Ни в драйвере видеокарты, ни в самих играх настройки этой функции нет (на момент подготовки материала).
Тестируем
Для проверки получаемого эффекта от активации Resizable BAR подготовили несколько игр из списка совместимых.
Использовали два варианта разрешения: 2K (2560×1440 пикс.) и Full HD (1920×1080 пикс.).
Причем, в случае с разрешением 2K выставляли максимальные или близкие к максимальным настройки качества графики, а для Full HD графику «уменьшали» на одну или две ступени.
В Metro Exodus Enhanced Edition тесты проводились с включенной технологией трассировки лучей.
В игре Assassin’s Creed: Valhalla с включенным Resizable BAR прирост FPS составил довольно существенные 8% для разрешения Full HD с уменьшением до 6% при переходе на 2K-разрешение.
Очень неплохой результат.
Forza Horizon 4 также очень активно отреагировала на Resizable BAR. Уровень FPS увеличился на 10% в разрешении Full HD и на 6% в 2K.
Разница в FPS с включенным Resizable BAR есть и в Horizon Zero Dawn, но она довольно небольшая — около 3% для обоих разрешений.
А вот в Metro Exodus Enhanced Edition и Red Dead Redemption 2 никаких преимуществ Resizable BAR не дал. Производительность осталась примерно на том же уровне.
Выводы
Для более глубокого изучения технологии Resizable BAR (Smart Access Memory) было бы неплохо протестировать ее с видеокартами разного уровня от AMD и NVIDIA.
Но мы располагали возможностью поэкспериментировать только с NVIDIA GeForce RTX 3060 в роли которой выступила ASUS ROG Strix GeForce RTX 3060.
ASUS ROG Strix GeForce RTX 3060 OC (ROG-STRIX-RTX3060-O12G-GAMING)
Как показали тесты, прирост производительности может сильно отличатся от конкретной игры. Где-то он более заметен и доходит до 10%, где-то менее выражен или же вообще отсутствует.
Более того, неисключены ситуации, когда в каких-то играх будет даже не рост, а падение FPS. Судя по материалам в сети, Resizable BAR может дать просадку производительности, к примеру, в Watch Dogs Legion.
NVIDIA даже отмечает, что будет стараться выявлять такие случаи и, используя профили «Game Ready», Resizable BAR будет включен только там, где от него есть польза.
Именно эта вероятность получить уменьшение FPS в некоторых играх не дает рекомендовать включить функцию Resizable BAR и забыть о ней.
Несмотря на такой недостаток, появление Resizable BAR (и Smart Access Memory) можно только поприветствовать.
Появилась возможность дополнительно поэкспериментировать с системой, что должно очень понравится энтузиастам, и получить прирост производительности в играх абсолютно бесплатно.
Правда, для этого необходимо быть счастливым обладателем свежей системы с видеокартой последнего поколения от AMD или NVIDIA.
Одна и та же технология на видеокартах Nvidia работает хуже, чем на адаптерах AMD. Речь о Resizable BAR и SAM
У Radeon выше прирост и больше игр с ощутимой прибавкой к производительности
Видеокарты Nvidia, как известно, теперь поддерживают технологию Resizable BAR, которая является тем же, что и технология SAM у AMD.
Но одинаково ли эффективны эти технологии? Это решили проверить специалисты канала Hardware Unboxed. Для этого они сравнили прирост производительности от активации Resizable BAR на GeForce RTX 3070 и от технологии SAM на Radeon RX 6800. Сами по себе видеокарты не равны по производительности, но для эксперимента это значения не имеет.
Как можно видеть, в среднем реализация AMD оказывается немного эффективнее аналога Nvidia. Правда, даже в первом случае средний прирост составляет лишь 3% (в разрешении 1440p), что не имеет никакого смысла для геймеров.
Если же смотреть конкретнее, то ситуация более интересная. Во-первых, в случае карты AMD максимальный прирост производительности существенно выше (19% против 9%), во-вторых, больше и максимальное падение производительности, хотя разница менее выраженная (7% против 4%), в-третьих, нужно также отметить, что игр, где активация SAM имеет смысл, стало намного больше. Если раньше это фактически была лишь Assassin’s Creed: Valhalla, то теперь к ней присоединились ещё пять игр, где прирост превышает 10%, то есть вполне имеет смысл.
Об увеличении производительности видеокарт с помощью опции Resizable BAR/Smart Access Memory
Профессиональные видеокарты Nvidia, а также модели серии RTX3000 имеют функцию расширения размера регистра (Resizable BAR), теоретически увеличивающую производительность при проведении вычислительных операций с большими массивами данных, а также в играх. Современные видеокарты AMD поддерживают аналогичную технологию, называемую Smart Access Memory.
Для бесплатного увеличения производительности видеосистемы на компьютере стоит разобраться, что такое Resizable BAR и как включить этот параметр для получения дополнительных хешей/FPS.
Что такое Resizable BAR?
Возможность использования опции Resizable BAR появилась в 2008 году в стандарте PCI-E 2.0.
В устройствах AMD работа с Resizable BAR реализуется с помощью технологии Smart Access Memory (SAM). В некоторых конфигурациях включение SAM-технологии не увеличивает производительности системы, поэтому в большинстве случаев она отключена. Для новейших видеокарт серии AMD RX 6xxx поддержка этой технологии включена по умолчанию.
Иллюстрация выигрыша от использования опции Resizable BAR (Smart Access Memory) для видеокарт AMD:
У Nvidia функция расширения размера регистра раньше была доступна только на профессиональных видеокартах, например, Nvidia Tesla K40. Начиная с моделей Nvidia серии GeForce RTX 3000 опция Resizable BAR стала доступна и владельцам обычных видеокарт.Опция Resizable BAR расширяет доступные возможности работы устройств по шине PCI-Express. Это параметр, позволяющий оптимизировать порядок работы с BAR (Base Address Register) — базовыми адресами (регистрами) памяти или PCI I/O-диапазона.
За счет использования Resizable BAR появляется возможность одновременной работы центрального процессора с фрагментами памяти VRAM размером более 256MB, что увеличивает производительность приложений, работающих с большими массивами данных. Включение опции Resizable BAR позволяет ускорить обмен данными по шине PCI-E между аппаратным обеспечением и системными программами за счет оптимизации использования ограниченных ресурсов — памяти устройства и/или адресов шины ввода-вывода.
Неэффективное использование ресурсов может значительно уменьшить производительность видеокарт при вычислениях. На практике это проявляется в заниженном хешрейте при майнинге в сравнении с расчетным. Например, при тестировании видеоускорителя Nvidia Tesla K40 на алгоритме Ethash был получен хешрейт, равный единицам mh/s, хотя DAG генерировался со скоростью 275 MB/s, что соответствует 34 mh/s.
Как работает опция Resizable BAR?
Порядок работы с функцией Resizable BAR определяется установкой нужных значений регистров Capability и Control на PCI-E устройстве:
По умолчанию, для обеспечения совместимости, PCI-E устройства используют малый размер BAR (256 мегабайт), что снижает их производительность. Если использовать функцию расширения размера регистра (Resizable BAR), то можно изменять размер доступной процессору памяти видеокарты в диапазоне от 1 MB до 512 GB.
Для работы с функцией Resizable BAR на аппаратном уровне используется специальный регистр — Resizable BAR Capability register:
Доступный объем BAR-памяти определяется местонахождением бита регистра Resizable BAR Capability (от 4 до 23). При установке этого бита в положение 4, размер BAR равен одному мегабайту, если регистр Resizable BAR Capability равен 23, то возможна работа с адресами памяти до 512 GB.
Соответствие некоторых значений регистра Resizable BAR Capability и доступного размера адресов памяти:
Разработчики программ задают в них алгоритм, который на программном уровне определяет оптимальный размер задействующихся ресурсов и программирует его с помощью BAR Size field регистра Resizable BAR Control:
Доступный размер BAR в диапазоне от 1 MB до 512 GB, записывается в бит 12:8. Затем устройство и программа взаимодействуют между собой, согласуя порядок работы с BAR-ами.
Если используется совместимое аппаратное и программное обеспечение, при включении опции Resizable BAR устройство может задействовать больше ресурсов и тем самым обеспечить более высокую производительность. Нужно понимать, что на нужды других устройств станет выделяться меньше ресурсов, что иногда может привести к падению общей производительности. В связи с этим, при использовании видеокарт, работающих с опцией Resizable BAR, на компьютере требуется обеспечить наличие значительно большего объема системной памяти. Ее должно быть не меньше, чем доступный размер VRAM плюс память на нужды операционной системы и прикладных программ.
Как включить на компьютере опцию Resizable BAR?
Чтобы использовать потенциал функции Resizable BAR, оборудование компьютера должно уметь работать в соответствующем режиме.
Обычно для этого требуется установка видеокарты в полноценный слот PCI-E (без райзера или с устройством, способным обеспечить высокую скорость передачи данных по всем линиям PCI-E), наличие большого объема системной памяти (больше размера VRAM), а также поддержка этой технологии процессором и чипсетом. Также требуется включение соответствующих опций в BIOS видеокарты/материнской платы и поддержка на уровне драйвера/операционной системы.
Resizable BAR Capability работает с памятью размером более 4 GB только в режиме 64-bit, поэтому технология Resizable BAR работает только при использовании современной 64-битной операционной системы.
Для видеокарт GeForce RTX 3060 Ti, 3070, 3080, или 3090 первых выпусков для работы с Resizable BAR может понадобиться обновление BIOS. Подробная инструкция о работе с Resizable BAR есть на странице сайта Nvidia.
Официально технологию Resizable BAR на видеокартах Nvidia 3000-й серии поддерживают:
Теоретически работать с опцией Resizable BAR могут и более старые компьютеры с процессорами, которые поддерживают работу с инструкциями PDEP (PCI-E full-rate _pdep_u32/64). К ним относятся процессоры AMD с архитектурой Zen 3, 5 и выше, а также процессоры Intel 4-го поколения Haswel и новее.
Важным условием совместимости является поддержка материнской платой опции 4G Decoding.
Основные требования, которым должен соответствовать Windows-компьютер для полноценной работы видеокарт Nvidia серии RTX 30 с Resizable BAR (для GPU AMD требования идентичны):
О наличии поддержки опции Resizable BAR можно узнать в описании конкретной версии драйверов на сайте Nvidia:
Включение опции CAM (Clever Access Memory) в BIOS материнской платы ASRock (меню Advanced — Chipset Configuration):
Включение опции Re-Size BAR Support в обновленном BIOS материнской платы ASUS (меню Advanced — PCI Subsystem Settings):
Чтобы проверить соответствие компьютера/видеокарты нужным требованиям, нужно использовать утилиту Nvidia Resizable BAR Firmware Update Tool. Эта же программа поможет обновить видеокарты с неподходящим BIOS. Для видеокарт различных производителей может понадобиться специальное программное обеспечение, которое можно найти по ссылкам на этой странице.
Если компьютер поддерживает работу с Resizable BAR, программа NVIDIA Control Panel на вкладке System Information покажет одноименную строку, в которой будет написано Yes:
В диспетчере устройств на вкладке ресурсов видеокарты, поддерживающей работу в режиме Resizable BAR, должна быть видна опция Large Memory Range:
Как использовать функцию Resizable BAR в операционных системах с ядром Linux?
Чтобы включить поддержку Resizable BAR для видеокарт Nvidia, AMD, а также Intel в Linux, нужно обеспечить выполнение аппаратных и программных требований, описанных выше.
Работа устройств с увеличенным объемом ресурсов в операционных системах семейства Linux возможна благодаря встроенной в ее ядро поддержке Resizable BAR/Smart Access Memory.
Современные версии Linux (в том числе ОС для майнинга HiveOS) при работе в связке с драйвером amdgpu обычно сами меняют значение BAR0 для каждой видеокарты AMD таким образом, чтобы зарезервировать для CPU весь доступный размер VRAM. Если в системе нет достаточных ресурсов (адресного пространства), то соответствующим образом уменьшается и значение Resizable BAR.
Чтобы увидеть размер BAR, который на практике используется системой Linux, можно использовать команду:
При правильной конфигурации BIOS, на компьютере под управлением Linux для видеокарт AMD опция Resizable BAR доступна даже при включении видеокарт через райзер PCI-E x1.
В данном случае размер BAR равен 4096 мегабайтам, что соответствует объему VRAM видеокарты AMD Radeon RX584:
На компьютере, не поддерживающем работу с Resizable BAR, размер BAR равен 256 мегабайтам, независимо от объема VRAM видеокарт АМД:
При работе с видеокартами Nvidia в Linux система также сама пытается подобрать оптимальный размер BAR, но на практике это происходит значительно хуже чем у AMD.
Более полную информацию о видеокартах можно получить с помощью команды
Фрагмент информации, отображающейся о видеокарте AMD Radeon RX584 с включенной поддержкой Resizable BAR/Smart Access Memory (видно, что доступен весь размер памяти, равный 4 GB):
Пример информации, отображающейся в Linux по команде sudo dmesg | grep BAR на компьютере с видеокартами Nvidia GTX1066:
Заключение
Для использования опции Resizable BAR пользователь должен использовать совместимое оборудование и программы, которые должны быть настроены соответствующим образом. Так как алгоритм практической реализации работы с регистрами Resizable BAR задается в прикладном программном обеспечении, выигрыш от включения этой технологии не всегда одинаков (если он вообще есть).
В настоящее время подтвержден выигрыш в игровой производительности (до 12%) видеокарт Nvidia трехтысячной серии в Windows после включения Resizable BAR. Так как эта опция улучшает производительность подсистемы памяти, то выигрыш теоретически должен быть и при майнинге. К сожалению, на практике его получить не так легко, так как для этого программы для майнинга должны не только уметь работать с функцией расширения размера регистра, но и обходить ограничения относительно криптовалютных вычислений, налагаемые компанией Nvidia на видеокарты серии RTX 30xx.
В операционных системах на ядре Linux ситуация несколько лучше, так как поддержка Resizable BAR в них реализуется на уровне ядра. Для этого желательно использовать самые новые ядра Linux, а также иметь достаточный объем доступных аппаратных ресурсов (ОЗУ).
Исходя из сравнения производительности видеокарт, у которых работает опция Resizable BAR (в Linux) с такими, в которых используется стандартный размер BAR, равный 256 мегабайтам, можно сказать, что прирост хешрейта при использовании обычных программ для майнинга отсутствует.
Как «бесплатно» прокачать свой компьютер или ноутбук
Что такое Resizable Bar
Технология Resizable Bar или, как ее сокращенно называют, ReBar — это набор инструкций, который позволяет центральному процессору обращаться ко всему объему видеопамяти. Если Resizable Bar не активна, то процессор обращается к видеопамяти только блоками объемом до 256 Мб.
Проще говоря, это обеспечивает более эффективный обмен данными между центральным процессором и видеокартой. Прирост производительности при этом может быть значительным, в зависимости от оборудования и программного обеспечения.
Какие процессоры, видеокарты и материнские платы поддерживают Resizable Bar
Resizable Bar поддерживают ноутбуки с графикой NVIDIA 30-й серии и совместимыми процессорами Intel и AMD. Доступна ли технология на конкретной модели лэптопа нужно уточнять у производителя. Также может потребоваться обновление.
В десктопном сегменте поддержку Resizable Bar должны иметь три компонента: материнская плата, процессор и видеокарта. NVIDIA официально заявляет о поддержке процессоров Intel 10-го и 11-го поколения, а также AMD Ryzen на основе Zen 3. Из видеокарт поддерживается только 30-серия. Причем RTX 3060 уже из коробки имеет нужный BIOS. Для всех остальных видеокарт Ampere может потребоваться обновление.
Что касается материнских плат, то здесь многое зависит от производителя. К примеру, EVGA выпустила BIOS с поддержкой Resizable Bar для материнских плат на чипсете Z370 и Z390 с сокетом LGA 1151v2. То есть технология доступна на процессорах Intel 8-го и 9-го поколения. Официально заявлена поддержка чипсетов Z490, H470, B460, H410, а также чипсетов для 11-го поколения процессоров. У AMD официально заявлена поддержка 400 и 500 чипсетов.
Стоит отметить, что отдельные пользователи заявляют о работе Resizable Bar и на более старых процессорах и видеокартах, например Ryzen 1700 и Vega 56.