A Domain-Specific Approach To Heterogeneous Parallelism
Pervasive Parallelism Laboratory, Stanford University
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming, 2011, p.35-46
@conference{chafi2011domain,
title={A domain-specific approach to heterogeneous parallelism},
author={Chafi, H. and Sujeeth, A.K. and Brown, K.J. and Lee, H.J. and Atreya, A.R. and Olukotun, K.},
booktitle={Proceedings of the 16th ACM symposium on Principles and practice of parallel programming},
pages={35–46},
year={2011},
organization={ACM}
}
Exploiting heterogeneous parallel hardware currently requires mapping application code to multiple disparate programming models. Unfortunately, general-purpose programming models available today can yield high performance but are too low-level to be accessible to the average programmer. We propose leveraging domainspecific languages (DSLs) to map high-level application code to heterogeneous devices. To demonstrate the potential of this approach we present OptiML, a DSL for machine learning. OptiML programs are implicitly parallel and can achieve high performance on heterogeneous hardware with no modification required to the source code. For such a DSL-based approach to be tractable at large scales, better tools are required for DSL authors to simplify language creation and parallelization. To address this concern, we introduce Delite, a system designed specifically for DSLs that is both a framework for creating an implicitly parallel DSL as well as a dynamic runtime providing automated targeting to heterogeneous parallel hardware. We show that OptiML running on Delite achieves single-threaded, parallel, and GPU performance superior to explicitly parallelized MATLAB code in nearly all cases.
February 27, 2011 by hgpu