SYCLomatic: an Open-Source Migration Tool for CUDA to SYCL

SYCLomatic: an Open-Source Migration Tool for CUDA to SYCL

In the rapidly evolving world of heterogeneous computing, developers face the challenge of achieving high performance and efficient productivity across various hardware architectures. To address this need, a unified programming model is crucial, enabling developers to select the optimal hardware for their tasks. SYCL*, a C++-based Khronos Group standard, provides a solution by extending C++ capabilities to support multiarchitecture and disjoint memory configurations. In this article, we'll explore the recent release of the open-source project SYCLomatic, a migration tool that facilitates the transition of CUDA* GPU code to SYCL.


Unified Programming for Optimal Hardware Selection:

To maximize developer productivity and performance, a high-level, open standard, and extensible programming language is essential. SYCLomatic, built on SYCL, provides developers with the tools to migrate their existing CUDA code seamlessly. By leveraging the Intel? DPC++ Compatibility Tool, which is now open-source under the name SYCLomatic, developers can avoid starting their SYCL development from scratch. This compatibility tool is part of the Intel? oneAPI Base Toolkit and benefits from the support of Intel technical consulting engineers.


Enhancing Migration Capabilities:

Recognizing the diverse needs of developers, the SYCLomatic project offers customization and enhancement options. By providing a robust solution to integrate with existing projects, organizations like Argonne National Laboratory have already successfully utilized SYCLomatic for their N-body cosmological simulation code, CRK-HACC. In addition to the existing migration options, the open-source nature of SYCLomatic allows for the inclusion of functors, enabling developers to further tailor their migration process.


Collaborative Development and Community Contributions:

SYCLomatic, released under the Apache* 2.0 license with LLVM exception, fosters a collaborative community on GitHub. By hosting the project on this platform, developers have the opportunity to contribute, provide feedback, and advance heterogeneous development across CPUs, GPUs, and FPGAs. A "contributing.md" guide is available, outlining the steps for technical contributions to the project. This open-source initiative aims to break free from single-vendor proprietary ecosystems and promote the widespread adoption of the SYCL standard.


The Workflow of SYCLomatic:

SYCLomatic simplifies the migration process by automatically converting 90-95% of CUDA code to SYCL code. Developers then have the flexibility to manually complete the remaining coding and fine-tune it for their target architecture. The tool acts as a powerful aid, reducing the burden of rewriting code from scratch and enabling faster adoption of SYCL in heterogeneous computing environments.


No alt text provided for this image
Source: Intel Corporation


Successful Migrations and Growing Ecosystem:

Numerous research organizations and Intel customers have already benefited from the Intel DPC++ Compatibility Tool, which shares its technologies with SYCLomatic. Successful migrations of CUDA code to SYCL have been achieved on multiple vendors' architectures. Examples include GROMACS 2022 at the University of Stockholm, easyWave at Zuse Institute Berlin (ZIB), and implementations by Samsung Medison and Bittware. Several customers are also testing code on Intel? Iris? Xe architecture-based GPUs, including prominent institutions like Argonne National Laboratory, Leibniz Supercomputing Centre (LRZ), and GE Healthcare*.



The SYCLomatic project, as an open-source migration tool for CUDA to SYCL, provides developers with an efficient and streamlined path to harness the power of heterogeneous computing. By leveraging the strengths of SYCL, developers can achieve high performance and efficient productivity across various hardware architectures. The collaborative nature of the project allows for community contributions, ensuring continuous improvement and customization to meet diverse development needs. As the adoption of the SYCL standard expands, SYCLomatic plays a pivotal role in driving the evolution of open, unified programming models and accelerating the development of cutting-edge applications. Embrace the power of SYCLomatic today and be part of the thriving heterogeneous computing ecosystem.

Shriram Vasudevan (FIE, FIETE,SMIEEE)

TedX speaker|Intel|CSPO,CSM |AI Engineering Leader| GenAI | Ex. PM at LTTS | 50 +Hacks winner|14 patents |Author 47 Books |Intel Innovator |YouTuber| Dev Ambassador |NVIDIA certified | NASSCOM Prime Amb |ACM Dis Speaker

1 年

Excellent article

要查看或添加评论,请登录

Arun GK的更多文章

社区洞察

其他会员也浏览了