После того как разработчики открытых драйверов для GPU компании AMD столкнулись (http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTg) с проблемами зависания GPU при попытке использования HyperZ и были предприняты (http://www.opennet.me/opennews/art.shtml?num=34848) попытки исправить ситуацию, разработчик Jerome Glisse представил (http://lists.freedesktop.org/archives/mesa-dev/2012-December...) набор патчей, который на первый взгляд не вызывает никаких регрессий, при том, что HyperZ работает на семействе GPU R600.
По утверждениям разработчика, данные патчи вызывают прирост производительности от 2 до 10% при полном отсутствии побочных эффектов. Стоит отметить, что причиной появления данных проблем стала недокументированная ошибка в поведении оборудования, приводившая к тому, что GPU зависает, хотя поток команд был сгенерирован в полном соответствии с документацией.URL: http://www.phoronix.com/scan.php?page=news_item&px=MTI1MTg
Новость: http://www.opennet.me/opennews/art.shtml?num=35613
Отлично amd открыла спеки ;) О скольких еще "особенностях" работы железа забыли упомянуть?
читаем о том когда появилась hyperz, просвещаемся
эту тему тут уже обсуждали, выяснилось, что никто и не помнит как обошли эту проблему в проприетарном драйвере на r600+
> что никто и не помнит как обошли эту проблему в проприетарном драйвере на r600+Если её обошли в проприетарном драйвере, то о том, как это сделали, и не должны были отчитываться.
> причиной появления данных проблем стала недокументированная ошибка в поведении оборудования
А вот дополнить соответствующую Errata должны были, раз уж спеки обнародовали.
> то о том, как это сделали, и не должны были отчитываться.Вообще-то, если производитель свои ляпы не хочет документировать - это ему не в плюс. Никто с них код блоба не требует. Требуют формальное описание свойств чипа соответствующее действительности.
> А вот дополнить соответствующую Errata должны были, раз уж спеки обнародовали.
Так о том и спич. Должны были указать где они пролошились и как с этим бороться. А то вывалить спеки по которым все сделано а оно бац и виснет - это, знаете ли, кривовато. Поэтому культурные люди ведут у себя еррату с списком продолбов. Но у амд похоже этим просто никто не заморочился.
>Так о том и спич.What did you say?
> Отлично amd открыла спеки ;) О скольких еще "особенностях"Таких особенностей у любого чипмейкера найдется. Традиционно описываются в секции "Errata" в даташите. Если, конечно, производитель допер и удосужился задокументировать.
Errata есть у практически всех производителей сложных чипов. Потому что выпустить сложный чип совсем без багов - это фантастика. А вот то что не все описывают в даташитах это безобразие - да, есть такое дело. Но это врядли злонамеренно. Скорее элементарное раздолбайство.
>выпустить сложный чип совсем без баговэто да, ровно как и софт. официяльная эпопея началась с FDIV от Intel
еще раньше, началось с "недокументированных" команд 8080, которые оказались побочным эффектом декодера опкодов, которые потом безбожно использовали в Z80
> официяльная эпопея началась с FDIV от IntelОна и раньше была. Просто не так заметно для окружающих.
> которые оказались побочным эффектом декодера опкодов,
А это использование бага в качестве фичи. Культурные процы выкидывают исключение о горбатой команде. Упрощенные и первобытные - пытаются что-то выполнить с черти-каким результатом. Вообще, это баг дизайна. При налете на бредовый фрагмент кода ("program counter runaway") проц не остановит выполнение и что-то сделает. Неизвестно что. Это плохо для предсказуемости системы. Но вот некоторые светлые головы сконвертировали баг в фичу :). Хотя более расово верно сие делать в обработчике исключения bad opcode :)