scispace - formally typeset
S

Saman Amarasinghe

Researcher at Massachusetts Institute of Technology

Publications -  246
Citations -  20711

Saman Amarasinghe is an academic researcher from Massachusetts Institute of Technology. The author has contributed to research in topics: Compiler & Speedup. The author has an hindex of 64, co-authored 234 publications receiving 19071 citations. Previous affiliations of Saman Amarasinghe include VMware & Stanford University.

Papers
More filters
Posted Content

Unified Sparse Formats for Tensor Algebra Compilers.

TL;DR: An interface that describes formats in terms of their capabilities and properties is developed, and how to build a modular code generator where new formats can be added as plugins is shown, which shows that the performance of generated code for these formats is competitive with hand-optimized implementations.
Proceedings ArticleDOI

Sparse Tensor Transpositions

TL;DR: A new algorithm for transposing sparse tensors called Quesadilla is presented, which converts the sparse tensor data structure to a list of coordinates and sorts it with a fast multi-pass radix algorithm that exploits knowledge of the requested transposition and the tensors input partial coordinate ordering to provably minimize the number of parallel partial sorting passes.
Proceedings ArticleDOI

BuildIt: a type-based multi-stage programming framework for code generation in C++

TL;DR: BuildIt as discussed by the authors is a type-based multi-stage execution framework that extracts all control flow operators like if-then-else conditionals and for and while loops using a pure library approach.

Abstraction Layers for Scalable Microfluidic Biocomputers (Extended Version)

TL;DR: ion Layers for Scalable Microfluidic Biocomputers (Extended Version) William Thies†, John Paul Urbanski§, Todd Thorsen§, and Saman Amarasinghe† are described.
Patent

Adaptive cache sizing based on monitoring of regenerated and replaced cache entries

TL;DR: In this paper, a runtime code manipulation system uses code caching technology to provide efficient and comprehensive manipulation of an application running on an operating system and hardware, including a system for automatically keeping the code cache at an appropriate size for the current working set.