The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Бэкэнд со стадией оптимизации для шейдеров возможно будет вк..."
Отправлено opennews, 26-Апр-13 09:26 
Некоторое время назад разработчик Вадим Гирлин (Vadim Girlin) представил (http://lists.freedesktop.org/archives/mesa-dev/2013-February...) собственню ветку MESA, в котором включен оптимизированный кодогенератор шейдеров для GPU, поддерживаемых драйвером R600g. Представленный код генерирует шейдеры, которые значительно более оптимизированы, чем шейдеры, генерируемые текущей версией кодогенераторов в драйвере R600g (как своего собственного, так и на основе LLVM).


В частности, разработчик продемонстрировал существенное увеличение FPS в тесте Unigine Heaven с использованием собственного кодогенератора, что значительно превосходит результат, демонстирируемый неоптимизированным штатным вариантом кодогенератора, а также кодогенератором на основе LLVM.


В результате в списке рассылки возникла полемика. Разработчики из компании AMD полагают, что у штатного кодогенератора, встроенного в драйвер R600g, нет перспектив и он будет постепенно заменен на кодогенератор, основанный на LLVM по мере его готовности. Аргументами за такое решение служит потенциальное упрощение разработки (теоретически достаточно разрабатывать только backend, осуществляющий генерацию нативного потока команд GPU), упрощение реализации OpenCL и т.п.


С другой стороны, разработчик Vadim Girlin отметил что реализация тех же самых оптимизаций в LLVM является сложной и нетривиальной задачей, так что он не смог бы реализовать свои оптимизации в LLVM с теми же затратами усилий. Кроме того, он констатировал, что за довольно существенное время разработки бэкэнда на основе LLVM не было достигнуто практически никаких видимых для пользователей результатов, что по его мнению ставит под вопрос целесообразность такого подхода.


В результате возникло некое противоречие: с одной стороны все разработчики согласны, что оптимизации дают весьма заметный эффект в нагрузках, активно использующих шейдеры. С другой стороны, разработчики считают LLVM более перспективным, чем собственный кодогенератор в долгосрочной перспективе.


Тем не менее, разработчику Vadim Girlin судя по всему удалось найти компромиссное решение, которое устроит обе стороны, участвовавшие в полемике. Недавно разработчик представил (ttp://www.phoronix.com/scan.php?page=news_item&px=MTM1NTU)  свой новый вариант оптимизатора. В данном случае разработчик постарался максимально отвязать оптимизатор от остальных частей драйвера. Суть идеи в том, что оптимизатор подключается через некоторые точки в драйвере и получает от него уже готовый код GPU, над которым и выполняет оптимизации.


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


Данная инициатива вызвала одобрительную оценку большинства разработчиков, которые теперь не видят препятствий для включения оптимизатора в состав драйвера R600G. Вероятно, потребуется доработка и переделка, однако в целом такой подход вызвал одобрение большинства разработчиков драйвера.

URL: http://www.phoronix.com/scan.php?page=news_item&px=MTM1NTU
Новость: https://www.opennet.ru/opennews/art.shtml?num=36794

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру