Hybrid Static/Dynamic Schedules for Tiled Polyhedral Programs
Tian Jin, Nirmal Prajapati, Waruna Ranasinghe, Guillaume Iooss, Yun, Zou, Sanjay Rajopadhye, David Wonnacott

TL;DR
This paper introduces a hybrid static/dynamic scheduling system for tiled polyhedral programs, reducing overheads and energy consumption while supporting various parallel computing platforms.
Contribution
It presents a novel hybrid scheduling approach that combines static code structure with dynamic enforcement, improving efficiency over previous methods.
Findings
Overheads are reduced by at least one polynomial degree compared to prior techniques.
The system is adaptable to multiple parallel computing platforms including GPUs and MPI.
Experiments show 24% to 70% energy savings with the proposed mechanism.
Abstract
Polyhedral compilers perform optimizations such as tiling and parallelization; when doing both, they usually generate code that executes "barrier-synchronized wavefronts" of tiles. We present a system to express and generate code for hybrid schedules, where some constraints are automatically satisfied through the structure of the code, and the remainder are dynamically enforced at run-time with data flow mechanisms. We prove bounds on the added overheads that are better, by at least one polynomial degree, than those of previous techniques. We propose a generic mechanism to implement the needed synchronization, and show it can be easily realized for a variety of targets: OpenMP, Pthreads, GPU (CUDA or OpenCL) code, languages like X10, Habanero, Cilk, as well as data flow platforms like DAGuE, and OpenStream and MPI. We also provide a simple concrete implementation that works without…
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 · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
