Language virtualization for heterogeneous parallel computing
Stanford University
In Proceedings of the ACM international conference on Object oriented programming systems languages and applications (2010), pp. 835-847.
@conference{chafi2010language,
title={Language virtualization for heterogeneous parallel computing},
author={Chafi, H. and DeVito, Z. and Moors, A. and Rompf, T. and Sujeeth, A.K. and Hanrahan, P. and Odersky, M. and Olukotun, K.},
booktitle={Proceedings of the ACM international conference on Object oriented programming systems languages and applications},
pages={835–847},
year={2010},
organization={ACM}
}
As heterogeneous parallel systems become dominant, application developers are being forced to turn to an incompatiblemix of low level programming models (e.g. OpenMP, MPI, CUDA, OpenCL). However, these models do little to shield developers from the difficult problems of parallelization, data decomposition and machine-specific details. Most programmersare having a difficult time using these programming models effectively. To provide a programming modelthat addresses the productivity and performance requirements for the average programmer, we explore a domainspecificapproach to heterogeneous parallel programming. We propose language virtualization as a new principle that enables the construction of highly efficient parallel domain specific languages that are embedded in a common host language. We define criteria for language virtualization and present techniques to achieve them.We present two concrete case studies of domain-specific languages that are implemented using our virtualization approach.
March 17, 2011 by hgpu