Деградация AMD как производителя видеокарт и почему у Radeon нет потенциала - Часть 2

Настало время сравнить в лоб AMD и NVIDIA, и выяснить, почему у Radeon нет потенциала, в отличие от GeForce.
29 июня 2024, суббота 11:04
Hard-Workshop для раздела Блоги

Предисловие

Для начала оставлю ссылку на предысторию и предыдущую часть:

Деградация AMD как производителя видеокарт и почему у Radeon нет потенциала - Часть 1

Значит так, ранее мы остановились на том, что меня окончательно достали вечно кривые видеокарты и драйверы AMD... Когда-то я был фанатом AMD, но эта глупость давно прошла.

С потенциалом видеокарт понятно, AMD постоянно бросает пользователей с кривым и неполноценным хламом один на один, и так называемый "потенциал" просто не раскрывается в полной мере, но что насчёт остального?

А вот тут всё очень интересно, вероятно многим плевать на какой-то там поломанный аж с 2021 года драйвер llvmpipe в составе Mesa3D, но это одно из проявлений деградации AMD, ведь прямо в поисковой выдаче официального сайта Mesa3D было сказано, что они официально поддерживаются компанией AMD:

Как разработчики доломали llvmpipe в составе Mesa3D, или почему Open Source нежизнеспособен

Хотя в последнее время разработчики проекта убрали упоминание AMD, забавно:

Но не суть, сейчас не про Mesa3D пойдёт речь, а про драйверы видеокарт AMD/NVIDIA.

Так вот, когда то я уже сравнивал драйверы AMD и NVIDIA:

Графические и не очень API, возможности драйверов (21.2.2 - GCN 4 / 461.40 - Pascal)

Но тогда я не придал особого значения расширениям OpenGL, ведь сравнение было довольно ограниченным в плане версий драйверов, и главная проблема AMD не прослеживается при таком подходе:

А проблема состоит в том, что AMD постоянно урезает функциональность своих драйверов, что приводит к серьёзным проблемам с играми, особенно старыми, например вот к такому винегрету из артефактов изображения и утечек памяти, "спасибо" AMD за "прекрасные" драйверы:

Сбор информации

Чтобы не быть голословным, я достал старую информацию, что была собрана в 2021 году с видеокартами RX 560 и GTX 1070. Но это не всё, еще была собрана информация с видеокартами AMD в лице RX 6900XT, RX 5600M, а так же встроенная в Ryzen 3 2200G - Vega 8, ну и GTX 1070 работающая из под Linux с двумя версиями драйвера:

Начнём со старых данных, а именно - RX 560 и GTX 1070 собранные в 2021 году.

Особое внимание будем обращать на расширения OpenGL, и у RX 560 с драйвером Adrenalin 2020 21.2.2 (27.20.14535.1000) было 302 GL расширения:

И не позволяйте AMD ввести себя в заблуждение! Драйвер Adrenalin 2020 21.2.2 на самом деле выпущен в 2021 году! Просто "красные" вечно всё через задницу делают, названия драйверов не исключение:

Тем временем у GTX 1070 с драйвером 461.40 целых 389 расширений, что ощутимо больше, чем предоставлял драйвер AMD:

Далее пойдёт GTX 1070 под линуксом с драйвером 555.42.02, GPU Caps показывает 390 расширений:

GTX 1070 с драйвером 550.54.15 уже показывает 389 расширений, по сути столько же, сколько было и в 2021 году, хотя сейчас приложение запущено через Wine:

Далее пойдёт Radeon RX 5600M в среде лицензионной Windows 11, но есть нюанс, в качестве основной видеокарты числится встроенная в ЦП Vega, а GPU Caps не перечисляет расширения OpenGL для каждой видеокарты в отдельности, так что будем считать, что они одинаковы для обеих чипов, ибо для OpenCL имеются отдельные колонки в отчётах.

А ещё драйвер версии 20.10.23.15 (27.20.11023.15001)... Он тоже 2021 года, хотя по версии может показаться, что драйвер 2020 года... И да, с более новыми драйверами от AMD гораздо больше проблем, потому вот так, расширений OpenGL 303 штуки:

Далее RX 5600M, но в среде Linux, и тут совсем всё печально, всего 233 расширения OpenGL, а так же не работает OpenCL (ибо Linux), и не работает Vulkan (ибо Linux), короче под линуксом у AMD дела гораздо хуже, чем под Windows:

Предвкушая вопли фанатов AMD, мол, это всё дистрибутив неправильный, Wine не Wine, и прочие глупости... Обломитесь! Хвалёный драйвер AMDGPU зависит не от дистрибутива, ибо он вшит в ядро Linux, чем так гордятся линуксоиды на каждом углу:

Тьфу, было бы чем гордиться...

Перейдём к APU Ryzen с Vega 8, да, тут старый драйвер 2022 года выпуска под версией 22.6.1, ибо с более новыми драйверами у человека просто дичайшие проблемы в играх, имеем 305 расширений GL:

И наконец Radeon RX 6900 XT с драйвером 24.5.1, увы, но в наличии всего 291 расширения, хотя казалось бы, видеокарта далеко не из самых старых:

Так же были собраны данные RX 6900 XT с драйвером 24.6.1, но без скриншотов:

Собственно на этом можно было закончить, но не так быстро, нужно обработать собранную информацию по всем видеокартам:

