Войны алгоритмов

Немного гикнутости в ленту.
Недавно Нвидия объявила о поддержке Resizable BAR в новых картах серии RTX 30XX.
Если читать это в телеграмм-новостях, где не принято глубоко копать, то может сложиться впечатление, что это какая-то новая фишка от Нвидия, которая позволяет ускорить работу с памятью.
Если копнуть чуть глубже, то да, это ускорение обмена данными между CPU и GPU. Как написано на сайте самой Нвидии:
Resizable BAR is an optional PCI Express interface technology. As you move through a world in a game, GPU memory (VRAM) constantly transfers textures, shaders and geometry via many small CPU to GPU transfers.
https://www.nvidia.com/en-us/geforce/news/geforce-rtx-30-series-resizable-bar-support/
И тут глаз цепляется за Resizable BAR is an optional PCI Express interface technology.
Копаем дальше. Выясняется, что у AMD есть "своя" технология SAM - Smart Access Memory и они ее анонсировали в прошлом году для новых радеонов.
Русскоязычная пресса пишет "Resizable BAR, ставшая ответом на Smart Memory Access от AMD. Благодаря ней процессор получит полный доступ к памяти видеокарты, обеспечив прирост производительности."
Копаем еще дальше. Если это фича PCI-E, то почему это преподносится как новая фишка новых карт. И в чем разнича между SAM и Resizable Bar?
Выясняется, что разницы нет, и что это "коммерческое название" от AMD:
What is the difference between AMD SAM and Resizable BAR
NONE. AMD has only really enabled this available technology for more than a decade. Simply what they have made support this technology and give it a more commercial name.
10 лет, what? Копаем дальше.
Resizable BAR, which would be admitted on April 24, 2008. This technology is integrated within the PCI Express 3.0 standard. This technology allows the processor can access all the VRAM memory.
Хотите подробнее, читайте тут, с огоньком про Resize Bar: https://hardwaresfera.com/en/articulos/resizable-bar/
На итоге имеем следующее, эта фича появилась в стандарте PCI Express 3.0 почти 13(!) лет назад.
Сейчас ее программно(!) включают в своих драйверах и Нвидия, и АМД. Но этого мало, должна быть еще поддержка этой фичи со стороны процессора (и на которую все забивали), которая, например будет в 11-м поколении Интел (и в НЕКОТОРЫХ линейках 10-го поколения). И со стороны материнки - и тут интернет пестрит свежими анонсам от всех мамкопроизводителей о поддержке этой фичи (а где вы были все эти 13 лет?). Нвидия, кстати, пишет, что они "работают" с АМД над поддержкой Resize Bar их процессорами для карт RTX 30xx. Пикантно.
Забавная ситуация. Фичу, которая появилась 13 лет назад, наконец-то стали использовать. Программно.
Немного напоминает ситуацию с вычислительной фотографией, когда в бой идут не сенсоры и микропроцессоры, а алгоритмы.
Также за кадром остается вопрос, а что делать игро- и софто-писателям? Добавлять еще один слой оптимизации с учетом использования Resize Bar? (Тут все гпу-рендеры тихо взвыли). Или драйвера и API все это разруливают сами?
Похоже, что нет. Ибо первые тесты игр показывают, что у кого-то прирост в 20% от использования SAM (читай Resize Bar) на новых радеонах, а у кого-то, наоборот, замедление(упс).
https://www.techspot.com/article/2178-amd-smart-access-memory/
В общем, нас ждем война алгоритмов, что уже демонстрируют DLSS, денойзеры и прочая ИИ-нечисть.
Resizable BAR включат в драйверах Нвидия в конце февраля. Ждем тестов и информации от рендерoписателей - как это коснется их продуктов.
https://www.theverge.com/2021/1/12/22226560/nvidia-resizable-bar-support-intel-amd-smart-access-memory-feature