Fredrik Kjolstad
Assistant Professor of Computer Science
Bio
Fredrik Kjolstad is an Assistant Professor in Computer Science at Stanford University. He works on topics in compilers, programming models, and systems, with an emphasis on compilers for sparse computing problems where we need to separate the algorithms from data representation, as well as fast compilers. He has received the NSF CAREER Award, the MIT EECS First Place George M. Sprowls PhD Thesis Award in Computer Science, the Rosing Award, an Adobe Fellowship, a Google Research Scholarship, and several best/distinguished paper awards.
Website: https://fredrikbk.com/
Honors & Awards
-
Distinguished Paper Award, PLDI (2023)
-
NSF CAREER Award, NSF (2022)
-
Distinguished Paper Award, OOPSLA (2021)
-
Google Research Scholar, Google (2021)
-
First Place MIT EECS George M. Sprowls PhD Thesis Award in Computer Science, MIT EECS (2020)
-
Robert N. Noyce Faculty Fellow, Stanford University School of Engineering (2020)
-
Distinguished Paper Award, OOPSLA (2017)
-
Adobe Fellowship, Adobe (2016)
-
Best Paper Award, EuroMPI (2013)
-
Rosing Award for best Norwegian IT-related student work., The Norwegian Computer Society (2006)
2024-25 Courses
- Compilers
CS 143 (Spr) - Domain-Specific Programming Models and Compilers
CS 343D (Win) -
Independent Studies (8)
- Advanced Reading and Research
CS 499 (Aut, Win, Spr) - Advanced Reading and Research
CS 499P (Aut, Win, Spr) - Independent Project
CS 399 (Aut, Win, Spr) - Independent Project
CS 399P (Aut, Win, Spr) - Independent Work
CS 199 (Aut, Win, Spr) - Senior Project
CS 191 (Aut, Win, Spr) - Supervised Undergraduate Research
CS 195 (Aut, Win, Spr) - Writing Intensive Senior Research Project
CS 191W (Aut, Win, Spr)
- Advanced Reading and Research
-
Prior Year Courses
2023-24 Courses
- Compilers
CS 143 (Spr) - Domain-Specific Programming Models and Compilers
CS 343D (Win)
2022-23 Courses
- Compilers
CS 143 (Spr) - Domain-Specific Programming Models and Compilers
CS 343D (Win)
2021-22 Courses
- Compilers
CS 143 (Spr) - Domain-Specific Programming Models and Compilers
CS 343D (Aut)
- Compilers
Stanford Advisees
-
Doctoral Dissertation Reader (AC)
Kathleen Feng, Kalhan Koul, Gina Sohn, Maxwell Strange -
Orals Evaluator
Trevor Gale -
Master's Program Advisor
Nathanael Cadicamo, Rahul Chand, Ty Geri, Churan He, TJ Jefferson, Elijah Kim, Will Li, Alisha Nanda, Ammar Ratnani, Nikhil Suresh, Siyuan Wu, Simba Xu -
Doctoral Dissertation Co-Advisor (AC)
Trevor Gale, Olivia Hsu, Rohan Yadav -
Doctoral (Program)
James Dong, Christophe Gyurgyik, Scott Kovach, Alexander Root, Shiv Sundram, Haoran Xu, Bobby Yan
All Publications
- Revet: A Language and Compiler for Dataflow Threads International Symposium on High-Performance Computer Architecture 2024: 14
- Compiling Recurrences over Dense and Sparse Arrays Proceedings of the ACM on Programming Languages 2024; 8: 26
-
BaCO: A Fast and Portable Bayesian Compiler Optimization Framework
International Conference on Architectural Support for Programming Languages and Operating Systems
2024: 24
View details for DOI 10.1145/3623278.3624770
-
AHA: An Agile Approach to the Design of Coarse-Grained Reconfigurable Accelerators and Compilers
ACM Transactions on Embedded Computing Systems
2023; 22 (2)
View details for DOI 10.1145/3534933
-
Unified Buffer: Compiling Image Processing and Machine Learning Applications to Push-Memory Accelerators
ACM Transactions on Architecture and Code Optimization
2023: 26
View details for DOI 10.1145/3572908
-
Legate Sparse: Distributed Sparse Computing in Python
International Conference for High Performance Computing, Networking, Storage and Analysis
2023: 13
View details for DOI 10.1145/3581784.3607033
-
Indexed Streams: A Formal Intermediate Representation for Fused Contraction Programs
Proceedings of the ACM on Programming Languages
2023; 7 (PLDI): 25
View details for DOI 10.1145/3591268
-
Mosaic: An Interoperable Compiler for Tensor Algebra
Proceedings of the ACM on Programming Languages
2023; 7 (PLDI): 26
View details for DOI 10.1145/3591236
-
The Sparse Abstract Machine
International Conference on Architectural Support for Programming Languages and Operating Systems
2023: 17
View details for DOI 10.1145/3582016.3582051
-
Looplets: A Language for Structured Coiteration
Proceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization
Association for Computing Machinery. 2023: 14
View details for DOI 10.1145/3579990.3580020
-
Autoscheduling for sparse tensor algebra with an asymptotic cost model
43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation
2022: 17
View details for DOI 10.1145/3519939.3523442
- SpDISTAL: Compiling Distributed Sparse Tensor Computations International Conference on High Performance Computing, Networking, Storage and Analysis 2022: 15
-
Compiler Support for Sparse Tensor Computations in MLIR
ACM Transactions on Architecture and Code Optimization
2022; 19 (4): 1-25
View details for DOI 10.1145/3544559
-
DISTAL: The Distributed Tensor Algebra Compiler
43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation
2022: 15
View details for DOI 10.1145/3519939.3523437
-
Compilation of Sparse Array Programming Models
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL
2021; 5
View details for DOI 10.1145/3485505
View details for Web of Science ID 000731569200032
-
Copy-and-Patch Compilation A Fast Compilation Algorithm for High-Level Languages and Bytecode
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL
2021; 5
View details for DOI 10.1145/3485513
View details for Web of Science ID 000731569200039
-
A Sparse Iteration Space Transformation Framework for Sparse Tensor Algebra
Proceedings of the ACM on Programming Languages
2020; 4 (OOPSLA): 30
View details for DOI 10.1145/3428226
-
Automatic Generation of Efficient Sparse Tensor Format Conversion Routines
Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation
2020: 16
View details for DOI 10.1145/3385412.3385963
-
Sparse Tensor Transpositions
Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures
2020: 3
View details for DOI 10.1145/3350755.3400245
-
Creating an Agile Hardware Design Flow
2020 57th ACM/IEEE Design Automation Conference (DAC)
2020
View details for DOI 10.1109/DAC18072.2020.9218553
- Tensor Algebra Compilation with Workspaces Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization 2019: 13
-
Format Abstraction for Sparse Tensor Algebra Compilers
Proceedings of the ACM on Programming Languages
2018; 2 (OOPSLA): 30
View details for DOI 10.1145/3276493
-
The Tensor Algebra Compiler
Proceedings of the ACM on Programming Languages
2017; 1 (OOPSLA): 29
View details for DOI 10.1145/3133901
-
Simit: A Language for Physical Simulation
ACM TRANSACTIONS ON GRAPHICS
2016; 35 (2)
View details for DOI 10.1145/2866569
View details for Web of Science ID 000377286900011
-
Why New Programming Languages for Simulation?
ACM TRANSACTIONS ON GRAPHICS
2016; 35 (2)
View details for DOI 10.1145/2930661
View details for Web of Science ID 000377286900010
-
MPI Datatype Processing using Runtime Compilation
Proceedings of the 20th European MPI Users' Group Meeting
2013: 6
View details for DOI 10.1145/2488551.2488552
-
Automatic Datatype Generation and Optimization
ASSOC COMPUTING MACHINERY. 2012: 327–28
View details for DOI 10.1145/2370036.2145878
View details for Web of Science ID 000309350200052
-
Transformation for Class Immutability
IEEE. 2011: 61–70
View details for Web of Science ID 000297156400007
-
Transformation for Class Immutability
33rd International Conference on Software Engineering
2011
View details for DOI 10.1145/1985793.1985803
-
Ghost Cell Pattern
Proceedings of the 2010 Workshop on Parallel Programming Patterns
2010: 9
View details for DOI 10.1145/1953611.1953615