В дальнейшем я буду опираться именно на данные из полных отчётов.

-

--

OpenCL

Начнём с главной "фишки" AMD, а именно OpenCL, изначально не планировалось его рассматривать, однако и в этом плане AMD деградировала...

Итого имеем следующие данные:

Как можно заметить, в драйверах 2021-2022 года видеокарты AMD/NVIDIA поддерживали OpenCL 1.2, в плане расширений ситуация странная, ибо RX 560 и Vega 8 поддерживают 25 расширений, а вот RX 5600M всего 21.

С драйверами 2023 года у меня есть данные только для RX 5600M под линуксом, но линуксы всегда были недоразвиты, а драйверы AMD недоделанными, потому "из коробки" OpenCL не поддерживается в линуксе, и сравнивать по сути нечего, даже несмотря на Mesa 23.1.2 и AMDGPU в ядре Linux 6.7.12.

Переходим к драйверам 2024 года, со стороны AMD видеокарта Radeon RX 6900 XT, а вот NVIDIA - Geforce GTX 1070, совсем неравные условия, но деградация AMD на лицо... Ведь AMD потеряла 5 расширений OpenCL, да и версия OpenCL так и осталась 1.2.

Тем временем GTX 1070 поднялась до OpenCL версии 3.0 как платформы, так и устройства, и расширений прибавилось, хотя GPU Caps Viewer показывает 19 расширений вместо 22, но это по вине Wine Proton.

Безусловно расширения OpenCL зависят от конкретной видеокарты, и с какой-нибудь RTX 3070 наверняка будет больше расширений доступно, чем с GTX 1070, но проблема в том, что NVIDIA, судя по всему, ничего не потеряла с 2021 года по 2024, а AMD явно потеряла.

Да господи, даже у GeForce GTX 1650 больше OpenCL расширений (24 штуки), чем у Radeon RX 6900 XT:

Intel UHD 630 вообще поддерживает 40 расширений, хотя и только OpenCL версии 2.1 NEO, но не будем далеко уходить от темы:

Печально это конечно, что AMD настолько сильно деградирует, а ведь я даже до OpenGL ещё не добрался...

-

--

OpenCL расширенное сравнение

В этом и заключается деградация AMD как производителя видеокарт, в потере того, что уже было и работало, а ведь изначально я не планировал сравнивать OpenCL, но как оказалось - деградация не имеет границ.

Так что проведём более детальное сравнение, ведь ранее была поверхностная информация.

- OpenCL Extensions

Начнём с расширений, и тут отчётливо видно, что NVIDIA не только сохранили все базовые расширения (khr), а так же дополнительные (nv), но и добавили пачку новых, итого моя старая GTX 1070 с 2021 по 2024 год получила 7 новых расширений OpenCL, за что моё уважение NVIDIA.

А вот с AMD беда, причём тотальная, самыми функциональными оказались драйверы 2021 года, правда RX 5600M это не спасло, там недоступно порядка четырёх расширений, что доступны для RX 560 / Vega 8, эти же расширения недоступны и для видеокарты RX 6900 XT, но помимо этого в драйвере 2024 года пропало расширение "cl_amd_liquid_flash", что было доступно другим видеокартам с драйверами 2021-2022 годов.

Да и нет никаких новых базовых (khr) расширений у AMD даже с RX 6900 XT и драйвером 2024 года, что были добавлены в драйверах NVIDIA, и доступны даже со старой GTX 1070, так что по факту моя GTX 1070 функциональнее гораздо более новой RX 6900 XT (привет потенциал):

А ещё я не понял прикол с расширением cl_khr_spir, да и вообще, у AMD какой-то безумный хаос творится...

Ну и конечно посмотрим на прочие параметры, в подавляющем большинстве преимущество за NVIDIA:

Собственно тут и говорить особо нечего, ничего толком не изменилось со временем в плане лимитов на размер изображений и т.п.

А в случае CL_DEVICE_IMAGE3D_* у AMD исторически всё по минимально допустимым размерам, даже у RX 6900 XT, когда NVIDIA позволяет гораздо большие размеры изображений задействовать. Наверное некоторые слышали про HD текстуры в игре Minecraft, и какая это боль и страдание с видеокартами от AMD? Вот как раз подобные лимиты и отвечают за такие нюансы, только уже в области OpenGL, а не CL...

-

--

---

Продолжение следует...

На этом завершу данную часть, к сожалению я не добрался до OpenGL и Vulkan, но ничего страшного, в третьей части, скорее всего, доберусь.

Что можно сказать про OpenCL от AMD? Да ничего хорошего, пляшут абы как наперекосяк, при всём желании, я бы даже не подумал разрабатывать софт опираясь на функционал видеокарт AMD, ибо от драйвера к драйверу расширения пляшут как попало, сегодня работает - завтра удалили, а послезавтра вернули обратно, брр.

Совсем другое дело NVIDIA, они мало того не удалили ничего из основных расширений, так ещё и набросили горсть нового функционала, и версию OpenCL подняли до 3.0 даже для GTX 1070, когда AMD застряла с древней 1.2 даже на гораздо более новой RX 6900 XT...

Вот вам и "потенциал" видеокарт AMD, что работало - поломали и вырезали, а нового не добавили толком ничего.

Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.

Когда в компьютере только AMD...