Size: a a a

pro.graphon (and gamedev)

2020 December 01

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
вот это я уже понял
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
а вот что такое ALU 16-lane - это блять скольно О_О
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Andrei Konshyn
а вот что такое ALU 16-lane - это блять скольно О_О
16 пар чисел за раз
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
чисел == векторов?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
чисел == векторов?
Скаляров
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
например, dFdx/dFdy берут разность значений с соседними lane'ами
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
v_add_f32, какая-нибудь, в железе складывает 16 скаляров с 16 скалярами
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Выполнилась 4 раза — сложились все лейны двух векторов в одном вейвфронте
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
А почему 4 SIMD по 16 лейнов на CU, а не 1 SIMD по 64 лейна на CU
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Ну
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Вот представим, что у нас один один CU == один SIMD64
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
и вдруг if в шейдере...
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
То есть, в каждый конкретный момент времени весь CU делает одинаковую операцию над 64 числами в одном вейвфронте
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Выполняет код одного шейдера, то есть
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
А шейдеру нужно, скажем, 132 регистра
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Как видишь, 128 VGPR — это occupancy 2
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
так, наверное я не понимаю что такое wavefront
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
А всё, что больше, вплоть до 256 — occupancy 1
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Как видишь, 128 VGPR — это occupancy 2
эта часть понятна
источник