Publication Date
5-2023
Date of Final Oral Examination (Defense)
2-27-2023
Type of Culminating Activity
Thesis
Degree Title
Master of Science in Computer Science
Department
Computer Science
Supervisory Committee Chair
Catherine Olschanowsky, Ph.D.
Supervisory Committee Member
Hoda Mehrpouyan, Ph.D.
Supervisory Committee Member
Jim Buffenbarger, Ph.D.
Abstract
The Sparse Polyhedral Framework (SPF) provides vital support to scientific applications, but is limited in portability. SPF extends the Polyhedral Model to non-affine codes. Scientific applications need the optimizations SPF enables, but current SPF tools don't support GPUs or other heterogeneous hardware targets. As clock speeds continue to stagnate, scientific applications need the performance enhancements enabled by both SPF and newer heterogeneous hardware.
The MLIR (Multi-Level Intermediate Representation) ecosystem offers a large, extensible, and cooperating set of intermediate representations (called dialects). A typical compiler has one main intermediate representation, whereas an MLIR based compiler will have many. Because of this flexibility, the MLIR ecosystem has many dialects designed with heterogeneous hardware platforms in mind.
This work creates an MLIR SPF dialect. The dialect enables SPF optimizations and is capable of generating GPU code as well as CPU code from SPF representations. Previous C based SPF front ends are not capable of generating GPU code. The SPF dialect representations of common sparse scientific kernels generate CPU code competitive with the existing C based front end, and GPU code competitive with standard benchmarks.
DOI
https://doi.org/10.18122/td.2081.boisestate
Recommended Citation
St. George, Aaron, "Portable Sparse Polyhedral Framework Code Generation Using Multi Level Intermediate Representation" (2023). Boise State University Theses and Dissertations. 2081.
https://doi.org/10.18122/td.2081.boisestate