Size: a a a

pro.graphon (and gamedev)

2020 December 01

A

Andrei Konshyn in pro.graphon (and gamedev)
в плане, не как переводит, а как работает и связано с остальной частью.

и почему 4 simd? это блок для инструкции?
источник

K

Kirill in pro.graphon (and gamedev)
Кто-нибудь юзал constexpr вектора в C++20?
источник

K

Kirill in pro.graphon (and gamedev)
Если да - чем вы это компилили? Godbolt не собирает ни на какой версии gcc и clang'а
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
в плане, не как переводит, а как работает и связано с остальной частью.

и почему 4 simd? это блок для инструкции?
Я так понимаю, так более гранулярно распределять ресурсы типа регистров можно
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Когда у тебя 1 CU занят не целиком 64 лейнами от одного вейвфронта в какой-то момент
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
А 16 лейнами от 4 вейвфронтов, в том числе вообще от разных шейдеров, которым нужно разное количество регистров
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Timur Gagiev
в каждом CU по 4 SIMD, каждый на 10 вейвфронтов
вот не понял, что значит "каждый на 10 вэйвфронтов"
источник

PK

Pavel Kazakov in pro.graphon (and gamedev)
Kirill
Кто-нибудь юзал constexpr вектора в C++20?
constexpr std::vector еще нигде нет:
https://en.cppreference.com/w/cpp/compiler_support
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
А 16 лейнами от 4 вейвфронтов, в том числе вообще от разных шейдеров, которым нужно разное количество регистров
это кстати тоже не очень выглядит логичным.
минимальная единица испольнения как раз вэйфрнот. то бишь, нахера делить? они все равно исполняют одно и тоже
источник

K

Kirill in pro.graphon (and gamedev)
Pavel Kazakov
constexpr std::vector еще нигде нет:
https://en.cppreference.com/w/cpp/compiler_support
А как этот чувак их использует?
https://www.modernescpp.com/index.php/constexpr-vector-and-string-in-c-20
источник

PK

Pavel Kazakov in pro.graphon (and gamedev)
1) он наркоман
2) он может делать умозрительные эксперименты
3) может быть отдельная ветка компилера с тестовой имплементацией
источник

K

Kirill in pro.graphon (and gamedev)
Ладно, спасибо
источник

PK

Pavel Kazakov in pro.graphon (and gamedev)
помню, у него давно что-то было с фичами, которых еще не было, но он не писал как он их использует — просто статья и всё, мб он ради имиджа их пишет, хз
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
как я понимаю, что CU управляет несколькими wavefront'ами, то бишь на каждый пускает какие-то свои шейдера. и как-то не ложится несколько simd модулей (допустим это отдельный модуль, потому что надо выполнять за 4 такта весь вэйфронт и он как-то дублирует команды, хз)
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
)))
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
вот не понял, что значит "каждый на 10 вэйвфронтов"
10 это жёсткий максимум
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
На самом деле occupancy может быть ниже
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Если, например, регистров слишком много используешь
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Andrei Konshyn
вот не понял, что значит "каждый на 10 вэйвфронтов"
источник