ProtoX: A First Look

Het Mankad, Sanil Rao, Phillip Colella, Brian Van Straalen, Franz Franchetti

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

We present a first look at ProtoX, a code generation framework for stencil and pointwise operations that occur fre-quently in the numerical solution of partial differential equations. ProtoX has Proto as its library frontend and SPIRAL as the backend. Proto is a C++ based domain specific library which optimizes the algorithms used to compute the numerical solution of partial differential equations. Meanwhile, SPIRAL is a code generation system that focuses on generating highly optimized target code. Although the current design layout of Proto and its high level of abstractions provide a user friendly set up, there is still a room for improving it's performance by applying various techniques either at a compiler level or at an algorithmic level. Hence, in this paper we propose adding SPIRAL as the library backend for Proto enabling abstraction fusion, which is usually difficult to perform by any compiler. We demonstrate the construction of ProtoX by considering the 2D Poisson equation as a model problem from Proto. We provide the final generated code for CPU, Multi-core CPU, and GPU as well as some performance numbers for CPU.

Original languageEnglish
Title of host publication2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
PublisherInstitute of Electrical and Electronics Engineers Inc.
ISBN (Electronic)9798350308600
DOIs
StatePublished - 2023
Externally publishedYes
Event2023 IEEE High Performance Extreme Computing Conference, HPEC 2023 - Virtual, Online, United States
Duration: Sep 25 2023Sep 29 2023

Publication series

Name2023 IEEE High Performance Extreme Computing Conference, HPEC 2023

Conference

Conference2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
Country/TerritoryUnited States
CityVirtual, Online
Period09/25/2309/29/23

Keywords

  • code generation
  • partial differential equations
  • Proto
  • SPIRAL
  • stencil operations

Fingerprint

Dive into the research topics of 'ProtoX: A First Look'. Together they form a unique fingerprint.

Cite this