About Me

Hello World! My name is Nikolay Korovaiko.
I’m a Full-Stack Compiler Engineer with extensive experience in building and leading projects in Compilers and Runtimes, spanning AI and general-purpose domains, across both greenfield and legacy codebases!
I DO mean full-stack!
Middle layer
The bulk of my experience is in the middle layer:
- I co-designed graph IR and built mutation and pattern matching APIs for nGraph. I added the OG optimizer passes for nGraph such as fusers, CSE, Simplifier and led the implementation of many backend-specific passes for Intel’s CPUs and Nervana’s ASICs.
- I did the original SymInt design and implementation for PyTorch.
- At Nuro, I co-developed a graph compiler that intelligently orchestrated TensorRT and XLA to compile model components to work around the limitations of both.
- I extended OpenJ9’s Inliner to support multi-target inlining and receiver info propagation through bytecode-based call graphs.
Backend
I worked on multiple x86 backends for ChakraCore and OpenJ9. For the AppleGPU backend, I implemented support for new ISA and HW features, added new peephole optimizations, and improved heuristics in Register Allocator, StackSlotColouring, etc.
Frontend
Finally, I had a little bit of fun with the TorchScript parser, teaching it about list comprehensions and other miscellaneous pythonisms.
Interests
- Compilers & Runtimes
- Full-Stack Performance: Distributed Training Systems to Instruction Scheduling
- GPU Kernel Authoring
- Applied AI
- Cats 🐈
- Hiking 🥾