Krzysztof Drewniak

A photo of me


Work Email
837E 880C 11FF 99D9 F0C0 9BA1 2A14 2308 2388 E924

About me

I am an engineer on the machine learning compiler team at AMD. There, I contribute to the MLIR-based high-performance ML infrastructure we are developing, and im integrating the research I did during my Master’s/PhD at UW in a real-world setting.

I’m not looking for work right now and do not want to hear from recruiters.

I’ve been a PhD student at the University of Washington Paul G. Allen School of Computer Science & Engineering for three years, and am leaving the program indefinitely to find a more applied role and gain more real-world experience. I worked in the Programming Languages and Software Engineering group, and am advised by Rastislav Bodik. My research focus is on using program synthesis to improve the performance of numerical computations, such as matrix multiplication and convolution, that are used in machine learning and scientific computing.

I have developed a new synthesis technique for fixed-sized mathematical operators on accelerators (such as GPUs) that reduces the problem to synthesis over functional array programs and uses an abstract reachability analysis to quickly prune most incorrect partial candidates. This has the added advantage of reducing a large amount of the computation to Boolean matrix multiplication, enabling synthesis over larger spaces of functions as compared to previous work. In the future, this work will be integrated into a larger framework for synthesizing efficient code for machine learning models on accelerators.


2021-03-09 I’ve accepted a position as a Machine Learning Compiler engineer at AMD in Austin.
2020-04-09 The grant proposal “Multiscale Synthesis for Tensor Programs” for Facebook’s “Towards On-Device AI” RFP, which I helped write, was funded.
2019-06-22 I’ll be attending PLDI 2019 and the ARRAY workshop, although I’m not presenting anything this year. If you’re interested in meeting up, please send me an email.
2019-03-22 I will be attending the CRA Grad Cohort Workshop for Underrepresented Minorities and People with Disabilities and presenting my poster on “Synthesizing data movement in GPU kernels using abstract dynamic programming”


Swizzleflow: Synthesis of Irregular Data Mappings in Accelerator Kernels Using Novel Pruning Abstractions
  • Krzysztof Drewniak
Qualifying examination report for Master's degree, December 2020
[pdf] [talk] [slides] [slides (pdf)] [bibtex]
GEMM3: Constant-Workspace High-Performance Multiplication of Three Matrices for Matrix Chaining
  • Krzysztof Drewniak
Undergraduate Honors Thesis, April 2018
[pdf] [bibtex]
A method for reducing the severity of epidemics by allocating vaccines according to centrality
  • Krzysztof Drewniak
  • Joseph Helsing
  • Armin R. Mikler
ACM Conference on Bioinformatics, Computational Biology, and Health Informatics 2014, September 2014
[pdf] [bibtex]
Also listed at ORCID [0000-0002-7054-1238](