intel DPC++ compatibiliteitstool

Ga aan de slag met de Intel® DPC+ + Compatibiliteitstool
De Intel® DPC++ Compatibility Tool helpt bij de migratie van een ontwikkelaarsprogramma dat is geschreven in CUDA* naar een programma geschreven in Data Parallel C++ (DPC++), dat is gebaseerd op modern C++ en draagbare industriestandaarden zoals SYCL* bevat.
- Bezoek de Intel® DPC++ Compatibility Tool Developer Guide and Reference voor aanvullende informatie over de tool.
- Bezoek de Release Notes voor bekende problemen en de meest actuele informatie.
OPMERKING Het gebruik van de Intel® DPC++ Compatibility Tool zal resulteren in een project dat niet volledig wordt gemigreerd. Er is extra werk nodig, zoals beschreven in de uitvoer van de Intel® DPC++ Compatibility Tool, om de migratie te voltooien.
Voordat u begint
De Intel® DPC++ Compatibiliteitstool is opgenomen in de Intel® oneAPI Base Toolkit. Als u de Intel® oneAPI Base Toolkit niet hebt geïnstalleerd, volgt u de instructies in de installatiehandleiding.
Bepaalde CUDA-header files (specifiek voor uw project) moeten mogelijk toegankelijk zijn voor de Intel® DPC++
Compatibiliteitstool. De Intel® DPC++ Compatibiliteitstool zoekt naar deze CUDA-header files op de standaardlocaties:
- /usr/local/cuda/include
- /usr/local/cuda-xy/include, waarbij xy een van deze waarden is: 8.0, 9.x, 10.x en 11.0–11.6.
U kunt naar aangepaste locaties verwijzen door ernaar te verwijzen met de –cuda-include-path= optie op de Intel® DPC++ Compatibility Tool-opdrachtregel.
OPMERKING Het CUDA-include-pad mag niet hetzelfde zijn als, of een onderliggend pad zijn van, de map waar de broncode die moet worden gemigreerd zich bevindt.
Momenteel ondersteunt de Intel® DPC++ Compatibility Tool de migratie van programma's die zijn geïmplementeerd met CUDA-versies 8.0, 9.x, 10.x en 11.0–11.6. De lijst met ondersteunde talen en versies kan in de toekomst worden uitgebreid.
Voer het volgende uit om de Intel® DPC++ Compatibility Tool-omgeving in te stellen:
- Op Linux (sudo): bron /opt/intel/oneapi/setvars.sh
- Op Linux (gebruiker): bron ~/intel/oneapi/setvars.sh
- Op Windows :Station:\ Programma Files (x86)\Intel\oneAPI\setvars.bat
De algemene aanroepsyntaxis van de shell van het besturingssysteem is:
| dpct [opties] [ … ] |
OPMERKING c2s is een alias voor het dpct-commando en kan in plaats daarvan worden gebruikt.
Ingebouwde gebruiksinformatie
Gebruik –help om de lijst met Intel® DPC++ Compatibility Tool-specifieke opties te bekijken:
| dpct –help |
Om de lijst met taalparseropties (Clang*) te zien, geeft u -help door als de Clang-optie:
| dpct — -help |
Uitgezonden waarschuwingen
De Intel® DPC++ Compatibility Tool identificeert de plaatsen in de code die mogelijk uw aandacht vereisen tijdens de migratie van de files om de code SYCL-compatibel of correct te maken.
Opmerkingen worden in de gegenereerde bron ingevoegd files en weergegeven als waarschuwingen in de uitvoer. Bijvoorbeeldampon:
| /pad/naar/file.hpp:26:1: waarschuwing: DPCT1003:0: Gemigreerde API retourneert geen foutcode. (*,0) wordt ingevoegd. Mogelijk moet u deze code herschrijven. // broncoderegel waarvoor een waarschuwing is gegenereerd ^ |
Voor meer informatie over wat een specifieke waarschuwing betekent, raadpleegt u de Diagnostische referentie.
Raadpleeg de Diagnostic Reference voor meer informatie over wat een specifieke waarschuwing betekent.
Migreer een eenvoudig testproject
De Intel® DPC++ Compatibiliteitstool wordt geleverd met verschillende sample projecten zodat u de tool kunt verkennen en vertrouwd kunt raken met de werking ervan:
| Samphet project | Beschrijving |
Vector DPCT toevoegen
|
De vector Voeg DPCT's toeample laat zien hoe je een eenvoudig programma van CUDA naar SYCL migreert. Vector Add biedt een eenvoudige manier om te verifiëren dat uw ontwikkelomgeving correct is ingesteld voor het gebruik van de Intel® DPC++ Compatibility Tool. |
Mapopties DPCT
|
De mapopties DPCT sample laat zien hoe u complexere projecten kunt migreren en hoe u opties kunt gebruiken. |
Rodinia NW DPCT
|
De Rodinia NW DPCT'sample laat zien hoe u een Make/CMake-project van CUDA naar SYCL migreert met behulp van de Intel® DPC++ Compatibility Tool. |
Review de README file voorzien van elke sample voor meer gedetailleerde informatie over het doel en het gebruik van de samphet project.
Om toegang te krijgen tot de sampde
- gebruik het oneapi-cli hulpprogramma om te selecteren alsampbestand uit de categorie Intel® DPC++ Compatibility Tool, of
- download de samples van GitHub*.
Voor meer gedetailleerde informatie over het downloaden en openen van de sampga naar de Intel® oneAPI Base Toolkit Get Started Guides:
- Handleiding aan de slag met de Intel® oneAPI Base Toolkit voor Windows*
- Ga aan de slag met de Intel® oneAPI Base Toolkit voor Linux*
- Aan de slag met de Intel® oneAPI Base Toolkit voor macOS*
Probeer een Samphet project
Volg deze stappen om de Vector Add DPCT's te migrerenampbestandsproject met behulp van de Intel® DPC++ Compatibiliteitstool:
- Download de vector_add.cu sampik.
- Voer de Intel® DPC++ Compatibility Tool uit vanaf de sample root-map:
dpct –in-root=. src/vector_add.cu De vector_add.dp.cpp file zou moeten verschijnen in de map dpct_output. De file is nu een SYCLsource file.
- Navigeer naar de nieuwe SYCL-bron file:
| cd dpct_output |
Controleer de gegenereerde broncode en repareer eventuele code die de Intel® DPC++ Compatibility Tool niet kon migreren. (De code die in dit voorbeeld wordt gebruiktampbestand is eenvoudig, dus handmatige wijzigingen zijn mogelijk niet nodig). Voor de meest nauwkeurige en gedetailleerde instructies over het omgaan met waarschuwingen die worden uitgezonden door de Intel® DPC++ Compatibility Tool, zie het gedeelte Waarschuwingen aanpakken in gemigreerde code van de LEESMIJ files.
OPMERKING Om de gemigreerde sample, voeg -I/include toe aan uw compileeropdracht.
Voor complexere sampde instructies, zie de Een project migreren sectie van de Intel® DPC++ Compatibility Tool Developer Guide and Reference.
Vind meer
| Inhoud | Beschrijving |
| Intel® DPC++-compatibiliteit | Gedetailleerd overview van Intel® DPC++ Compatibility Tool-functies, workflow en gebruik. |
| Op aanvraag Webinar: | Hoe CUDA-code naar Data Parallel C++ (DPC++) te migreren met behulp van de Intel® DPC++ Compatibility Tool, een eenmalige migratie-engine die zowel kernels als API-aanroepen porteert. |
| Installatiehandleidingen voor Intel® | Gedetailleerde instructies over hoe u Intel® oneAPI-pakketten kunt verkrijgen en installeren met behulp van verschillende installatiemodi en pakketbeheerders. |
| SYCL-specificatieversie | De SYCL-specificatie-pdf. Legt uit hoe SYCL OpenCL-apparaten integreert met moderne C++. |
| SYCL 2020-specificatie | De SYCL 2020-specificatie-pdf. |
| Khronos* SYCL voorbijview | Een overview van SYCL geleverd door de Khronos Group. |
| CUDA compileren met gekletter | Beschrijving van CUDA-ondersteuning in clang. |
| Intel LLVM SYCL-extensies | Voorgestelde uitbreidingen van de SYCL-specificatie. |
| Lagen voor Yocto*-project | Voeg één API-component toe aan een Yocto-projectbuild met behulp van de meta-intel-lagen. |

Documenten / Bronnen
![]() |
intel DPC++ compatibiliteitstool [pdf] Gebruikershandleiding DPC-compatibiliteitstool, compatibiliteitstool, tool |




