Intel heeft een open source tool vrijgegeven om code te migreren naar SYCL1 via een project genaamd SYCLomatic, dat ontwikkelaars helpt om CUDA code gemakkelijker te porten naar SYCL en C++ om cross-architecture programmeren voor heterogene architecturen te versnellen. Dit open-source project maakt samenwerking in de gemeenschap mogelijk om de SYCL-standaard verder ingang te doen vinden, een belangrijke stap in het bevrijden van ontwikkelaars van een propriëtair ecosysteem van één leverancier. Terwijl hardware-innovatie heeft geleid tot een gevarieerd heterogeen architectuurlandschap voor computers, is software-ontwikkeling steeds complexer geworden, waardoor het moeilijk is om volledig te profiteren van CPU's en versnellers.

De ontwikkelaars van vandaag en hun teams zitten krap in hun tijd, geld en middelen om code te herschrijven en te testen om de prestaties van toepassingen voor deze verschillende architecturen op te voeren. Ontwikkelaars zoeken naar open alternatieven die de time-to-value verbeteren, en Intel biedt een eenvoudiger, korter pad om hardwarekeuze mogelijk te maken. SYCL, een C++-gebaseerde standaard van de Khronos Group, breidt de C++-mogelijkheden uit om multi-architectuur en disjuncte geheugenconfiguraties te ondersteunen.

Om dit project te starten heeft Intel de technologie achter zijn DPC++ Compatibility Tool open-sourced om de migratiemogelijkheden voor het produceren van meer SYCL-gebaseerde toepassingen verder te bevorderen. Hergebruik van code voor verschillende architecturen vereenvoudigt de ontwikkeling en vermindert de tijd en de kosten voor het onderhoud van de code. Gebruikmakend van de Apache 2.0 licentie met LLVM uitzondering, biedt het SYCLomatic project, gehost op GitHub, een gemeenschap voor ontwikkelaars om bij te dragen en feedback te geven voor verdere open heterogene ontwikkeling over CPU's, GPU's en FPGA's.

Hoe het SYCLomatic gereedschap werkt: SYCLomatic helpt ontwikkelaars bij het porten van CUDA-code naar SYCL, waarbij doorgaans 90-95% van de CUDA-code automatisch naar SYCL-code wordt gemigreerd2. Om het proces te voltooien, voltooien de ontwikkelaars de rest van de codering handmatig en stemmen dan af op het gewenste prestatieniveau voor de architectuur. Hoe het gebruik van codemigratie werkt: Onderzoeksorganisaties en Intel-klanten hebben met succes de Intel® DPC++ Compatibility Tool gebruikt, die over dezelfde technologieën beschikt als SYCLomatic, om CUDA-code naar SYCL (of Data Parallel C++, oneAPI's implementatie van SYCL) te migreren op de architecturen van meerdere verkopers.

Voorbeelden zijn de Universiteit van Stockholm met GROMACS 20223, het Zuse Institute Berlin (ZIB) met easyWave, Samsung Medison en Bittware (zie de inhoud van oneAPI DevSummit voor meer voorbeelden). Meerdere klanten testen ook code op huidige en toekomstige GPU's op basis van Intel® Xe-architectuur, waaronder de Aurora-supercomputer van Argonne National Laboratory, het Leibniz Supercomputing Centre (LRZ) en GE Healthcare.