About
Toy projects:
- WebGPU MLP image compressor
- Based off of Jakub Boksansky’s d3d12 one
- Software GPU simulator + Vulkan API(+JIT shader compiler for x86)
- Implemented a subset of vulkan API as a virtual device, enough to take some SPIRV pixel/vertex shaders, PSO and rasterize a basic imgui sample and put on screen. Tiny compiler layer takes spirv and use llvm to make a wavefront, linearize CFG and compile to x86 for native execution on cpu.
- GPU simulator in Rust and web link
- A toy GPU performance simulator with an imaginary ISA that can spit out basic wave traces based on a config.
- 3D Prototyping Graphics Framework
- 3D Prototyping Graphics Framework 2
- 3D Prototyping Graphics Framework 3
- Prototype for node based frame graph/shader editor and web link
OSS contributions:
- Adding a WASM i32x4(SIMD4) target to ISPC
- GPUOpen effects
Shader toys:
- Octahedral facet solid angle
- Run-length compressed models on GPU
- Minimal TAA(kinda wonky)
- Simple ripples
Work experience:
February 2021 - Now (100% Remote) AMD
- Leading an effort on modeling+inference+data generation for spatio temporal ray tracing monte carlo denoising middleware.
-
i8/f8 wmma Parametric kernel prediction networks CNN Unets Pytorch Recurrent
-
-
C++ d3d12 hlsl Some internal tooling for testing/capture/replay/rapid prototyping/perf analysis. - Leading development of GPUOpen code/samples(some of it shipped in a number of AAA games):
June 2020 - November 2020 (100% Remote) Unigine
- Engine development.
- Prototyped/Envisioned Visual programming(node based) system for material generation
May 2017 - May 2019 (Gdansk/Poland) Intel
- Worked briefly on CPU compilers(icc/Big endian) and runtime libraries(Embedded).
- Developed a bespoke gfx API capture/replay tool for experimentation on pass reordering, perf stat gathering and geometry manipulations. Was using internal gpu hw counters api to get high frequency zoomed in picture of the bottlenecks. Was mature enough to capture a bunch of AAA projects.
- Prototyping graphics compiler features for game workloads.
- Game performance analysis on current/future platforms.
- Source-to-Source clang based transpilation tool.
Jan 2017 - May 2017 (Novosibirsk/Russia) Bricsys
- Direct modeling tools for BricsCAD. Focused on prototyping a tool to copy paste confined geometric features using topological dual representation.
Dec 2015 - Aug 2016 (Novosibirsk/Russia) АО «НТЦ ЕЭС»
- In-House math and vector graphics libraries.
- Working on my bachelor’s thesis on solving steady state electrical current configs for large power networks.
Education:
- 2016 BSc in physics at NSU (Novosibirsk/Russia)