Litcius/Paper detail

Concurrent CPU-GPU Task Programming using Modern C++

Tsung‐Wei Huang, Yibo Lint

20222022 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10 citationsDOI

Abstract

In this paper, we introduce Heteroflow, a new C++ library to help developers quickly write parallel CPU-GPU programs using task dependency graphs. Heteroflow leverages the power of modern C++ and task-based approaches to enable efficient implementations of heterogeneous decomposition strategies. Our new CPU-GPU programming model allows users to express a problem in a way that adapts to effective separation of concerns and expertise encapsulation. Compared with existing libraries, Heteroflow is more cost-efficient in performance scaling, programming productivity, and solution generality. We have evaluated Heteroflow on two real applications in VLSI design automation and demonstrated the performance scalability across different CPU-GPU numbers and problem sizes. At a particular example of VLSI timing analysis with million-scale tasking, Heteroflow achieved <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$7.7\times$</tex> runtime speed-up (99 vs 13 minutes) over a baseline on a machine of 40 CPU cores and 4 GPUs.

Topics & Concepts

Computer scienceScalabilityParallel computingCentral processing unitProgramming paradigmTask (project management)ImplementationVery-large-scale integrationComputer architectureEmbedded systemProgramming languageOperating systemManagementEconomicsParallel Computing and Optimization TechniquesFerroelectric and Negative Capacitance DevicesEmbedded Systems Design Techniques