Department of Electrical Engineering and Computer Science (EECS), MIT
Computer Science and Artificial Intelligence Laboratory (CSAIL), MIT
Making Sparse Array Programming On Par With Dense
Fortran compiler brought first-class support for dense loops and arrays to programming languages in 1957. Since then, we have made significant strides on compilation techniques for dense loop nests. The dense compilation techniques support sophisticated iteration space transformations, different data layouts, and portable compilation to general-purpose processors, accelerators, and domain-specific hardware. They also support data and loop transformations to improve temporal locality and keep data in caches.
Sparse operations go back almost as far, and the first sparse linear algebra implementations appeared in the 1960s. Even though sparse data is as prevalent as dense data, there has not been a similar development of a first-class sparse language construct backed by general compilation techniques.
In this talk I will show how to put sparse array programming on the same compiler transformation and code generation footing as dense array codes.
Saman Amarasinghe is a Professor in the Department of Electrical Engineering and Computer Science at Massachusetts Institute of Technology and a member of its Computer Science and Artificial Intelligence Laboratory (CSAIL) where he leads the Commit compiler group. Under Saman’s guidance, the Commit group developed the StreamIt, StreamJIT, PetaBricks, Halide, Simit, MILK, Cimple, TACO, GraphIt, BioStream, CoLa and Seq programming languages and compilers, DynamoRIO, Helium, Tiramisu, Codon and BuildIt compiler/runtime frameworks, Superword Level Parallelism (SLP), goSLP and VeGen for vectorization, Ithemal machine learning based performance predictor, Program Shepherding to protect programs against external attacks, the OpenTuner extendable autotuner, and the Kendo deterministic execution system. He was the co-leader of the Raw architecture project. Saman was a co-founder of Determina Corporation, Lanka Internet Services Ltd., and Venti Technologies Corporation. Saman received his BS in Electrical Engineering and Computer Science from Cornell University in 1988, and his MSEE and Ph.D. from Stanford University in 1990 and 1997, respectively. He is an ACM Fellow.