@inproceedings{3c01495207f44695aa980655eccc0459,
title = "ProtoX: A First Look",
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.",
keywords = "code generation, partial differential equations, Proto, SPIRAL, stencil operations",
author = "Het Mankad and Sanil Rao and Phillip Colella and {Van Straalen}, Brian and Franz Franchetti",
note = "Publisher Copyright: {\textcopyright} 2023 IEEE.; 2023 IEEE High Performance Extreme Computing Conference, HPEC 2023 ; Conference date: 25-09-2023 Through 29-09-2023",
year = "2023",
doi = "10.1109/HPEC58863.2023.10363547",
language = "English",
series = "2023 IEEE High Performance Extreme Computing Conference, HPEC 2023",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
booktitle = "2023 IEEE High Performance Extreme Computing Conference, HPEC 2023",
}