Enhancing Programmability, Portability, and Performance with Rich Cross-Layer Abstractions
Nandita Vijaykumar

TL;DR
This thesis advocates for rich, low-overhead cross-layer abstractions to improve programmability, portability, and performance across diverse hardware architectures by enabling better communication of high-level program information.
Contribution
It introduces four approaches for designing richer abstractions between application, system software, and hardware to address limitations of current interfaces.
Findings
Enhanced programmability and portability demonstrated in CPU and GPU contexts.
Significant performance improvements through cross-layer cooperative mechanisms.
Minimal interface modifications required for implementing richer abstractions.
Abstract
Programmability, performance portability, and resource efficiency have emerged as critical challenges in harnessing complex and diverse architectures today to obtain high performance and energy efficiency. While there is abundant research, and thus significant improvements, at different levels of the stack that address these very challenges, in this thesis, we observe that we are fundamentally limited by the interfaces and abstractions between the application and the underlying system/hardware--specifically, the hardware-software interface. The existing narrow interfaces pose two critical challenges. First, significant effort and expertise are required to write high-performance code to harness the full potential of today's diverse and sophisticated hardware. Second, as a hardware/system designer, architecting faster and more efficient systems is challenging as the vast majority of the…
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 · Distributed and Parallel Computing Systems · Advanced Data Storage Technologies
