Presentation

ProtoX : A Code Generation Framework for Stencil Operations
DescriptionProtoX is a code generation framework for stencil and pointwise operations - the key components in numerically approximating the solution to various partial differential equations (PDEs). The frontend for ProtoX uses Proto - a C++ based domain specific library that provides a high level of abstraction and an intuitive interface that optimizes the designing and scheduling of an algorithm aimed at solving various PDEs numerically on structured grids. The high level of abstractions used in Proto can be fused together to improve its current performance. However, abstraction fusion cannot be performed easily by a compiler. To overcome this issue ProtoX uses SPIRAL as its backend. SPIRAL is a code generation system that focuses on generating highly optimized target code in C/C++. The performance gain that is thus obtained in ProtoX is demonstrated for examples like the 2D Poisson problem as well as the 2D and 3D Euler equations that are used in the study of gas dynamics. The results obtained from CPU and GPU implementations will be discussed.
TimeWednesday, June 512:00 - 12:30 CEST
LocationHG F 3
Event Type
Minisymposium
Domains
Computational Methods and Applied Mathematics