OpenMP target offloading currently supports only four basic devicetodevice copy routines, a gap that forces programmers to rely on vendor libraries and limits scalability on multiGPU nodes. We introduce a prototype OpenMP-native, topology-aware collective-communication framework that: (i) exposes lightweight APIs for querying link type and peer bandwidth, (ii) offers an optional devicegroup abstraction, and (iii) implements ring and pipelinetree broadcasts whose ordering is optimized at run time. On an eightGPU MI250X node, a topologyaware halo exchange accelerates communication by up to 23.4% and averages 19.4% once the payload exceeds 8MB, and our ring broadcast outperforms RCCL for midsize messages on both AMD and NVIDIA platforms. These results demonstrate that modest runtime extensions can deliver vendor-class performance without sacrificing OpenMPs single-source portability. Our current prototype focuses on broadcast, but the same approach naturally generalizes to the full suite of collective operations.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Discussion of Device-Device Collective Communication in OpenMP Target Offloading

  • Baodi Shan,
  • Mauricio Araya-Polo,
  • Johannes Doerfert,
  • Barbara Chapman

摘要

OpenMP target offloading currently supports only four basic devicetodevice copy routines, a gap that forces programmers to rely on vendor libraries and limits scalability on multiGPU nodes. We introduce a prototype OpenMP-native, topology-aware collective-communication framework that: (i) exposes lightweight APIs for querying link type and peer bandwidth, (ii) offers an optional devicegroup abstraction, and (iii) implements ring and pipelinetree broadcasts whose ordering is optimized at run time. On an eightGPU MI250X node, a topologyaware halo exchange accelerates communication by up to 23.4% and averages 19.4% once the payload exceeds 8MB, and our ring broadcast outperforms RCCL for midsize messages on both AMD and NVIDIA platforms. These results demonstrate that modest runtime extensions can deliver vendor-class performance without sacrificing OpenMPs single-source portability. Our current prototype focuses on broadcast, but the same approach naturally generalizes to the full suite of collective operations.