Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/PACT.2015.17guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming

Published: 18 October 2015 Publication History

Abstract

Programming accelerators such as GPUs withlow-level APIs and languages such as OpenCL and CUDAis difficult, error-prone, and not performance-portable. Au-tomatic parallelization and domain specific languages (DSLs)have been proposed to hide complexity and regain performanceportability. We present P ENCIL, a rigorously-defined subset ofGNU C99 -- enriched with additional language constructs -- that enables compilers to exploit parallelism and produce highlyoptimized code when targeting accelerators. P ENCIL aims toserve both as a portable implementation language for libraries, and as a target language for DSL compilers. We implemented a P ENCIL-to-OpenCL backend using astate-of-the-art polyhedral compiler. The polyhedral compiler, extended to handle data-dependent control flow and non-affinearray accesses, generates optimized OpenCL code. To demon-strate the potential and performance portability of P ENCILand the P ENCIL-to-OpenCL compiler, we consider a numberof image processing kernels, a set of benchmarks from theRodinia and SHOC suites, and DSL embedding scenarios forlinear algebra (BLAS) and signal processing radar applications(SpearDE), and present experimental results for four GPUplatforms: AMD Radeon HD 5670 and R9 285, NVIDIAGTX 470, and ARM Mali-T604.

Cited By

View all
  • (2023)A Deep Learning Model for Loop InterchangeProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580257(50-60)Online publication date: 17-Feb-2023
  • (2023)Performance Embeddings: A Similarity-Based Transfer Tuning Approach to Performance OptimizationProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593714(50-62)Online publication date: 21-Jun-2023
  • (2023)TLP: A Deep Learning-Based Cost Model for Tensor Program TuningProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575737(833-845)Online publication date: 27-Jan-2023
  • Show More Cited By

Index Terms

  1. PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    PACT '15: Proceedings of the 2015 International Conference on Parallel Architecture and Compilation (PACT)
    October 2015
    502 pages
    ISBN:9781467395243

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 18 October 2015

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 18 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)A Deep Learning Model for Loop InterchangeProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580257(50-60)Online publication date: 17-Feb-2023
    • (2023)Performance Embeddings: A Similarity-Based Transfer Tuning Approach to Performance OptimizationProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593714(50-62)Online publication date: 21-Jun-2023
    • (2023)TLP: A Deep Learning-Based Cost Model for Tensor Program TuningProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575737(833-845)Online publication date: 27-Jan-2023
    • (2022)StrongBoxProceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security10.1145/3548606.3560627(769-783)Online publication date: 7-Nov-2022
    • (2022)Lifting C semantics for dataflow optimizationProceedings of the 36th ACM International Conference on Supercomputing10.1145/3524059.3532389(1-13)Online publication date: 28-Jun-2022
    • (2022)Exocompilation for productive programming of hardware acceleratorsProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523446(703-718)Online publication date: 9-Jun-2022
    • (2022)A Comprehensive Exploration of Languages for Parallel ComputingACM Computing Surveys10.1145/348500855:2(1-39)Online publication date: 18-Jan-2022
    • (2021)Intermediate Representations for Explicitly Parallel ProgramsACM Computing Surveys10.1145/345229954:5(1-24)Online publication date: 25-May-2021
    • (2021)CoSAProceedings of the 48th Annual International Symposium on Computer Architecture10.1109/ISCA52012.2021.00050(554-566)Online publication date: 14-Jun-2021
    • (2020)Fast linear programming through transprecision computing on small and sparse dataProceedings of the ACM on Programming Languages10.1145/34282634:OOPSLA(1-28)Online publication date: 13-Nov-2020
    • Show More Cited By

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media