A Hybrid Task Graph Scheduler for High Performance Image Processing Workflows
Timothy J. Blattner, Walid Keyrouz, Milton Halem, Shuvra S. Bhattacharyya, Mary C. Brady
The scalability of applications is a key requirement to improving performance in hybrid and cluster computing. Scheduling code to utilize parallelism is difficult, particularly when dealing with dependencies, memory management, data motion, and processor occupancy. The Hybrid Task Graph Scheduler (HTGS) increases programmer productivity to implement hybrid workflows that scale to multi-GPU systems. HTGS is capable of managing dependencies between tasks, represents CPU and GPU memories independently, overlaps computations with disk I/O and memory transfers, keeps multiple GPUs occupied, and uses all available compute resources. We present a prototype of HTGS and implement hybrid microscopy image stitching. Code size is reduced by ≈25% and shows favorable performance compared to a similar hybrid work- flow implementation without HTGS. Computational functions are reused and requires no modification.
Symposium on Signal Processing on Graphics Processing Units and Multicores