Regent: A High-Productivity Programming Language for HPC with Logical Regions

被引:48
|
作者
Slaughter, Elliott [1 ]
Lee, Wonchan [1 ]
Treichler, Sean [1 ]
Bauer, Michael [2 ]
Aiken, Alex [1 ]
机构
[1] Stanford Univ, Stanford, CA 94305 USA
[2] NVIDIA Res, Santa Clara, CA USA
关键词
Regent; Legion; logical regions; task-based runtimes;
D O I
10.1145/2807591.2807629
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present Regent, a high-productivity programming language for high performance computing with logical regions. Regent users compose programs with tasks (functions eligible for parallel execution) and logical regions (hierarchical collections of structured objects). Regent programs appear to execute sequentially, require no explicit synchronization, and are trivially deadlock-free. Regent's type system catches many common classes of mistakes and guarantees that a program with correct serial execution produces identical results on parallel and distributed machines. We present an optimizing compiler for Regent that translates Regent programs into efficient implementations for Legion, an asynchronous task-based model. Regent employs several novel compiler optimizations to minimize the dynamic overhead of the runtime system and enable efficient operation. We evaluate Regent on three benchmark applications and demonstrate that Regent achieves performance comparable to hand-tuned Legion.
引用
收藏
页数:12
相关论文
共 50 条
  • [1] Programming models and languages for high-productivity computing systems
    Zima, HP
    USE OF HIGH PERFORMANCE COMPUTING IN METEOROLOGY, 2005, : 25 - 35
  • [2] A performance-oriented comparative study of the Chapel high-productivity language to conventional programming environments
    Helbecque, Guillaume
    Gmys, Jan
    Carneiro, Tiago
    Melab, Nouredine
    Bouvry, Pascal
    PROCEEDINGS OF THE THIRTEENTH INTERNATIONAL WORKSHOP ON PROGRAMMING MODELS AND APPLICATIONS FOR MULTICORES AND MANYCORES (PMAM '22), 2022, : 21 - 29
  • [3] A high-productivity task-based programming model for clusters
    Tejedor, Enric
    Farreras, Montse
    Grove, David
    Badia, Rosa M.
    Almasi, Gheorghe
    Labarta, Jesus
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2012, 24 (18): : 2421 - 2448
  • [4] THE HIGH-PRODUCTIVITY LANGUAGE SYSTEM IDL-II
    KURIYAMA, M
    SOMAZAWA, Y
    MIWA, T
    NEC RESEARCH & DEVELOPMENT, 1990, (97): : 85 - 91
  • [5] High-productivity Programming and Optimization Framework for Stream Processing on FPGA
    Lee, Jinpil
    Ueno, Tomohiro
    Sato, Mitsuhisa
    Sano, Kentaro
    HEART 2018: PROCEEDINGS OF THE 9TH INTERNATIONAL SYMPOSIUM ON HIGHLY-EFFICIENT ACCELERATORS AND RECONFIGURABLE TECHNOLOGIES, 2018,
  • [6] LANGUAGES FOR HIGH-PRODUCTIVITY COMPUTING: THE DARPA HPCS LANGUAGE PROJECT
    Lusk, Ewing
    Yelick, Ketherine
    PARALLEL PROCESSING LETTERS, 2007, 17 (01) : 89 - 102
  • [7] A comparative study of high-productivity high-performance programming languages for parallel metaheuristics
    Gmys, Jan
    Carneiro, Tiago
    Melab, Nouredine
    Talbi, El-Ghazali
    Tuyttens, Daniel
    SWARM AND EVOLUTIONARY COMPUTATION, 2020, 57 (57)
  • [8] Housing markets and geographical labour mobility to high-productivity regions: The case of Stockholm
    Eliasson, Kent
    Westerlund, Olle
    EUROPEAN URBAN AND REGIONAL STUDIES, 2024, 31 (03) : 259 - 280
  • [9] HIGH-PRODUCTIVITY NITRIDING PROCESSES
    LAKHTIN, YM
    METAL SCIENCE AND HEAT TREATMENT, 1976, 18 (5-6) : 399 - 407
  • [10] Call it high-productivity machining
    Koesch, JR
    MANUFACTURING ENGINEERING, 2006, 136 (03): : 137 - +