Towards Performance Portable Programming for Distributed Heterogeneous Systems
Polykarpos Thomadakis, Nikos Chrisochoides

TL;DR
This paper presents a runtime framework that simplifies programming for distributed heterogeneous systems, achieving significant performance improvements and portability across diverse hardware architectures.
Contribution
It introduces a scalable runtime system that enables performance portability and efficient resource utilization in heterogeneous distributed high-performance computing environments.
Findings
Up to 300% improvement in shared memory benchmarks
Up to 10x reduction in distributed device communication latency
40% performance gain in a distributed Jacobi application
Abstract
Hardware heterogeneity is here to stay for high-performance computing. Large-scale systems are currently equipped with multiple GPU accelerators per compute node and are expected to incorporate more specialized hardware in the future. This shift in the computing ecosystem offers many opportunities for performance improvement; however, it also increases the complexity of programming for such architectures. This work introduces a runtime framework that enables effortless programming for heterogeneous systems while efficiently utilizing hardware resources. The framework is integrated within a distributed and scalable runtime system to facilitate performance portability across heterogeneous nodes. Along with the design, this paper describes the implementation and optimizations performed, achieving up to 300% improvement in a shared memory benchmark and up to 10 times in distributed device…
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
TopicsDistributed and Parallel Computing Systems · Cloud Computing and Resource Management · Parallel Computing and Optimization Techniques
