Size: a a a

pro.graphon (and gamedev)

2020 December 02

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Илья Максимович
А что можно прочитать, что бы понимать о чем тут речь? Это что то именно по архитектуре gpu?
Да, презентации AMD про архитектуры GCN и RNDA, презентации Nvidia про их архитектуры (особенно Turing)
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Andrei Konshyn
http://shader-playground.timjones.io/c594608b7a294b17d41296ad3133031c
интересно, почему компилятор записал в vgrp совсем не то, что я его попросил
@Triang3l кстати, возвращаясь к этой теме:)

вот тут пишет, что
sgpr_count(6)
 vgpr_count(4)
 wave_size(64)
Maximum # VGPR used   1, # VGPR allocated:   1

если будем запускать только один шейдер, то сколько и чего он займет в wavefront? И как этот вектор ляжет на wavefront?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
@Triang3l кстати, возвращаясь к этой теме:)

вот тут пишет, что
sgpr_count(6)
 vgpr_count(4)
 wave_size(64)
Maximum # VGPR used   1, # VGPR allocated:   1

если будем запускать только один шейдер, то сколько и чего он займет в wavefront? И как этот вектор ляжет на wavefront?
В смысле один шейдер? Для одной вершины, например?
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
да
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Один вейвфронт будет, 1 активный лейн и 63 в никуда
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
а почему 1 лэйн?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
а почему 1 лэйн?
Одна вершина же
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Andrei Konshyn
аааааа
тогда не понимаю, как вот это ложится
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
тогда не понимаю, как вот это ложится
Один SIMD из одного CU одновременно выполняет одну операцию над двумя-тремя скалярами для 16 вершин/пикселей/потоков
источник

K

Kirill in pro.graphon (and gamedev)
А вулкан правда такой сложный, что даже официальные примеры с треугольником текут? Или в чём причина этого?
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Kirill
А вулкан правда такой сложный, что даже официальные примеры с треугольником текут? Или в чём причина этого?
В том, что люди не умеют делать очереди и пользоваться умными указателями, я думаю. Функции "получить ресурс" всегда имеют пару "освободить ресурс". Вручную следить за временем жизни хендлов — это error prone.
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Один SIMD из одного CU одновременно выполняет одну операцию над двумя-тремя скалярами для 16 вершин/пикселей/потоков
так simd - это инструкция или типа микропроцессора/ядро?)
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
так simd - это инструкция или типа микропроцессора/ядро?)
SIMD имеется в виду устройство из CU
источник

VK

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

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
ну и VMEM в какой-то степени, но там всё сложнее, потому что оно асинхронное, но ждать загрузки из памяти или с другой стадии может только целый вейвфронт сразу; у всего вейвфронта один instruction pointer и один набор SGPR
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
а как понять 2-3 скаляра? это какого размера?
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
16-lane - это 16 байт, то есть vec4?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
16-lane - это 16 байт, то есть vec4?
float32 x 16
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
а как понять 2-3 скаляра? это какого размера?
float32 + float32
float32 * float32 + float32
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
а как vecN ложится на ALU?
источник