Separate Compilation in a Language-Integrated Heterogeneous Environment
NVIDIA Corporation
The 26th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2013), 2013
@article{murphy2013separate,
title={Separate Compilation in a Language-Integrated Heterogeneous Environment},
author={Murphy, Mike and Marathe, Jaydeep and Bharambe, Girish and Lee, Sean and Grover, Vinod},
year={2013}
}
Heterogeneous computing platforms are becoming more common in recent years. Effective programming languages and tools will play a key role in unlocking the performance potential of these systems. In this paper, we present the design and implementation of separate compilation and linking support for the CUDA programming platform. CUDA provides a language-integrated environment for writing parallel programs targeting hybrid systems with CPUs and GPUs (Graphics Processing Unit). We present a novel linker that allows linking of multiple subsets of GPU executable code. We also describe a link time optimization of GPU shared memory layout. Finally, we measure the impact of separate compilation with real world benchmarks and present our conclusions.
September 29, 2013 by hgpu