A Domain Specific Approach To Heterogeneous Parallelism

Kunle Olukotun (Stanford)

Exploiting heterogeneous parallel hardware is complicated today because it requires mapping application code to multiple programming models. In this talk, I will present a much simpler single programming model approach that uses domain specific languages (DSLs) to map high level application code to heterogeneous devices. To demonstrate the potential of this approach I will describe OptiML, a DSL for machine learning. OptiML programs are implicitly parallel and can achieve high performance on heterogeneous hardware without any modifications to the source code. OptiML is embedded in the Scala programming language using a new technique called Polymorphic Embedding. OptiML programs are mapped to heterogeneous parallel hardware using a new runtime system called Delite.