PROCEEDINGS OF 2025 WORKSHOPS OF THE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, NETWORK, STORAGE, AND ANALYSIS, SC25 WORKSHOPS(2025)
Inst Sci Tokyo
被引用0|浏览7
摘要
Thread coarsening is awell known optimization technique for GPUs. It enables instruction-level parallelism, reduces redundant computation, and can provide better memory access patterns. However, the presence of divergent control flow - cases where uniformity of branch conditions among threads cannot be proven at compile time - diminishes its effectiveness. In this work, we implement multi-level thread coarsening for CPU and GPU OpenMP code, by implementing a generic thread coarsening transformation on LLVM IR. We introduce dynamic convergence - a new technique that generates both coarsened and non-coarsened versions of divergent regions in the code and allows for the uniformity check to happen at runtime instead of compile time. We performed evalution on HecBench for GPU and LULESH for CPU. We found that best case speedup without dynamic convergence was 4.6% for GPUs and 2.9% for CPUs, while our approach achieved 7.5% for GPUs and 4.3% for CPUs.