Наконец-таки полноценно заработал "рендер-мутант", который я закодил вместе со своим дипломником!
Решение основано на Falcor, поддерживает все его материалы и фишки, но позволяющее исполнять нейронки внутри megakernel паф трейсера вызовом одной функции на Vulkan-е. А также обучать ИИ вместе с оптимизируемыми текстурами\хэш-гридами, хранящие латентные вектора, и вообще всем тем что может быть дифференцировано
И в отличие от tiny-cuda-nn не нужно ручками рассчитывать градиенты! AutoDiff Slang-а делает почти всё автоматический на основе "любой" loss функции
Также через связку slang->glsl и cooperative matrices + указатели реализован fully-fused MLP инференс на тензорных ядрах (как в tiny-cuda-nn).
Так что работает оч. быстро, скоро выясню быстрее ли чем оригинальное решение от нвидиа. но тут скорее вопрос удобства использования :) tiny-cuda-nn ооочень неприятно встраивать в рендеры, к большому сожалению...
Было мягко говоря тяжело 😅
P.s. на скриншоте простой Neural Radiance Cache, в качестве теста
Post #117
485

- 🔥 10
- 🆒 3
- ❤ 2