intel DPC++ compatibiliteitstool 

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
  • vector_add.cu
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
  • hoofd.cu
  • bar/util.cu
  • bar/util.h
De mapopties DPCT sample laat zien hoe u complexere projecten kunt migreren en hoe u opties kunt gebruiken.
Rodinia NW DPCT
  • naald.cu
  • naald.h
  • naald_kernel.cu
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:

Probeer een Samphet project 

Volg deze stappen om de Vector Add DPCT's te migrerenampbestandsproject met behulp van de Intel® DPC++ Compatibiliteitstool:

  1. Download de vector_add.cu sampik.
  2. 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.

  3. 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

Handleiding voor toolontwikkelaars en

Referentie

Gedetailleerd overview van Intel® DPC++ Compatibility Tool-functies, workflow en gebruik.
Op aanvraag Webinar:

Uw bestaande CUDA migreren

Codeer naar DPC++-code

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®

oneAPI-toolkits

Gedetailleerde instructies over hoe u Intel® oneAPI-pakketten kunt verkrijgen en installeren met behulp van verschillende installatiemodi en pakketbeheerders.
SYCL-specificatieversie

1.2.1 PDF

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.

intel-logo

Documenten / Bronnen

intel DPC++ compatibiliteitstool [pdf] Gebruikershandleiding
DPC-compatibiliteitstool, compatibiliteitstool, tool

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *