LINUX.ORG.RU
ФорумTalks

NVIDIA открывает спецификации на свои GPU

 datasheets, ,


1

4

Вы не поверите! Но 23 сентября в рассылку nouveau пришло такое письмо:

Hi Nouveau developers,

NVIDIA is releasing public documentation on certain aspects of our GPUs, with the intent to address areas that impact the out-of-the-box usability of NVIDIA GPUs with Nouveau. We intend to provide more documentation over time, and guidance in additional areas as we are able.

As a first step towards that, we've posted a document here:

ftp://download.nvidia.com/open-gpu-doc/DCB/1/DCB-4.0-Specification.html

Оригинал

★★★★★
Ответ на: комментарий от buddhist

Потери в производительнсти у ФС ничтожны, упирается в физическую скорость диска. А потери в GAPI-драйвере огромны: http://blog.gamedeff.com/?p=235 Вырезав GAPI чуваки подняли скорость в 25 раз и это был не предел. На новом железе abstraction penalty будет ещё больше.

ranka-lee
()

Лёд тронулся. Поздравляю приверженцев нвидии.

Manhunt ★★★★★
()
Ответ на: комментарий от ranka-lee

Ага. Видеокарт на свете всего 3 штуки. Разница между ними - коды командного буфера и микрокод шейдеров. На C тоже пишут на разное железо одинаковый код.

Но Сишечка-то одна, а не туча.

Вместо унифицированного интерфейса OpenGL?

Можно, но по сути гигантский набор костылей. Например вызовы тьмы разных фукций gl* могут быть заменены одним-двумя memcpy.

так ты оказывается просто не шаришь в матчасти.... Тогда все понятно.

dikiy ★★☆☆☆
()
Последнее исправление: dikiy (всего исправлений: 1)
Ответ на: комментарий от kranky

Нет. Эти вызовы уходят куда то в GAPI, там проходит разная верификация и преобразования. Потом это опускается куда то в драйвер который тоже делает какие то свои манипуляции. И только потом оно попадает в видеокарту.

ranka-lee
()
Ответ на: комментарий от dikiy

Но Сишечка-то одна, а не туча.

На подмножестве C можно писать код для GPU. Большая часть графического кода давно лежит в шейдерах, не в коде для CPU.

ranka-lee
()
Ответ на: комментарий от Reset

Уверен, что приведет.

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

Manhunt ★★★★★
()
Ответ на: комментарий от ranka-lee

там проходит разная верификация и преобразования

От них ты никуда не денешься, и тебе придётся всё это реализовывать ручками каждый раз. Скорее всего, скорость из-за этого упадёт, ибо разработчики из нвидии явно знают лучше, как работать с своим железом, чем сторонний быдлокодер.

драйвер который тоже делает какие то свои манипуляции

Это лишь для того, чтобы можно было управлять настройками видео через драйвер. Оверхед совсем маленький, но ты много потеряешь по части функционала.

kranky ★★★★★
()
Ответ на: комментарий от ranka-lee

Но Сишечка-то одна, а не туча.

На подмножестве C можно писать код для GPU. Большая часть графического кода давно лежит в шейдерах, не в коде для CPU.

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

dikiy ★★☆☆☆
()
Ответ на: комментарий от kranky

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

Их все можно делать при подготовке данных для игры. В игре - одни memcpy и всё. Никаких левых вызовов.

ranka-lee
()
Ответ на: комментарий от dikiy

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

Зачем? Ведь С компилируется на разных процессорах в разные процессорные команды. Разница между разными GPU - микрокод шейдеров и формат командного буфера.

ranka-lee
()
Ответ на: комментарий от ranka-lee

Зачем? Ведь С компилируется на разных процессорах в разные процессорные команды. Разница между разными GPU - микрокод шейдеров и формат командного буфера.

неужели? А типа сами команды одинаковые? %)

dikiy ★★☆☆☆
()
Ответ на: комментарий от ranka-lee

Их все можно делать при подготовке данных для игры. В игре - одни memcpy и всё. Никаких левых вызовов.

это можно и сейчас с помощью OpenGL делать. Просто ты об этом не слышал наверное %)

dikiy ★★☆☆☆
()
Ответ на: комментарий от Reset

Как раз наоборот, линукс сейчас в догоняющих.

Винда - это тормозной, пухлый, плохо масштабируемый, дырявый комок легаси кода. Сравни время загрузки, сравни время копирования большого количества файлов, сравни системные требования, сравни способность обслужить большой сетевой трафик. Когда код этого проржавевшего решета откроют, последует офигенный всплеск вирусов/зловредов всех сортов. Куда ни ткни, везде у винды проигрыш, причем разгромный. Единственное оставшееся исключение — графический стек, но ложка меда не способна придать привлекательность бочке говна.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)

Теперь-то венде точно капец.

tailgunner ★★★★★
()
Ответ на: комментарий от ranka-lee

Команды чего? GPU - это просто очень злой векторный процессор с многими сотнями ядер и быстрой памятью.

команды отрисовки. Команды смены перспективы/вида/угла/освещенности.

То, что предлагаешь ты - написать свои дрова для видяхи. Но зачем, если они уже есть? :)

dikiy ★★☆☆☆
()
Ответ на: комментарий от Jetty

По мне так тоже неплохо, с учётом того что это вроде как бюджетный сектор :). Пока самая главна «претензия» к nvidia это затягивание сроков внедрения. Конкуренты уже выкатили свои решения и выпустили девайсы, а от nvidia пока только shield. Я поэтому и даю им плохой прогноз — они упускают рыночные возможности. Причём, третий год подряд, если не ошибаюсь.

