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
Proceedings Article
Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks
Proceedings ArticleDOI
The three pillars of machine programming
Justin Gottschlich,Armando Solar-Lezama,Nesime Tatbul,Michael Carbin,Martin Rinard,Regina Barzilay,Saman Amarasinghe,Joshua B. Tenenbaum,Timothy G. Mattson +8 more
TL;DR: In this article, the authors describe their vision of the future of machine programming through a categorical examination of three pillars of research: intention, invention, and adaptation, emphasizing advancements in the human-to-computer and computer to machine learning interfaces.
Proceedings Article
Searching the World Wide Web in Low-Connectivity Communities
William Thies,Janelle Prevost,Tazeen Mahtab,Genevieve T. Cuevas,Saad Shakhshir,Alexandro Artola,Binh D. Vo,Yuliya Litvak,Sheldon Chan,Sid Henderson,Mark Halsey,Libby Levison,Saman Amarasinghe +12 more
TL;DR: The TEK system is developing to enable users to search the Web using only email, and is designed to return low-bandwidth results, which are achieved by special filtering, analysis, and compression on the server side.
Softspec: Software-based Speculative Parallelism
TL;DR: Softspec succeeds in parallelizing loops whose memory access patterns are statically indeterminable, and can parallelize while loops with un-analyzable exit conditions, linked list traversals, and sparse matrix applications with predictable memory patterns.
Patent
Adaptive cache sizing
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.