<p>With the rapid advancement of artificial intelligence and high-performance computing, heterogeneous computing platforms have evolved to encompass increasingly diverse architectures. While SYCL, an open standard for heterogeneous programming, has gained widespread adoption, its mainstream implementations (such as DPC++ and AdaptiveCpp) primarily target SIMT-architecture devices like GPUs, presenting substantial challenges when adapting to specialized accelerators such as the Cambricon MLU, which employs a fundamentally different SIMD execution model. This cross-programming-model extension encounters two critical challenges: (1) bridging the programming abstraction gap between SIMT’s thread-level parallelism and SIMD’s data-level parallelism; and (2) harmonizing SYCL’s unified memory model with device-specific memory architectures. This paper proposes a novel cross-programming-model SYCL extension methodology to achieve full SYCL support for SIMD architectures, demonstrated through a comprehensive implementation for the Cambricon MLU platform. Our approach introduces MLU-specific vector programming interfaces while maintaining compatibility with the SYCL standard, enabling seamless integration of SIMD-based accelerators into the SYCL ecosystem. To validate our methodology, we integrated the extended SYCL-MLU implementation into PaddlePaddle’s CINN compiler, achieving a geometric mean performance improvement of 9.14% across representative neural networks, including ResNet, YOLOv3, and BERT. This research significantly broadens the application scope of SYCL in heterogeneous programming and provides a systematic methodology for extending SYCL to other SIMD-based hardware platforms.</p>

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

SYCL-MLU: unifying SIMT and SIMD in heterogeneous programming

  • Runyu Zhou,
  • Yijin Li,
  • Jiacheng Zhao,
  • Ziyang Wang,
  • En Shao,
  • Ziyan Xie,
  • Huimin Cui

摘要

With the rapid advancement of artificial intelligence and high-performance computing, heterogeneous computing platforms have evolved to encompass increasingly diverse architectures. While SYCL, an open standard for heterogeneous programming, has gained widespread adoption, its mainstream implementations (such as DPC++ and AdaptiveCpp) primarily target SIMT-architecture devices like GPUs, presenting substantial challenges when adapting to specialized accelerators such as the Cambricon MLU, which employs a fundamentally different SIMD execution model. This cross-programming-model extension encounters two critical challenges: (1) bridging the programming abstraction gap between SIMT’s thread-level parallelism and SIMD’s data-level parallelism; and (2) harmonizing SYCL’s unified memory model with device-specific memory architectures. This paper proposes a novel cross-programming-model SYCL extension methodology to achieve full SYCL support for SIMD architectures, demonstrated through a comprehensive implementation for the Cambricon MLU platform. Our approach introduces MLU-specific vector programming interfaces while maintaining compatibility with the SYCL standard, enabling seamless integration of SIMD-based accelerators into the SYCL ecosystem. To validate our methodology, we integrated the extended SYCL-MLU implementation into PaddlePaddle’s CINN compiler, achieving a geometric mean performance improvement of 9.14% across representative neural networks, including ResNet, YOLOv3, and BERT. This research significantly broadens the application scope of SYCL in heterogeneous programming and provides a systematic methodology for extending SYCL to other SIMD-based hardware platforms.