Multiple customers are also testing code on current and upcoming Intel® Iris® X e architecture-based GPUs, including the Argonne National Laboratory Aurora supercomputer, Leibniz Supercomputing Centre (LRZ), GE Healthcare*, and others. Examples include the University of Stockholm with GROMACS 2022, Zuse Institute Berlin (ZIB) with easyWave, Samsung Medison and Bittware (view oneAPI DevSummit content for more examples). Research organizations and Intel customers have successfully used the Intel DPC++ Compatibility Tool, which has the same technologies as SYCLomatic, to migrate CUDA code to SYCL (or Data Parallel C++, oneAPI’s implementation of SYCL) on multiple vendors’ architectures. 1 To finish the process, developers complete the rest of the coding manually and then tune to the desired level of performance for the target architecture ( Figure 1).įigure 1. SYCLomatic assists developers in porting CUDA code to SYCL, typically migrating 90-95% of CUDA code automatically to SYCL code. Improvements made to SYCLomatic will also be incorporated in the Intel DPC++ Compatibility Tool product. This open-source project enables community collaboration to advance adoption of the SYCL standard, a key step in freeing developers from a single-vendor proprietary ecosystem. Developers are encouraged to use the tool and provide feedback and contributions to advance the tool’s evolution. The GitHub portal includes a “contributing.md” guide describing the steps for technical contributions to the project. Utilizing the Apache* 2.0 license with LLVM exception, the SYCLomatic project hosted on GitHub offers a community for developers to contribute and provide feedback to further open heterogeneous development across CPUs, GPUs and FPGAs. One of those organizations was Argonne National Laboratory. In response to developer requests, the compatibility tool has now been released as an open-source project under the name “SYCLomatic.” Many organizations have successfully used the tool, and some also wanted to enhance and customize its capabilities to tune it to their needs. This tool is included in the Intel® oneAPI Base Toolkit and supported by Intel technical consulting engineers. We’ve previously published articles on using the Intel® DPC++ Compatibility Tool to migrate CUDA to SYCL. To make it easier to adopt SYCL, developers may want to migrate their existing CUDA* GPU code so they don’t have to start their SYCL development from a blank page. SYCL*, a C++-based Khronos Group standard, addresses these challenges by extending C++ capabilities to support multiarchitecture and disjoint memory configurations. It must boost developer productivity while providing consistent performance across architectures. They need a high-level, open standard, heterogeneous programming language that’s both built on standards and extensible. To achieve high performance and efficient developer productivity across CPU, GPU, FPGA, and other architectures, developers need a unified programming model that enables them to select the optimal hardware for the task at hand.
0 Comments
Leave a Reply. |