The OpenNET Project / Index page

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



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

Исходное сообщение
"Тестирование развития открытых драйверов Radeon в 2014 году"
Отправлено Аноним, 01-Янв-15 09:00 
> Но без лoжной скромности скажу, что r600-sb для vliw оптимизирует не хуже,
> чем все их проприетарныe компиляторы,

Что забавнее, это отдельный бэкэнд и у его автора есть неслабые предъявы к LLVM и его усложненности. И это в целом можно понять. С другой стороны делать полновесный компилер си/си++ при наличии готового LLVM и минимуме ресурсов амдшникам не улыбалось.

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

> управлении текстурами

Если уж мы о птичках, в ядре 3.19 что-то делали с TTM, как раз по части ускорения операций с текстурами. Ждем когда фороникс раздуплится забенчить :).

> и прочим.

Судя по провалам синтетических тестов типа triangles - что-то где-то здорово недооптимизировано, но мешает жить только местами. В менее синтетических ситуациях оно наверное и будет давать разницу не в 3 раза как в синтетике, а 20-30%.

> А для radeonsi пока никто такого же чуда не сотвoрил, так что придется подождать.

Для начала, там не VLIW и поэтому компилеру должно быть менее душно работать с таким набором команд и без костылей. Собственно, амдшники 2 года долбались с LLVM чтобы он вообще смог хотя-бы технически корректный код для VLIW выдавать. Мега-супер-архитектура LLVM чего-то не в курсе существования VLIW и амдшники там адски костылировали, донавешивая какой-то отдельный проход, который уже потом перегруппирует инструкции так чтобы поток команд хотя-бы технически валиден был (VLIW в этом плане придирчивы по части взаимозависимостей). А по хорошему VLIW надо оптимизацию на этапе генерации потока команд, с учетом взаимозависимостей. На что LLVM (да и остальные реально существующие компилеры) заточены чуть менее чем никак (это фирменная проблема VLIW что реально существующие компилеры не в курсе таких заморочек). Ну вот sb это хоть немного откостылировал. Это по идее менее оптимально чем когда компилер явно aware про закидоны VLIW, но лучше чем никак.

А в случае GCN амдшники задолбались и предсказуемо воткнули перед пачкой ALU и прочая собственные блоки планировщиков, так что у компилера стало заметно меньше проблем. Кстати говоря, в поздних 3.5/git'овых 3.6 LLVM для GCN'ов ощутимо подтяули. И это тоже одна из причин почему SI стал быстрее. А для начала хотя-бы перестали валиться тяжелые графические движки и прочее. Ранние LLVM имели какие-то проблемы с аллокацией регистров и если нагрузка большая - LLVM мог умереть, не сумев выкроить регистры. По поводу чего валился Xonotic на настройках Ultra, ряд opencl задач и еще некоторые игры.

 

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



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

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