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.