From array algebra to energy efficiency on GPUs: Data and hardware shapes with dimension-lifting to optimize memory-processor layouts
Lenore M. R. Mullin

TL;DR
This paper introduces a novel matrix multiplication formulation using array algebra that optimizes GPU memory and processing layouts, leading to energy-efficient computations on Nvidia V100 GPUs.
Contribution
It presents a new array algebra-based algorithm for parallel matrix multiplication that improves hardware utilization and energy efficiency on GPUs, bridging hardware and software design.
Findings
Energy consumption is quadratic in matrix size N.
The approach achieves optimal block sizes through static transformations.
Experiments demonstrate improved energy efficiency on Nvidia V100 GPUs.
Abstract
We present a new formulation for parallel matrix multiplication (MM) to out-perform the standard row-column code design. This algorithm is formulated in the MoA formalism (A Mathematics of Arrays) and combines an array view of hardware (dimension-lifting) to extend indexing to physical memory/processing units, with a contiguous data layout derived from static transformations. This view of a hardware-software model is thus a bridging model in the sense of Valiant's BSP. OpenACCcode was derived from the MoA expressions's normal form, producing optimal block sizes using the static information of types and shapes. Experiments were run on Nvidia V100 GPUs and reveal energy consumption which is quadratic in N, i.e. linear in the size of matrix. More generally this approach may be an ideal way of formulating, optimizing, and mapping array algorithms to embedded hardware. This work builds upon…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Interconnection Networks and Systems · Embedded Systems Design Techniques
