Assistant Professor
Department of Computer Science
Stanford University

I aim to make it easy to program sparse computing applications that can run everywhere with end-to-end performance that matches or exceeds the best hand-optimized codes. A sparse application computes on a system where most parts do not interact—they are sparsely interconnected. Examples include sparse matrices, meshes, and graphical arrangements used to simulate the dynamics of robots, optimize the flow of traffic, compute the rank of web pages, estimate the similarity of genome loci, or train sparse deep neural networks. Sparse computing is ubiquitous and will become increasingly important with the growth of robotic and autonomous vehicle applications, data analytics, and machine learning.

I have developed the taco compiler for computing sparse tensor expressions and the Simit programming language for computing on sparse systems. My broad research interests include compilers, programming models and languages, parallel computing, software engineering, and performance engineering.


Automatic Generation of Efficient Sparse Tensor Format Conversion Routines
Stephen Chou, Fredrik Kjolstad, and Saman Amarasinghe
ACM SIGPLAN Conference on Programming Language Design and Implementation (accepted), June 2020
Tensor Algebra Compilation with Workspaces
Fredrik Kjolstad, Peter Ahrens, Shoaib Kamil, and Saman Amarasinghe
International Symposium on Code Generation and Optimization, February 2019
Format Abstraction for Sparse Tensor Algebra Compilers
Stephen Chou, Fredrik Kjolstad, and Saman Amarasinghe
Proceedings of the ACM on Programming Languages, Volume 2, Issue OOPSLA, October 2018
pdf youtube
Taco: compilation et génération de code d’expressions tensorielles
David Lugato, Fredrik Kjolstad, Stephen Chou, Saman Amarasinghe, and Shoaib Kamil
AVANCÉES, Volume 12, 2018
taco: A Tool to Generate Tensor Algebra Kernels
Fredrik Kjolstad, Stephen Chou, David Lugato, Shoaib Kamil, and Saman Amarasinghe
32th IEEE/ACM International Conference on Automated Software Engineering (tools paper), November 2017
pdf youtube
The Tensor Algebra Compiler
Fredrik Kjolstad, Shoaib Kamil, Stephen Chou, David Lugato, and Saman Amarasinghe
Proceedings of the ACM on Programming Languages, Volume 1, Issue OOPSLA, October 2017
Distinguished Paper Award
pdf youtube
Simit: A Language for Physical Simulation
Fredrik Kjolstad, Shoaib Kamil, Jonathan Ragan-Kelley, David I. W. Levin, Shinjiro Sueda, Desai Chen, Etienne Vouga, Danny M. Kaufman, Gurtej Kanwar, Wojciech Matusik, and Saman Amarasinghe
ACM Transactions on Graphics (presented at SIGGRAPH 2016), May 2016
pdf youtube
Why New Programming Languages for Simulation?
Gilbert Louis Bernstein and Fredrik Kjolstad
ACM Transactions on Graphics (perspective), May 2016
MPI Datatype Processing using Runtime Compilation
Timo Schneider, Fredrik Kjolstad, and Torsten Hoefler
20th European MPI Users' Group Meeting, September 2013
Best Paper Award
Automatic Datatype Generation and Optimization
Fredrik Kjolstad, Torsten Hoefler, and Marc Snir
17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (short paper), February 2012
Transformation for Class Immutability
Fredrik Kjolstad, Danny Dig, Gabriel Acevedo, and Marc Snir
33rd International Conference on Software Engineering, May 2011
Bringing the HPC Programmer's IDE into the 21st Century through Refactoring
Fredrik Kjolstad, Danny Dig, and Marc Snir
SPLASH 2010 Workshop on Concurrency for the Application Programmer, October 2010
Ghost Cell Pattern
Fredrik Kjolstad and Marc Snir
2nd Annual Workshop on Parallel Programming Patterns, March 2010


Faster big-data analysis
MIT News
User-friendly language for programming efficient simulations
MIT News
Simit is a new language for more efficient programming
Cupboard of matrices looking a little... sparse? Have this delicious Taco
The Register
A tensor situation: new system speeds up big data processing
Cosmos Magazine
Open Source Sparse Tensor Computation Is Fast