Intel Brings SYCL to Nvidia’s CUDA with Migration Tool
After years of false starts and delays with various products, we’re finally at a point where Intel will really begin to test the extent of its heterogeneous computing strategy, thanks to the release of Intel’s new Gaudi2 machine learning chips. and the upcoming launch of its highly anticipated “Ponte Vecchio” GPU that will power Argonne National Laboratory’s “Aurora” exascale supercomputer.
But if Intel hopes to compete with the growth engine that is Nvidia’s accelerated computing business and prove that these new products won’t disappear like previous acceleration efforts, it will have to convince countless developers and show that it has a better programming model than CUDA, Nvidia’s proprietary parallel programming environment that helped the GPU giant capture a significant share of the accelerated computing market.
Enter oneAPI, Intel’s cross-platform parallel programming model that aims to simplify development on a wide range of compute engines: CPUs, GPUs, FPGAs and other types of processors, even those of competitors. The effort, which Intel built as an open standard, comes with a variety of toolkits, serving applications that are important to readers of the Next Platform, such as high-performance computing, deep learning and AI analytics, as well as other areas, such as rendering and the Internet of Things.
There’s a lot Intel needs to do with OneAPI if the chipmaker wants its multi-pronged compute strategy to work the same kind of magic that Nvidia conjured up with CUDA, and the first thing it needs is a easy way for developers to port code from CUDA.
Intel ramped up its CUDA migration efforts this month by open source technologies powering the Intel DPC++ Compatibility Tool, which is used to move code from CUDA to OneAPI’s Data Parallel C++ language. But rather than consolidating developers into OneAPI, the new open-source tool, called SYCLomatic, simply focuses on moving that code to SYCL, the royalty-free cross-architecture programming abstraction layer that underpins the Intel’s parallel compatible C++ implementation.
Knowing full well that Nvidia built its empire with a walled garden approach, Intel is positioning the SYCLomatic as a community effort that will strengthen support for SYCL developers faster and for free “from a proprietary, single-vendor ecosystem.” The company says it will achieve this by giving them a “simpler, shorter route to enable hardware choice.”
What Intel means by this is that SYCLomatic, which is hosted on GitHub with an Apache 2.0 license, can automatically port up to 95% of CUDA code before developers have to step in and make manual tweaks to get applications running at their optimal level on their architecture of choice.
One organization considering leveraging SYCLomatic is none other than Argonne National Laboratory, which plans to use the open source tool to fill in the gaps of the Intel DPC++ compatibility tool to prepare cosmological simulation code CRK-HACC under development for the Aurora supercomputer. , which is expected to go live later this year.
“To prepare for Aurora, the Intel DPC++ Compatibility Tool allowed us to quickly migrate more than 20 cores to SYCL,” said Esteban Rangel, computer scientist at Argonne. “Since the current version of the code migration tool does not support migration to functors, we wrote a simple clang tool to refactor the resulting SYCL source code to suit our needs. With the open-source SYCLomatic project, we plan to integrate our previous work for a more robust solution and help integrate functors into the available migration options.
Intel may have a long way to go to win the minds of Nvidia developers, but at least it shows there is another way to build a software ecosystem for our brave new world of computing. Or more precisely, it does exactly what AMD did with the HIP tool for its ROCm environment to port CUDA to its own Instinct GPU accelerators.
Subscribe to our newsletter
With highlights, analysis and stories of the week straight from us to your inbox, with nothing in between.