true_admin ★★★★★
()
Ответ на: комментарий от ranka-lee

Было: D3D Effects + D3D runtime

При чем здесь OpenGL?

Например вызовы тьмы разных фукций gl* могут быть заменены одним-двумя memcpy

Термин «вершинный буфер» тебе о чем-нибудь говорит?

buddhist ★★★★★
()
Ответ на: комментарий от dikiy

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

ranka-lee
()
Ответ на: комментарий от dikiy

Команды смены перспективы/вида/угла/освещенности.

Таких команд уже давным давно не существует. Программисты сам пишет всё это уже более 10 лет.

команды отрисовки.

Это одна команда - «нарисовать полигоны беря данные с этого адреса от сих до сих, используя вот такой вершинный шейдер с вот такими константами, использовать вот такой пиксельный шейдер с вот такими константами с такими-то стейтами».

ranka-lee
()

Ха. Ха. Ха.

А ведь как яростно они посылали всех, когда их просили открыть спецификации. Даже от денег отказывались. Видимо, успех открытых драйверов для Radeon подействовал. И заодно неспособность сделать поддержку Optimus самостоятельно.

Quasar ★★★★★
()
Ответ на: комментарий от ranka-lee

насколько я понимаю, шейдерная программа сама может взять нужную константу из памяти видеокарты. А что такое рендерстейт? Такого слова в русском языке нет.

dikiy ★★☆☆☆
()
Ответ на: комментарий от devl547

Увидим. Но в любом случае невидия сейчас в позиции догоняющего и ей надо делать всё, чтобы хотя бы сравняться с AMD. А без открытых драйверов об этом нельзя даже и мечтать.

Quasar ★★★★★
()
Ответ на: комментарий от true_admin

Да, тут полностью согласен. У них была возможность побороться за освободившийся рынок посля ухода TI. Но они почему-то его профукали.

Jetty ★★★★★
()
Ответ на: комментарий от ranka-lee

Команды смены перспективы/вида/угла/освещенности.

Таких команд уже давным давно не существует. Программисты сам пишет всё это уже более 10 лет.

я позволю себе засомнаваться.

Это одна команда - «нарисовать полигоны беря данные с этого адреса от сих до сих, используя вот такой вершинный шейдер с вот такими константами, использовать вот такой пиксельный шейдер с вот такими константами с такими-то стейтами».

ок. если все так просто, то где же бутылочное горлышко? Данные в видюху загрузить можем. Шейдерные программы загрузить тоже можем. Что тогда не устраивает? Что параметры шейдерным программам передавать нельзя?

Так можно запилить очередное расширение OpenGL, вместо того, чтобы спуститься в ад.

dikiy ★★☆☆☆
()
Последнее исправление: dikiy (всего исправлений: 1)
Ответ на: комментарий от Deleted

Значит таки не всё, что надо, открыли? Ну всё понятно. Но с другой стороны nouveau итак отреверсили немало. Получается, что если разработчики так дальше пойдут, от накопают слишком много. Вот невидия, наверное, и решила пойти навстречу, чтобы лишнего не откопали.

Quasar ★★★★★
()
Ответ на: комментарий от fallout4all

В SteamOS будут блобы. Никто в здравом уме недоделанный nouveau туда ставить не будет. Для начала nouveau нужна более-менее нормальная поддержка железа.

Quasar ★★★★★
()
Ответ на: комментарий от buddhist

При чем здесь OpenGL?

При том что работа с шейдерами в OGL в принципе не отличается от таковой в D3D Effect (который в D3D11 выкинули на помойку). И внутри 100% те же проблемы,

Термин «вершинный буфер» тебе о чем-нибудь говорит?

Это старая новость. По сути своей это обёртка над куском памяти под управлением видеокарты.

ranka-lee
()
Ответ на: комментарий от dikiy

то где же бутылочное горлышко?

В том что команды типа glSet* glEnable* делают внутри себя жуткую кучу работы которая и съедает всю производительность.

ranka-lee
()
Ответ на: комментарий от Manhunt

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

Винда выигрывает по всем параметрам.

Единственное оставшееся исключение — графический стек

Не только.

Reset ★★★★★
()
Ответ на: комментарий от paran0id

И нуво и блёбь. И карты, но это уже холивар.

Блоб штабилен, карты _меня_ устраивают.

Согласен, холивар.

ggrn ★★★★★
()
Ответ на: комментарий от ranka-lee

glEnable* делают внутри себя жуткую кучу работы которая и съедает всю производительность.

да неужели? И какую же кучу лишней работы делает glEnable(GL_COLOR) например?

dikiy ★★☆☆☆
()
Ответ на: комментарий от ranka-lee

Ах да, разный код под разные модели видеокарт и даже под разные версии драйверов приходится писать и сейчас.

и ты считаешь, что эту светлую возможность надо довести до своего логического финишаß

dikiy ★★☆☆☆
()
Ответ на: комментарий от Reset

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

Винда выигрывает по всем параметрам.

4.2

dikiy ★★☆☆☆
()
Ответ на: комментарий от Reset

то в этом плохого? Сейчас уже почти так делают, только в качестве backend'ов выступают специализированные API от sony, микрософта, nintendo ...

Ты нифига не в теме, у Microsoft на Xbox360 нормальный DirectX с HLSL. При этом есть возможность контролировать буфер команд.

Костыли на PS3 все ненавидят лютой ненавистью ибо работать с ними просто ад. От того вся кроссплатформа выглядит как говно и идет с просадками FPS большими чем на боксе.

winddos ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.