Just-In-Time GPU Compilation for Interpreted Languages with Partial Evaluation

被引:1
|
作者
Fumero, Juan [1 ]
Steuwer, Michel [1 ]
Stadler, Lukas [2 ]
Dubach, Christophe [1 ]
机构
[1] Univ Edinburgh, Edinburgh, Midlothian, Scotland
[2] Oracle Labs, Linz, Austria
关键词
D O I
10.1145/3050748.3050761
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Computer systems are increasingly featuring powerful parallel devices with the advent of many-core CPUs and GPUs. This offers the opportunity to solve computationally-intensive problems at a fraction of the time traditional CPUs need. However, exploiting heterogeneous hardware requires the use of low-level programming language approaches such as OpenCL, which is incredibly challenging, even for advanced programmers. On the application side, interpreted dynamic languages are increasingly becoming popular in many domains due to their simplicity, expressiveness and flexibility. However, this creates a wide gap between the high-level abstractions offered to programmers and the low-level hardware-specific interface. Currently, programmers must rely on high performance libraries or they are forced to write parts of their application in a low-level language like OpenCL. Ideally, nonexpert programmers should be able to exploit heterogeneous hardware directly from their interpreted dynamic languages. In this paper, we present a technique to transparently and automatically offload computations from interpreted dynamic languages to heterogeneous devices. Using just-intime compilation, we automatically generate OpenCL code at runtime which is specialized to the actual observed data types using profiling information. We demonstrate our technique using R, which is a popular interpreted dynamic language predominately used in big data analytic. Our experimental results show the execution on a GPU yields speedups of over 150x compared to the sequential FastR implementation and the obtained performance is competitive with manually written GPU code. We also show that when taking into account start-up time, large speedups are achievable, even when the applications run for as little as a few seconds.
引用
收藏
页码:60 / 73
页数:14
相关论文
共 50 条
  • [1] THE SIMIAN CONCEPT: PARALLEL DISCRETE EVENT SIMULATION WITH INTERPRETED LANGUAGES AND JUST-IN-TIME COMPILATION
    Santhi, Nandakishore
    Eidenbenz, Stephan
    Liu, Jason
    [J]. 2015 WINTER SIMULATION CONFERENCE (WSC), 2015, : 3013 - 3024
  • [2] On Supporting Efficient Partial Reconfiguration with Just-In-Time Compilation
    Sidiropoulos, Harry
    Siozios, Kostas
    Figuli, Peter
    Soudris, Dimitrios
    Hubner, Michael
    [J]. 2012 IEEE 26TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS & PHD FORUM (IPDPSW), 2012, : 328 - 335
  • [3] Quantum simulation with just-in-time compilation
    Efthymiou, Stavros
    Lazzarin, Marco
    Pasquale, Andrea
    Carrazza, Stefano
    [J]. QUANTUM, 2022, 6
  • [4] Towards Just-In-Time Partial Evaluation of Prolog
    Bolz, Carl Friedrich
    Leuschel, Michael
    Rigo, Armin
    [J]. LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2010, 6037 : 158 - 172
  • [5] Efficient Java']JavaVM just-in-time compilation
    Krall, A
    [J]. 1998 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 1998, : 205 - 212
  • [6] Just-in-time compilation for SQL query processing
    Viglas, Stratis D.
    [J]. PROCEEDINGS OF THE VLDB ENDOWMENT, 2013, 6 (11): : 1190 - 1191
  • [7] Just-in-time compilation for SQL query processing
    Viglas, Stratis D.
    [J]. 2014 IEEE 30TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE), 2014, : 1298 - 1301
  • [8] An Empirical Analysis of Just-in-Time Compilation in Modern Databases
    Ma, Miao
    Yang, Zhengyi
    Hao, Kongzhang
    Chen, Liuyi
    Wang, Chunling
    Jin, Yi
    [J]. DATABASES THEORY AND APPLICATIONS, ADC 2023, 2024, 14386 : 227 - 240
  • [9] Information Flow Tracking Meets Just-In-Time Compilation
    Kerschbaumer, Christoph
    Hennigan, Eric
    Larsen, Per
    Brunthaler, Stefan
    Franz, Michael
    [J]. ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2013, 10 (04)
  • [10] Dynamic FPGA routing for just-in-time FPGA compilation
    Lysecky, R
    Vahid, F
    Tan, SXD
    [J]. 41ST DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2004, 2004, : 954 - 959