A Domain-Specific Approach To Heterogeneous Parallelism

被引:44
作者
Chafi, Hassan [1 ]
Sujeeth, Arvind K. [1 ]
Brown, Kevin J. [1 ]
Lee, HyoukJoong [1 ]
Atreya, Anand R. [1 ]
Olukotun, Kunle [1 ]
机构
[1] Stanford Univ, Pervas Parallelism Lab, Stanford, CA 94305 USA
关键词
Parallel Programming; Domain-Specific Languages; Dynamic Optimizations; Languages; Performance; LANGUAGES;
D O I
10.1145/2038037.1941561
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 domain-specific 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 De lite, 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 De lite achieves single-threaded, parallel, and GPU performance superior to explicitly parallelized MATLAB code in nearly all cases.
引用
收藏
页码:35 / 45
页数:11
相关论文
共 34 条
  • [1] AMD, IND CHANG IMP ACC CO
  • [2] [Anonymous], High Performance Fortran
  • [3] [Anonymous], OPENCL 1 0
  • [4] [Anonymous], FEW COR MAN TER SCAL
  • [5] [Anonymous], JACK
  • [6] Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs
    Bagge, OS
    Kalleberg, KT
    Haveraaen, M
    Visser, E
    [J]. THIRD IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION - PROCEEDINGS, 2003, : 65 - 74
  • [7] Programming parallel algorithms
    Blelloch, GE
    [J]. COMMUNICATIONS OF THE ACM, 1996, 39 (03) : 85 - 97
  • [8] BLUMOFE RD, 1995, SIGPLAN NOTICES, V30, P207
  • [9] Brook for GPUs: Stream computing on graphics hardware
    Buck, I
    Foley, T
    Horn, D
    Sugerman, J
    Fatahalian, K
    Houston, M
    Hanrahan, P
    [J]. ACM TRANSACTIONS ON GRAPHICS, 2004, 23 (03): : 777 - 786
  • [10] UBIQUITOUS PARALLEL COMPUTING FROM BERKELEY, ILLINOIS, AND STANFORD
    Catanzaro, Bryan
    Fox, Armando
    Keutzer, Kurt
    Patterson, David
    Su, Bor-Yiing
    Snir, Marc
    Olukotun, Kunle
    Hanrahan, Pat
    Chafi, Hassan
    [J]. IEEE MICRO, 2010, 30 (02) : 41 - 55