David I. August
Professor in the Department of Computer Science, Princeton University
Visiting Professor in the Department of Electrical Engineering, Columbia University
Affiliated with the Department of Electrical Engineering, Princeton University
Ph.D. May 2000, Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign

Office: Computer Science Building Room 209
Email: august@princeton.edu
Phone: (609) 258-2085
Fax: (609) 964-1699


Front Page Publication List (with stats) Curriculum Vitae (PDF) The Liberty Research Group

NOTE:

Please beware of the "Princeton University - Part-Time Research Job" scam. I am not hiring remote research assistants for the Department of Computer Science. Anyone doing so would use a campus address or phone number. Princeton students, please visit the Phish Bowl before responding to unsolicited communication.

Publications

Dynamically Managed Data for CPU-GPU Architectures [abstract] (PDF)
Thomas B. Jablin, James A. Jablin, Prakash Prabhu, Feng Liu, and David I. August
Proceedings of the 2012 International Symposium on Code Generation and Optimization (CGO), March 2012.
Accept Rate: 28% (26/90).

GPUs are flexible parallel processors capable of accelerating real applications. To exploit them, programmers must ensure a consistent program state between the CPU and GPU memories by managing data. Manually managing data is tedious and error-prone. In prior work on automatic CPU-GPU data management, alias analysis quality limits performance, and type-inference quality limits applicability. This paper presents Dynamically Managed Data (DyManD), the first automatic system to manage complex and recursive data-structures without static analyses. By replacing static analyses with a dynamic run-time system, DyManD overcomes the performance limitations of alias analysis and enables management for complex and recursive data-structures. DyManD-enabled GPU parallelization matches the performance of prior work equipped with perfectly precise alias analysis for 27 programs and demonstrates improved applicability on programs not previously managed automatically.