Hybrid Static/Dynamic Schedules for Tiled Polyhedral Programs

10/23/2016
by   Tian Jin, et al.
0

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 the need of any sophisticated run-time mechanism. Our experiments show our simple implementation to be competitive or better than the wavefront-synchronized code generated by other systems. We also show how the proposed mechanism can achieve 24

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/03/2022

Linear Run Time of Persistent Homology Computation with GPU Parallelization

Persistent homology is a crucial invariant that is used in many areas to...
research
02/25/2020

Security Wrappers for Information-Flow Control in Active Object Languages with Futures

This paper introduces a run-time mechanism for preventing leakage of sec...
research
04/07/2018

Symbolic Reasoning for Automatic Signal Placement (Extended Version)

Explicit signaling between threads is a perennial cause of bugs in concu...
research
06/30/2017

Applying the Polyhedral Model to Tile Time Loops in Devito

The run time of many scientific computation applications for numerical m...
research
04/13/2022

Timeloops: Automatic System Call Policy Learning for Containerized Microservices

In this paper we introduce Timeloops a novel technique for automatically...
research
11/22/2017

PartiSan: Fast and Flexible Sanitization via Run-time Partitioning

Code sanitizers are used to automatically detect security vulnerabilitie...
research
12/22/2022

The Gaia AVU-GSR parallel solver: preliminary studies of a LSQR-based application in perspective of exascale systems

The Gaia Astrometric Verification Unit-Global Sphere Reconstruction (AVU...

Please sign up or login with your details

Forgot password? Click here to reset