• Home
  • Search
  • Generating Portable High-Performance Code via Multi-Dimensional Homomorphisms
  • Cite Icon12
  • https://doi.org/10.1109/pact.2019.00035Copy DOI Icon

Generating Portable High-Performance Code via Multi-Dimensional Homomorphisms

  • Sep 1, 2019
  • Ari Rasch +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We address a key challenge in programming high-performance applications - achieving portable performance, i.e., the same source code achieves a consistent, high level of performance over the variety of modern parallel processors, including multi-core CPU and many-core Graphics Processing Unit (GPU), and over the variety of input sizes. Our approach relies on the algebraic formalism of Multi-Dimensional Homomorphisms (MDH), which enables expressing data-parallel computations uniformly via a higher-order function (a.k.a. parallel pattern). For MDHs, we develop a novel code generation approach based on a generic OpenCL implementation. Our implementation efficiently exploits the OpenCL's abstract platform and memory model, generically for arbitrary MDH functions, by incorporating a parameterized parallelization and tiling strategy - on both layers of the OpenCL's two models and in all dimensions of the multi-dimensional input. We achieve performance portability for MDHs by auto-tuning the parameters of our two strategies, thereby enabling fully automatically optimizing our code for any combination of an MDH function, target device, and input size. We demonstrate for computations from four popular domains - dense linear algebra (BLAS), stencil computations, data mining, and tensor contractions - how we express them in the MDH formalism, and we experimentally show that our automatically generated and auto-tuned code for them achieves competitive and often significantly better performance than several state-of-practice approaches on both Intel multi-core CPU and NVIDIA many-core GPU - speedups of up to 5x over the state-of-the-art performance-portable approaches, and competitive or even better performance as compared to hand-optimized approaches such as Intel MKL and NVIDIA cuBLAS on real-world input data as used in deep learning.

Similar Papers
  • Research Article
  • Citations8

Multi-dimensional Homomorphisms and Their Implementation in OpenCL

  • May 08, 2017
  • International Journal of Parallel Programming
  • Ari Rasch +1
  • PDF
  • Research Article
  • Citations6

Parallelizing Multiple Flow Accumulation Algorithm using CUDA and OpenACC

  • Sep 03, 2019
  • ISPRS International Journal of Geo-Information
  • Natalija Stojanovic +1
  • Conference Article
  • Citations6

The Exploration of Pervasive and Fine-Grained Parallel Model Applied on Intel Xeon Phi Coprocessor

  • Oct 01, 2013
  • Christophe Calvin +2
  • Research Article
  • Citations36

Accelerating Static Timing Analysis Using CPU–GPU Heterogeneous Parallelism

  • Dec 01, 2023
  • IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
  • Zizheng Guo +2
  • Book Chapter
  • Citations1

Performance Analysis of Different Iterative Solvers Parallelized On GPU Architecture

  • Jan 01, 2023
  • G Dilip Subbaian +1
  • Conference Article
  • Citations5

A promising CUDA-accelerated vehicular area network simulator using NS-3

  • Dec 01, 2014
  • Chok M Yip +1
  • Conference Article
  • Citations3

SWIFT-A Performance Accelerated Optimized String Matching Algorithm for Nvidia GPUs

  • Jan 01, 2016
  • Sourabh S Shenoy +2
  • Conference Article
  • Citations1

A CUDA implementation of the finite element-boundary integral method for electromagnetic scattering simulation

  • Jul 01, 2013
  • Jian Guan +2
  • Book Chapter
  • Citations4

Using a Multitasking GPU Environment for Content-Based Similarity Measures of Big Data

  • Jan 01, 2013
  • Ayman Tarakji +3
  • Dissertation

Facilitating emerging applications on many-core processors

  • Jul 01, 2016
  • Da Li
  • Research Article
  • Citations7

Occamy: A 432-Core Dual-Chiplet Dual-HBM2E 768-DP-GFLOP/s RISC-V System for 8-to-64-bit Dense and Sparse Computing in 12-nm FinFET

  • Apr 01, 2025
  • IEEE Journal of Solid-State Circuits
  • Paul Scheffler +14
  • Conference Article
  • Citations43

Fast computation of general Fourier Transforms on GPUS

  • Apr 01, 2008
  • D Brandon Lloyd +2
  • Conference Article
  • Citations75

Large scale recurrent neural network on GPU

  • Jul 01, 2014
  • Boxun Li +7
  • Research Article
  • Citations13

TOAST: Automatic tiling for iterative stencil computations on GPUs

  • Feb 02, 2017
  • Concurrency and Computation: Practice and Experience
  • Rodrigo C O Rocha +3
  • Conference Article
  • Citations47

Deploying Graph Algorithms on GPUs: An Adaptive Solution

  • May 01, 2013
  • Da Li +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.