Ocelot: A Dynamic Optimization Framework for Bulk-Synchronous Applications in Heterogeneous Systems

被引:87
|
作者
Diamos, Gregory [1 ]
Kerr, Andrew [1 ]
Yalamanchili, Sudhakar [1 ]
Clark, Nathan
机构
[1] Georgia Inst Technol, Sch Elect & Comp Engn, Atlanta, GA 30332 USA
基金
美国国家科学基金会;
关键词
D O I
10.1145/1854273.1854318
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Ocelot is a dynamic compilation framework designed to map the explicitly data parallel execution model used by NVIDIA CUDA applications onto diverse multithreaded platforms. Ocelot includes a dynamic binary translator from Parallel Thread eXecution ISA (PTX) to many-core processors that leverages the Low Level Virtual Machine (LLVM) code generator to target x86 and other ISAs. The dynamic compiler is able to execute existing CUDA binaries without recompilation from source and supports switching between execution on an NVIDIA GPU and a many-core CPU at runtime. It has been validated against over 130 applications taken from the CUDA SDK, the UIUC Parboil benchmarks [1], the Virginia Rodinia benchmarks [2], the GPU-VSIPL signal and image processing library [3], the Thrust library [4], and several domain specific applications. This paper presents a high level overview of the implementation of the Ocelot dynamic compiler highlighting design decisions and trade-offs, and showcasing their effect on application performance. Several novel code transformations are explored that are applicable only when compiling explicitly parallel applications and traditional dynamic compiler optimizations are revisited for this new class of applications. This study is expected to inform the design of compilation tools for explicitly parallel programming models (such as OpenCL) as well as future CPU and CPU architectures.
引用
收藏
页码:353 / 364
页数:12
相关论文
共 50 条
  • [21] A new optimization framework for dynamic systems under uncertainty
    Arellano-Garcia, H
    Martini, W
    Wendt, M
    Wozny, G
    [J]. EUROPEAN SYMPOSIUM ON COMPUTER-AIDED PROCESS ENGINEERING - 14, 2004, 18 : 553 - 558
  • [22] Modeling, simulation, and optimization software framework for dynamic systems
    Webb, D
    Ramirez, WF
    [J]. PROCEEDINGS OF THE 2003 AMERICAN CONTROL CONFERENCE, VOLS 1-6, 2003, : 2395 - 2400
  • [23] A Framework for Efficient Execution of Data Parallel Irregular Applications on Heterogeneous Systems
    Ribeiro, Roberto
    Barbosa, Joao
    Santos, Luis Paulo
    [J]. PARALLEL PROCESSING LETTERS, 2015, 25 (02)
  • [24] Retargeting Applications for Heterogeneous Systems with the Tribble Source-to-Source Framework
    Sousa, Luis Miguel
    Bispo, Joao
    Paulino, Nuno
    [J]. 2023 32ND INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PACT, 2023, : 329 - 331
  • [25] Stability of Dynamic Feedback Optimization with Applications to Power Systems
    Menta, Sandeep
    Hauswirth, Adrian
    Bolognani, Saverio
    Hug, Gabriela
    Dorfler, Florian
    [J]. 2018 56TH ANNUAL ALLERTON CONFERENCE ON COMMUNICATION, CONTROL, AND COMPUTING (ALLERTON), 2018, : 136 - 143
  • [26] A Dynamic Bulk Provisioning Framework for Concurrent Optimization in PCE-Based WDM Networks
    Ahmed, Jawwad
    Cavdar, Cicek
    Monti, Paolo
    Wosinska, Lena
    [J]. JOURNAL OF LIGHTWAVE TECHNOLOGY, 2012, 30 (14)
  • [27] A proposed framework for dynamic modelling of photovoltaic systems for DG applications
    El-Saadawi, Magdi M.
    Hassan, Ahmed E.
    Abo-Al-Ez, Khaled M.
    Kandil, Mahmoud S.
    [J]. INTERNATIONAL JOURNAL OF AMBIENT ENERGY, 2011, 32 (01) : 2 - 17
  • [28] Throughput Optimization for Streaming Applications on CPU-FPGA Heterogeneous Systems
    Wei, Xuechao
    Liang, Yun
    Wang, Tao
    Lu, Songwu
    Cong, Jason
    [J]. 2017 22ND ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC), 2017, : 488 - 493
  • [29] A generalized framework for solving dynamic optimization problems using the artificial chemical process paradigm: Applications to particulate processes and discrete dynamic systems
    Irizarry, R
    [J]. CHEMICAL ENGINEERING SCIENCE, 2005, 60 (21) : 5663 - 5681
  • [30] Reactive Scheduling of DAG Applications on Heterogeneous and Dynamic Distributed Computing Systems
    Hernandez Hernandez, Jesus Israel
    Cole, Murray
    [J]. COMPUTACION Y SISTEMAS, 2009, 13 (02): : 221 - 237