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

Зачем нам эти жирные матрицы? (4 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#45
6:52, 22 июня 2016

Wraith
> GPU скалярными стали
Они чуть побыли суперскалярными, и опять ушли. Сейчас на RISC. Вот сделают какой-нить клевый ресерч, чтобы на vliw эффективно шедулить да еще и с условиями и атомиками, и снова вернутся.
А так на VLIW конечно классно, хрясь хрясь кватернион, и в дамках.


#46
7:32, 22 июня 2016

MrShoor
> Они чуть побыли суперскалярными, и опять ушли. Сейчас на RISC.

Что, RISC не может быть суперскалярным ?

#47
9:26, 22 июня 2016

innuendo
> Что, RISC не может быть суперскалярным ?
Может.

#48
10:47, 22 июня 2016

Wraith
Да и до этого не шибко под матрицы были заточены, максимум под куски вычисления матриц вроде dp3/4 и madd. Единственное железо, где действительно есть инструкция "вектор на матрицу" что я видел - это GTE в PlayStation 1. Ну еще, вроде в Mode 7  на Super Nintendo такое было, правда в варианте 2х2, но это уже к FFP скорее.

А в новых, там вообще от векторных операций (где xyzw компоненты одного вектора в рамках одной инструкции параллельно считаются) ушли, заменив их увеличенным количеством параллельных ядер, считающих онли скалярные операции в угоду GPGPU, из-за чего в игорях, например, у амудэ первые поколения некстгенного GCN дико сливали нищебродскому пастгену на Terascale3.

#49
10:50, 22 июня 2016

ronniko
> Просто сказал что под матрицы видяха лучше заточена.

То есть ты говоришь, что видяха лучше выполняет dp4 нежели mul и mad.

#50
10:57, 22 июня 2016

dp4 по сути и есть mad же

#51
11:02, 22 июня 2016

d.m.k
> ronniko
> > Просто сказал что под матрицы видяха лучше заточена.
>
> То есть ты говоришь, что видяха лучше выполняет dp4 нежели mul и mad.

Не совсем, dp4 это когда a= x1x2+y1y2+z1z2+w1w2, результат - число, скаляр, a madd, это когда x3y3z3w3=x3y3z3w3+x1y1z1w1*x2y2z2w2(почленно-параллельно), результат вектор.

То бишь вернее умножение вектора на матрицу суть 4 мадда, или один мулл и 3 мадда в двухадресной системе команд.

#52
11:16, 22 июня 2016

nonamezerox
количество операций почти то же самое
интересно как у них там в АЛУ все это разведено

#53
11:23, 22 июня 2016

d.m.k

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

И нет, разное, при вычислении через dp4 на 12 сложений больше, так как там оно последовательное и это если еще принять что в MADD инструкции сложение с умножением не оптимизировано схемотехнически. Впрочем, в современных GPU разницы уже действительно в этом плане нет, там и то и то последовательно, прям как на старом добром x87 вычисляется, просто на большем количестве данных одновременно.

#54
11:29, 22 июня 2016

nonamezerox
> И нет, разное, при вычислении через dp4 на 12 сложений больше
я не понял, где тут 12 сложений?
> dp4 это когда a= x1x2+y1y2+z1z2+w1w2
я вижу 4 умножения и три сложения
или ты про полную трансформацию вектора матрицей говоришь? так и там всего 12 сложений будет
я не инструкции считаю, а именно арифметические операции, в детали реализации в железе не лезу же

#55
11:32, 22 июня 2016

d.m.k
Да, ошибся, не 12 а 9. Через MADD - 3 сложения и 4 умножения, через dp4 - 4 умножения и 12 сложений.

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

#56
12:10, 22 июня 2016

Да сколько можно уже, ну нету там SIMD, уже 10 лет как нет. И в мобилках тоже нет. Забудьте.

#57
12:38, 22 июня 2016

а что есть?

#58
13:12, 22 июня 2016

Wraith
Какие нахрен 10? GCN только в 11 году появился, как и Fermi, а до этого векторные инструкции там цвели и пахли. Другое дело, что реализовано это через VLIW - архитектуру было, но инструкции которые xyzw/rgba умножали друг на друга параллельно - были.

#59
16:56, 22 июня 2016

nonamezerox
> Какие нахрен 10? GCN только в 11 году появился, как и Fermi, а до этого
> векторные инструкции там цвели и пахли. Другое дело, что реализовано это через
> VLIW - архитектуру было, но инструкции которые xyzw/rgba умножали друг на друга
> параллельно - были.

Это у GCN 5 лет назад, а у НВидии с 8ых GeForce же.

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

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