Про GPU

Вообще если критично посмотреть на компоновку современных настольных систем, то возникают логичные предложения.

Вот например видео — атрибут нынче обязательный, но вы не встретите на мамках гнезда под видеочип наподобие процессорного, вместо этого вам предложат выбор между слабым, но с низкой задержкой встроенным в процессор графическим ядром либо мощной, но «находящейся далеко» PCIe карточкой. Вариант «видеочип на мамке» можно видеть разве что в бюджетных матплатах и ноутбуках, да и там скорее всего будут иметь место ненужные промежуточные слои. В то же время мы давно не удивляемся встроенному в матплату аудиочипу (хотя можно ставить и отдельную аудиокарту, но это редко того стоит), так почему бы и графике не занять своё заслуженное место?


А ведь казалось бы, сделайте гнездо для видеочипа да распаяйте несколько гигов GDDR (или HBM?). Пусть проц и видео используют общую память, ведь тогда не придётся слать данные из одной памяти в другую и обратно (кстати, как с этим у встроек дела — они и так основную ОЗУ используют, есть ли оптимизация в драйверах, предотвращающая ненужное копирование?).
При этом можно на уровне ОС помечать, что встроенная быстрая GDDRx-память нужна именно для связанных с видеочипом нужд, а плашки с DDR — для всего остального. Результат — клиентская программа может выделять потенциально нужные видеочипу данные сразу в быстрой ОЗУ, что плюс к скорости выполнения, да и в случае не установленных плашек DDR система вполне заведётся, если 2-4ГБ GDDR и так распаяны и доступны CPU.
С другой стороны, видеокарта всегда сможет использовать DDR в случае нехватки GRAM. Ведь если посмотреть на основных потребителей GRAM — а это игры — то можно увидеть, что обычно больше 2ГБ им сиюминутно не нужно, просто игроделы вынуждены загонять всё в GRAM, дабы уменьшить количество передач данных из памяти в память — а это, ещё раз, для дискретной видеокарты очень дорого. Да и что такое GRAM — это та же DRAM, только шире шина(от 128 бит на плашку в бюджетных GDDR до 4Кбит в HBM-варианте, например) и из-за этого её проще иметь распаянной. Например 4ГБ распаянной на материнке памяти — это огромный запас, который будет актуален лет десять.

Этот навязанный выбор между встроенным видеоядром, которое полагается на медленную системную DDR-память, и по сути отдельным компьютером в виде дискретной видеокарты, лежащий через южный мост и отдельный интерфейс — это выбор между двумя плохими решениями, со своими ограничениями и проблемами. Какой-то промежуточный вариант дают новые процессоры от Intel со встроенной графикой AMD — там есть HBM-память, но она только для GPU, CPU ею напрямую пользоваться не может.
Можно возразить, что перенос линий питания и части логики видеокарты на матплату сделает её дороже, но это может быть с лихвой скомпенсировано удешевлением видеокарты — от неё потребуется только графический процессор.

Отдельно замечу, что хорошо было бы видеочипы перевести из класса чёрных ящиков полностью на VLIW-рельсы, чтобы вместо пианолы была комбинация «вычислительные ядра+выходной буфер». Это сразу упрощает написание тех же драйверов, потому что подход унифицируется и инициализацию с базовым выводом картинки можно сделать минимумом вызовов; что до серьёзной логики, то времена fixed pipeline давно прошли и сейчас всё завязано на шейдеры, в свою же очередь за конкретными видами шейдерных блоков почти везде стоят одни и те же вычислительные ядра, то есть база для такого переосмысления уже есть. Граница размывается, и на графическом процессоре вполне можно делать рассчёты — специфичные, с определёнными ограничениями, но можно и причём сразу на очень многих ядрах, а это бывает нужно чаще, чем кажется.
Следующим шагом может стать вынос буфера вывода на отдельный чип, к которому будут иметь равный доступ и GPU, и CPU, и тогда для базового вывода картинки GPU и вовсе не будет нужен.

В итоге мы возвращаемся к ситуации, когда у нас на матплате есть раздельные сокеты под центральный процессор и АЛУ (который теперь мультиядерный суперскалярный и т.д.), и это сразу даёт плюсы по части скорости, энергопотребления и гибкости построения различных конфигураций. Это логичный эволюционный ход, которому будут противиться организация, чьи сверхприбыли растут из производства исключительно видеокарт, но следует отринуть тех, кто тормозит развитие.

Пора избавляться от дискретных монстров.

P.S. Пост навеян информацией о новых «Байкалах», в которых по слухам оказалась крайне примитивная и слабая встроенная видеоподсистема, из-за чего для настольных задач требуется установка дискретной видеокарты, которых в РФ пока делать не научились.