TL;DR
This paper introduces a flexible GPU load-balancing abstraction that separates load balancing from work processing, enabling easier development and experimentation with various scheduling techniques for irregular parallel algorithms.
Contribution
It presents a programmable, open-source framework for GPU load balancing that supports both static and dynamic schedules, improving productivity and performance for irregular algorithms.
Findings
Supports both static and dynamic scheduling
Facilitates rapid experimentation with load-balancing techniques
Eases extension to future GPU architectures
Abstract
We propose a GPU fine-grained load-balancing abstraction that decouples load balancing from work processing and aims to support both static and dynamic schedules with a programmable interface to implement new load-balancing schedules. Prior to our work, the only way to unleash the GPU's potential on irregular problems has been to workload-balance through application-specific, tightly coupled load-balancing techniques. With our open-source framework for load-balancing, we hope to improve programmers' productivity when developing irregular-parallel algorithms on the GPU, and also improve the overall performance characteristics for such applications by allowing a quick path to experimentation with a variety of existing load-balancing techniques. Consequently, we also hope that by separating the concerns of load-balancing from work processing within our abstraction, managing and extending…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
