Halide Code Generation Framework in Phylanx

R. Tohid, Shahrzad Shirzad, Christopher Taylor, Sayef Azad Sakin, Katherine E. Isaacs, Hartmut Kaiser

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Separating algorithms from their computation schedule has become a de facto solution to tackle the challenges of developing high performance code on modern heterogeneous architectures. Common approaches include Domain-specific languages (DSLs) which provide familiar APIs to domain experts, code generation frameworks that automate the generation of fast and portable code, and runtime systems that manage threads for concurrency and parallelism. In this paper, we present the Halide code generation framework for Phylanx distributed array processing platform. This extension enables compile-time optimization of Phylanx primitives for target architectures. To accomplish this, (1) we implemented new Phylanx primitives using Halide, and (2) partially exported Halide’s thread pool API to carry out parallelism on HPX (Phylanx’s runtime) threads. (3) showcased HPX performance analysis tools made available to Halide applications. The evaluation of the work has been done in two steps. First, we compare the performance of Halide applications running on its native runtime with that of the new HPX backend to verify there is no cost associated with using HPX threads. Next, we compare performances of a number of original implementations of Phylanx primitives against the new ones in Halide to verify performance and portability benefits of Halide in the context of Phylanx.

Original languageEnglish (US)
Title of host publicationEuro-Par 2022
Subtitle of host publicationParallel Processing Workshops - Euro-Par 2022 International Workshops, Revised Selected Papers
EditorsJeremy Singer, Yehia Elkhatib, Dora Blanco Heras, Patrick Diehl, Nick Brown, Aleksandar Ilic
PublisherSpringer Science and Business Media Deutschland GmbH
Pages32-45
Number of pages14
ISBN (Print)9783031312083
DOIs
StatePublished - 2023
Externally publishedYes
Event28th International European Conference on Parallel and Distributed Computing , Euro-Par 2022 - Glasgow, United Kingdom
Duration: Aug 22 2022Aug 26 2022

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13835 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference28th International European Conference on Parallel and Distributed Computing , Euro-Par 2022
Country/TerritoryUnited Kingdom
CityGlasgow
Period8/22/228/26/22

Keywords

  • AMT
  • DSL
  • HPX
  • Halide
  • Phylanx

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Halide Code Generation Framework in Phylanx'. Together they form a unique fingerprint.

Cite this