ПрограммированиеФорумГрафика

Fermi (3 стр)

Страницы: 1 2 3 4 513 Следующая »
#30
0:06, 29 мар 2010

slava_mib
> Нвидиа (пред)последние годы выезжала на том, что делала продукты, которые
> превосходили АМД по функционалу (вспоминаем первые карты с шм 3.0, с поддержкой
> форматов высокой точности, fp-рендер таргетов и так далее). В принципе, эти
> технологии были нафиг никому не нужны (т.к. хоть они и работали, но, по большей
> части, основательно тормозили на "свежих" картах, где они появлялись), но
> пользователи на это покупались (а так же такие видео брались для проф. целей).
В точку попал.

#31
0:10, 29 мар 2010

Super_inoy
> чипы и АМД и нвидии выпускаются на одном заводе
Оо
откуда информация, можно ссылку?
Что за фирма делает чипы? ti?

#32
0:16, 29 мар 2010

На счет того что они отстали по функционалу это вряд-ли. Вот например, read-write память в куде была в 2007 году уже.
А в DX11 до сих пор нет нормального аналога.
Да, есть конечно RWBuffer и RWTexture, но вот тут есть как бы такая маленькая тонкость, которая блин, сводит на нет все преимущество RW ресурсов.
Можно написать RWBuffer<float> buff; Можно читать и писать из него, все ок.

Но как только вы пишете RWBuffer<float2> или RWBuffer<float4> или RWTexture<float2> или RWStructuredBuffer<...> то ваш RW буффер мгновенно превращается в WBuffer. И fxc.exe говорит, что вы, блин, не можете читать из UAV ресурсов с таким форматом.
И по сути нет никакой разницы между программированием на CS11 и на старых добрых DX9 пиксель-шейдерах с рендерингом в текстуру и натягиванием квада.
Потому что вы все-равно не можете в одном и том же шейдере и читать и писать в этот буффер. Нет, извольте записать, скопировать с помощью СopyResource и прочитать уже в другом шейдере. И теперь вопрос, откуда такое ограничение в DX11? Ну? Ну откуда оно может быть, если у NV уже в 2007 году поддерживались произвольные поинтеры в память? Вот блин, DX11 отствает по функционалу от CUDA 1.0. Вот вам и выигрыш по функционалу.

А ответ такой, что ATI железка как была так и осталась фиговой и это именно та старая ATI железка 500-ой модели, я специльно говорю ATI.
Ну всунули посередине конвейера еще одну стадию, ну сделали тесселятор. Ну и что? Сделали фитчу, чтобы покрасоваться. Лучше бы нормальную память сделали.

Извините, если кого обидел. Надоело уже слушать про то, что 5XXX это круто и что DX11 это пуп земли.

#33
0:16, 29 мар 2010

flaber
wiki:TSMC

#34
0:34, 29 мар 2010

Super_inoy
> а то что чипы и АМД и нвидии выпускаются на одном заводе по одному техпроцессу это ничего?
и? кристаллы то разные.

#35
3:11, 29 мар 2010

innuendo
> мне эти детали железок - до лампочки
> я смотрю на конечный результат, а хоть на 1Мгц ядро хоть на 1Ггц :)
Такая же разница будет и при простой геометрии, тесселлятор тут не обязателен.

#36
7:09, 29 мар 2010

SNVampyre
> > мне эти детали железок - до лампочки
> > я смотрю на конечный результат, а хоть на 1Мгц ядро хоть на 1Ггц :)
> Такая же разница будет и при простой геометрии, тесселлятор тут не обязателен.
я сказал именно про NPatches тест
жаль что SubD11 не мерялся

#37
10:58, 29 мар 2010

FROL
> как только вы пишете RWBuffer<float2> или RWBuffer<float4> или
> RWTexture<float2> или RWStructuredBuffer<...> то ваш RW буффер мгновенно
> превращается в WBuffer
Это где такое наблюдается? Что-то я не замечал подобного.
Я, например, в compute-shader'е спокойно и читаю, и записываю данные в буфер, определенный так:
RWStructuredBuffer<float4> H : register(u0);
Все работает

#38
11:42, 29 мар 2010

Странно, неужели fxc глючит. Надо поразбираться, спасибо за инфу!

#39
11:45, 29 мар 2010

Super_inoy
> а то что чипы и АМД и нвидии выпускаются на одном заводе по одному техпроцессу
> это ничего?
чип амд гораздо проще и архитектура старая, у ферми новая архитектура и чип очень сложный, поэтому пока большой процент брака

FROL
такое ограничение точно есть в PS, он скажет, что читать можно только однокомпонентные RW
в CS вроде такого нету, я не проверял в CS, но по логике вещей не должно быть такого ограничения в CS

> ATI железка как была так и осталась фиговой
неужели в ATI Stream SDK нету поинтеров?

#40
12:22, 29 мар 2010

Если открыть STREAM Computing user guide тот там есть четкое разделение на input и out ресурсы - в аргументах кернела.
То есть вообще говоря такой возможности как произвольный поинтер по-видимому там все же нету.

Более того,  я специально спрашивал на формах ATI (cорри, AMD) можно ли в один и тот же буфер подключить для input и output.
По умолчанию нельзя использовать один и тот же буфер как на чтение так и на запись. Однако это ограничение можно обойти, если указать компилятору флаг BRT_PERMIT_READ_WRITE_ALIASING. Тогда один и тот же буфер можно использовать как на чтение так и на запись следующим образом:

kernel void test(float input<>, out output<>) {
  float x = input;
  ……
  output = result;
}

Однако в документации сказано про этот флаг что так лучше не делать: "This is not recomended when you writing new code".
Из чего я делаю вывод, что с памятью какой-то геморрой у них.
Но надо поразбираться еще. У меня стабильно ругался FXC в compute шэйдере точно. Надо понять в чем дело.

#41
12:27, 29 мар 2010

FROL
> Но надо поразбираться еще. У меня стабильно ругался FXC в copute шайдере точно.
> Надо понять в чем дело.
ой, сорри за небольшую дезинформацию, у меня ругается cs
не получалось блендинг сделать на cs, он говорил, что rw-ресурс с несколькими компонентами не может быть read
надо на форум майкрософт лезть с этим вопросом, забыл совсем

#42
13:05, 29 мар 2010

FROL
> Однако в документации сказано про этот флаг что так лучше не делать: "This is not recomended when you writing new code".
Правильно, т.к. (в силу массового параллелизма в железяке) ты не можешь контролировать порядок обработки данных, в большинстве случаев попытка писать в буфер из которого предполагается чтение просто невозможно по алгоритмичеким причинам.

#43
13:37, 29 мар 2010

doc.
Код вида

float4 data = inout_data[tid];
..// тут обработка
inout_data[tid] = data;

Никаких алгоритмических проблем не несет. Понятно что не следует писать в ячейки, которые другие треды читают.
Для этого есть interlocked операции, которые в куде atomic называются.

#44
17:25, 29 мар 2010

innuendo
> я сказал именно про NPatches тест
> жаль что SubD11 не мерялся
ЛЮБАЯ геометрия будет в 7 раз быстрее.
В любом режиме, с тесселляцией и без.
Неужели никак не дойдёт?

Страницы: 1 2 3 4 513 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.