References & Citations
Computer Science > Distributed, Parallel, and Cluster Computing
Title: FLASH 1.0: A Software Framework for Rapid Parallel Deployment and Enhancing Host Code Portability in Heterogeneous Computing
(Submitted on 25 Jun 2021 (this version), latest version 5 Jul 2023 (v3))
Abstract: In this paper, we present FLASH 1.0, a C++-based software framework for rapid parallel deployment and enhancing host code portability in heterogeneous computing. FLASH takes a novel approach in describing kernels and dynamically dispatching them in a hardware-agnostic manner. FLASH features truly hardware-agnostic frontend interfaces, which not only unify the compile-time control flow but also enforces a portability-optimized code organization that imposes a demarcation between computational (performance-critical) and functional (non-performance-critical) codes as well as the separation of hardware-specific and hardware-agnostic codes in the host application. We use static code analysis to measure the hardware independence ratio of popular HPC applications and show that up to 99.72% code portability can be achieved with FLASH. Similarly, we measure the complexity of state-of-the-art portable programming models and show that a code reduction of up to 2.2x can be achieved for two common HPC kernels while maintaining 100% code portability with a normalized framework overhead between 1% - 13% of the total kernel runtime. The codes are available at this https URL
Submission history
From: Masudul Quraishi [view email][v1] Fri, 25 Jun 2021 13:57:16 GMT (4409kb,D)
[v2] Fri, 11 Nov 2022 04:29:46 GMT (4552kb,D)
[v3] Wed, 5 Jul 2023 04:18:42 GMT (5416kb,D)
Link back to: arXiv, form interface, contact.