<p>Supercomputers and data centers are continuously developing on scales and capabilities to empower scientific and intelligent applications. As the <i>de facto</i> standard to offer dense computation, various accelerators like GPUs have been widely deployed, which inevitably incurs the heterogeneous programming and usage issues. Targeting at addressing the issues, SYCL has been proposed to facilitate programs to run on different platforms based on varying accelerators and vendors. However, SYCL has a limited functionality to conduct communication between devices, so SYCL resorts to MPI or vendor-specific communication libraries, neither of which could fulfill the demand of portability and performance for SYCL programs at the same time. To overcome the dilemma of portability and performance, we propose <Emphasis FontCategory="NonProportional">SuCL</Emphasis>, a communication-specific library and framework which provides an abstraction layer atop of various programming models. <Emphasis FontCategory="NonProportional">SuCL</Emphasis> provides unified communication APIs for upper SYCL programs, and leverages vendor-optimized communication libraries to improve performance. To ensure program functionality, <Emphasis FontCategory="NonProportional">SuCL</Emphasis> introduces selection mechanism to help selecting proper communication libraries for SYCL programs at runtime. <Emphasis FontCategory="NonProportional">SuCL</Emphasis> also utilizes additional SYCL features to improve performance and programming easiness. Experiments on different platforms show that <Emphasis FontCategory="NonProportional">SuCL</Emphasis> outperforms MPI in micro-benchmarks significantly, and in application evaluations <Emphasis FontCategory="NonProportional">SuCL</Emphasis> is capable to produce speedups up to 60% and 30% on NVIDIA platform and AMD platform respectively.</p>

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

SuCL: supply unified communication layer to improve SYCL-based heterogeneous computing

  • Hengzhong Liang,
  • Han Huang,
  • Xianwei Zhang

摘要

Supercomputers and data centers are continuously developing on scales and capabilities to empower scientific and intelligent applications. As the de facto standard to offer dense computation, various accelerators like GPUs have been widely deployed, which inevitably incurs the heterogeneous programming and usage issues. Targeting at addressing the issues, SYCL has been proposed to facilitate programs to run on different platforms based on varying accelerators and vendors. However, SYCL has a limited functionality to conduct communication between devices, so SYCL resorts to MPI or vendor-specific communication libraries, neither of which could fulfill the demand of portability and performance for SYCL programs at the same time. To overcome the dilemma of portability and performance, we propose SuCL, a communication-specific library and framework which provides an abstraction layer atop of various programming models. SuCL provides unified communication APIs for upper SYCL programs, and leverages vendor-optimized communication libraries to improve performance. To ensure program functionality, SuCL introduces selection mechanism to help selecting proper communication libraries for SYCL programs at runtime. SuCL also utilizes additional SYCL features to improve performance and programming easiness. Experiments on different platforms show that SuCL outperforms MPI in micro-benchmarks significantly, and in application evaluations SuCL is capable to produce speedups up to 60% and 30% on NVIDIA platform and AMD platform respectively.