Perry Cheng
Carnegie Mellon University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Perry Cheng.
ACM | 2012
Christophe Dubach; Perry Cheng; Rodric M. Rabbah; David F. Bacon; Stephen J. Fink
Languages such as OpenCL and CUDA offer a standard interface for general-purpose programming of GPUs. However, with these languages, programmers must explicitly manage numerous low-level details involving communication and synchronization. This burden makes programming GPUs difficult and error-prone, rendering these powerful devices inaccessible to most programmers. We desire a higher-level programming model that makes GPUs more accessible while also effectively exploiting their computational power. This paper presents features of Lime, a new Java-compatible language targeting heterogeneous systems, that allow an optimizing compiler to generate high quality GPU code. The key insight is that the language type system enforces isolation and immutability invariants that allow the compiler to optimize for a GPU without heroic compiler analysis. Our compiler attains GPU speedups between 75% and 140% of the performance of native OpenCL code.
1st Summit on Advances in Programming Languages (SNAPL 2015) | 2015
Joshua S. Auerbach; David F. Bacon; Perry Cheng; Stephen J. Fink; Rodric M. Rabbah; Sunil Shukla
The Liquid Metal project at IBM Research aimed to design and implement a new programming language called Lime to address some of the challenges posed by heterogeneous systems. Lime is a Java-compatible programming language with features designed to facilitate high level synthesis to hardware (FPGAs). This article reviews the language design from the outset, and highlights some of the earliest design decisions. We also describe how these decisions were revised recently to accommodate important requirements that arise in networking and cryptography.
ACM | 2012
Christophe Dubach; Perry Cheng; Rodric M. Rabbah; David F. Bacon; Stephen J. Fink
Languages such as OpenCL and CUDA offer a standard interface for general-purpose programming of GPUs. However, with these languages, programmers must explicitly manage numerous low-level details involving communication and synchronization. This burden makes programming GPUs difficult and error-prone, rendering these powerful devices inaccessible to most programmers. We desire a higher-level programming model that makes GPUs more accessible while also effectively exploiting their computational power. This paper presents features of Lime, a new Java-compatible language targeting heterogeneous systems, that allow an optimizing compiler to generate high quality GPU code. The key insight is that the language type system enforces isolation and immutability invariants that allow the compiler to optimize for a GPU without heroic compiler analysis. Our compiler attains GPU speedups between 75% and 140% of the performance of native OpenCL code.
Ibm Systems Journal | 2000
Bowen Alpern; C. R. Attanasio; John J. Barton; Michael G. Burke; Perry Cheng; Jong-Deok Choi; Anthony Cocchi; Stephen J. Fink; David Grove; Michael Hind; Susan Flynn Hummel; Derek Lieber; Vassily Litvinov; Mark F. Mergen; Ton Ngo; James R. Russell; Vivek Sarkar; Mauricio J. Serrano; Janice C. Shepherd; S. E. Smith; Vugranam C. Sreedhar; Harini Srinivasan; John Whaley
Ibm Systems Journal | 2000
Bowen Alpern; C. Richard Attanasio; John J. Barton; Michael G. Burke; Perry Cheng; Jin-ho Choi; Anthony Cocchi; Stephen J. Fink; David Grove; Michael Hind; Susan Flynn Hummel; Derek Lieber; Vassily Litvinov; Mark F. Mergen; Ton Ngo; James R. Russell; Vivek Sarkar; Mauricio J. Serrano; Janice C. Shepherd; Stephen P. Smith; Vugranam C. Sreedhar; Harini Srinivasan; John Whaley
Archive | 2006
Bob Blainey; Philippe Charles; Perry Cheng; Christopher Michael Donawa; Julian Dolby; Robert M. Fuhrer; Patrick Gallop; Christian Grothoff; Allan Kielstra; Sriram Krishnamoorthy; Nathaniel Nystrom; Filip Pizlo; Vijay A. Saraswat; Vivek Sarkar; Armando Solar-Lezama; Christoph von Praun; Jan Vitek
Ibm Systems Journal | 2000
Bowen Alpern; C. Richard Attanasio; John J. Barton; Michael G. Burke; Perry Cheng; Jong-Deok Choi; Anthony Cocchi; Stephen J. Fink; David Grove; Michael Hind; Susan Flynn Hummel; Derek Lieber; Vassily Litvinov; Mark F. Mergen; Ton Ngo; James R. Russell; Vivek Sarkar; Mauricio J. Serrano; Janice C. Shepherd; Stephen P. Smith; Vugranam C. Sreedhar; Harini Srinivasan; John Whaley
Archive | 2013
Josh Auerbach; Dave F. Bacon; Perry Cheng; Steve Fink; Rodric M. Rabbah
Archive | 2010
Joshua S. Auerbach; David F. Bacon; Perry Cheng; Rodric M. Rabbah
Archive | 2008
Bill McCloskey; David F. Bacon; Perry Cheng; David Grove