Accelerator Codesign as Non-Linear Optimization
Nirmal Prajapati, Sanjay Rajopadhye, Hristo Djidjev, Nandkishore, Santhi, Tobias Grosser, Rumen Andonov

TL;DR
This paper presents a non-linear optimization framework for co-designing hardware and software parameters of GPGPU accelerators to optimize performance for dense stencil computations, validated through architectural variants of NVIDIA GPUs.
Contribution
It introduces an analytical model and a mathematical optimization approach for accelerator codesign, enabling simultaneous hardware-software parameter tuning for improved performance.
Findings
Potential performance improvements of 28-33% with hardware tweaks.
Eliminating GPU caches can double performance.
Identified Pareto-optimal trade-offs between performance and silicon area.
Abstract
We propose an optimization approach for determining both hardware and software parameters for the efficient implementation of a (family of) applications called dense stencil computations on programmable GPGPUs. We first introduce a simple, analytical model for the silicon area usage of accelerator architectures and a workload characterization of stencil computations. We combine this characterization with a parametric execution time model and formulate a mathematical optimization problem. That problem seeks to maximize a common objective function of 'all the hardware and software parameters'. The solution to this problem, therefore "solves" the codesign problem: simultaneously choosing software-hardware parameters to optimize total performance. We validate this approach by proposing architectural variants of the NVIDIA Maxwell GTX-980 (respectively, Titan X) specifically tuned to a…
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 · Embedded Systems Design Techniques · Interconnection Networks and Systems
