A Domain-Specific Approach to Heterogeneous Parallelism
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. The authors propose leveraging Domain-Specific Languages (DSLs) to map high-level application code to heterogeneous devices. To demonstrate the potential of this approach they 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.