Иногда соединяя одновременно 5 антиоптимизаций получаешь код в 3 раза быстрее.
Я долго бился с ускорением ML рендер техники. Но тренировка никак не получалась быстрее 4мс.
Я пробовал:
1. Развернуть циклы. Видимо слишком много регистров надо, стало медленее.
2. Саккумулировать данные со всех тредов волны прежде чем писать их через atomicAdd.
3. Аккумулировать по всей группе, а не по волне. Стало еще хуже без wave-instrinsic-ов
4. Вместо атомиков писать в отдельные слоты и суммировать позже. Еще чуть хуже.
5. Кооперативную обработку одного сэмпла несколькихи тредами. Вообще жуть.
Я попробовал все сразу. И войля. 1.3мс
Post #114
486
- 🔥 12