intel-LOGO

intel Aan de slag met de oneAPI DPC ++/C++ compiler

intel-Aan de slag-met-de-eneAPI-DPC ++-C++-Compiler-PRODUCT

INLEIDING

De Intel® oneAPI DPC++/C++ Compiler biedt optimalisaties die ervoor zorgen dat uw applicaties sneller werken op Intel® 64-architecturen op Windows* en Linux*, met ondersteuning voor de nieuwste C-, C++- en SYCL-taalstandaarden. Deze compiler produceert geoptimaliseerde code die aanzienlijk sneller kan werken door gebruik te maken van advantage van het steeds toenemende aantal kernen en vectorregisterbreedte in Intel® Xeon®-processors en compatibele processors. De Intel® Compiler helpt u de applicatieprestaties te verbeteren door superieure optimalisaties en Single Instruction Multiple Data (SIMD) vectorisatie, integratie met Intel® Performance Libraries en door gebruik te maken van het OpenMP* 5.0/5.1 parallelle programmeermodel.

De Intel® oneAPI DPC++/C++ Compiler compileert op C++ gebaseerde SYCL*-bron files voor een breed scala aan rekenversnellers.
De Intel® oneAPI DPC++/C++ Compiler maakt deel uit van de Intel® oneAPI Toolkits.

Vind meer

Inhoudsbeschrijving en links
Releaseberichten                                  Bezoek de pagina Release-opmerkingen voor bekende problemen en de meest actuele informatie.

Intel® oneAPI-programmeerhandleiding    Biedt details over de Intel® oneAPI DPC++/C++ compiler

programmeermodel, inclusief details over SYCL* en OpenMP*-offload, programmering voor verschillende doelversnellers en inleidingen op de Intel® oneAPI-bibliotheken.

Intel® oneAPI DPC++/C++                Ontdek Intel® oneAPI DPC++/C++ Compiler-functies en -instellingen en Handleiding voor compiler-ontwikkelaars en          krijg meer gedetailleerde informatie over compileropties, attributen en Referentienummer                                        meer.

oneAPI Code Samp                       Ontdek de nieuwste oneAPI-codesamples.

•               Intel® oneAPI Data Parallel C+      Stel vragen en vind antwoorden in de Intel® oneAPI Data Parallel C+

+ Forum                                      + en Intel® C++ Compiler-forums.

•               Intel® C++ Compiler-forum

 

Intel® oneAPI DPC++/C++                Ontdek zelfstudies, trainingsmateriaal en andere Intel® oneAPI Compiler-documentatie                  DPC++/C++ Compiler-documentatie.

SYCL-specificatie versie 1.2.1       De SYCL-specificatie legt uit hoe SYCL OpenCL-apparaten integreert PDF                                                  met moderne C++.

https://www.khronos.org/sycl/         een overview van SYCL.

De GNU* C++-bibliotheek – Gebruik         De documentatie van de GNU* C++-bibliotheek over het gebruik van dubbele ABI. Dubbele ABI

Lagen voor Yocto* Project                  Voeg oneAPI-componenten toe aan een Yocto-project dat is gebouwd met behulp van de meta-intel

lagen.

Kennisgevingen en disclaimers
Voor Intel-technologieën is mogelijk geactiveerde hardware, software of serviceactivering vereist.

  • Geen enkel product of onderdeel kan absoluut veilig zijn.
  • Uw kosten en resultaten kunnen variëren.

© Intel Corporation. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

Er wordt door dit document geen licentie (uitdrukkelijk of impliciet, door uitsluiting of anderszins) verleend voor intellectuele eigendomsrechten.
De beschreven producten kunnen ontwerpfouten of fouten bevatten die bekend staan ​​als errata, waardoor het product kan afwijken van de gepubliceerde specificaties. Actuele gekarakteriseerde errata zijn op aanvraag verkrijgbaar.

Intel wijst alle uitdrukkelijke en impliciete garanties af, inclusief maar niet beperkt tot de impliciete garanties van verkoopbaarheid, geschiktheid voor een bepaald doel en niet-inbreuk, evenals elke garantie die voortvloeit uit de uitvoering, handelswijze of gebruik in de handel.

Aan de slag met Linux

Voordat je begint

Omgevingsvariabelen instellen
Voordat u de compiler kunt gebruiken, moet u eerst de omgevingsvariabelen instellen door het omgevingsscript te gebruiken met behulp van het initialisatiehulpprogramma. Dit initialiseert alle tools in één stap.

  1. Bepaal uw installatiemap, :
    • a. Als uw compiler op de standaardlocatie is geïnstalleerd door een rootgebruiker of sudo-gebruiker, wordt de compiler geïnstalleerd onder/opt/intel/oneapi. In dit geval, is /opt/intel/oneapi.
    • b. Voor niet-rootgebruikers wordt uw thuismap onder intel/oneapi gebruikt. In dit geval,
      wordt $HOME/intel/oneapi.
    • c. Voor cluster- of enterprise-gebruikers heeft uw beheerdersteam de compilers mogelijk op een gedeeld netwerk geïnstalleerd file systeem. Neem contact op met uw lokale beheerders voor de installatielocatie
      ( ).
  2. Gebruik het script voor het instellen van de omgeving voor uw shell:
    • a. bash: bron /setvars.sh intel64
    • b. csh/tcsh: bron /setvars.csh intel64

Installeer GPU-stuurprogramma's of plug-ins (optioneel)
U kunt oneAPI-applicaties ontwikkelen met C++ en SYCL* die op Intel-, AMD*- of NVIDIA*-GPU's kunnen worden uitgevoerd. Om applicaties voor specifieke GPU's te ontwikkelen en uit te voeren, moet u eerst de bijbehorende stuurprogramma's of plug-ins installeren:

  • Installeer de nieuwste Intel GPU-stuurprogramma's om een ​​Intel GPU te gebruiken.
  • Om een ​​AMD GPU te gebruiken, installeert u de plug-in oneAPI voor AMD GPU's.
  • Om een ​​NVIDIA GPU te gebruiken, installeert u de plug-in oneAPI voor NVIDIA GPU's.

Optie 1: gebruik de opdrachtregel
De Intel® oneAPI DPC++/C++ compiler biedt meerdere stuurprogramma's:

intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-1intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-2

Roep de compiler aan met de volgende syntaxis:
{compiler driver} [optie] file1 [file2...]

Voor exampon:
icpx hallo-wereld.cpp

Gebruik voor SYCL-compilatie de optie -fsycl met het C++-stuurprogramma:
icpx -fsycl hallo-wereld.cpp

NOTITIE: Bij gebruik van -fsycl, wordt -fsycl-targets=spir64 aangenomen, tenzij -fsycl-targets expliciet is ingesteld in de opdracht.
Als u zich richt op een NVIDIA- of AMD-GPU, raadpleegt u de bijbehorende beknopte handleiding voor de GPU-plug-in voor gedetailleerde compilatie-instructies:

  • oneAPI voor NVIDIA GPU's Aan de slag-handleiding
  • oneAPI voor AMD GPU's Handleiding Aan de slag

Optie 2: gebruik de Eclipse* CDT
Volg deze stappen om de compiler aan te roepen vanuit de Eclipse* CDT.

Installeer de Intel® Compiler Eclipse CDT-plug-in.

  1. Eclipse starten
  2. Selecteer Help > Nieuwe software installeren
  3. Selecteer Toevoegen om het dialoogvenster Site toevoegen te openen
  4. Selecteer Archief, blader naar de directory /compiler/ /linux/ide_support, selecteer de .zip file dat begint met com.intel.dpcpp.compiler en selecteer vervolgens OK
  5. Selecteer de opties die beginnen met Intel, selecteer Volgende en volg de installatie-instructies
  6. Wanneer u wordt gevraagd of u Eclipse* opnieuw wilt starten, selecteert u Ja

Bouw een nieuw project of open een bestaand project.

  1. Open een bestaand project of maak een nieuw project op Eclipse
  2. Klik met de rechtermuisknop op Project > Eigenschappen > C/C++ Build > Tool chain Editor
  3. Selecteer Intel DPC++/C++ Compiler in het rechterdeelvenster

Stel build-configuraties in.

  1. Open Bestaand project op Eclipse
  2. Klik met de rechtermuisknop op Project > Eigenschappen > C/C++ Build > Instellingen
  3. Maak of beheer build-configuraties in het rechterpaneel

Bouw een programma vanaf de opdrachtregel
Gebruik de volgende stappen om uw compilerinstallatie te testen en een programma te bouwen.intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-3

  1. Gebruik een teksteditor om een file genaamd hello-world.cpp met de volgende inhoud:
  2. Compileer hello-world.cpp:
    icpx hallo-wereld.cpp -o hallo-wereld
    De optie -o specificeert de file naam voor de gegenereerde uitvoer.
  3. Nu heb je een uitvoerbaar bestand genaamd hello-world dat kan worden uitgevoerd en onmiddellijk feedback zal geven:intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-4

Welke uitgangen?
U kunt de compilatie sturen en controleren met compileropties. Voor bijvample, kunt u het object maken file en voer het laatste binaire bestand in twee stappen uit:

  1. Compileer hello-world.cpp:intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-5De optie -c voorkomt koppelen bij deze stap.
  2. Gebruik de icpx-compiler om de resulterende toepassingsobjectcode te koppelen en een uitvoerbaar bestand uit te voeren:intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-6
    De optie -o specificeert het gegenereerde uitvoerbare bestand file naam. Raadpleeg Compileropties voor details over beschikbare opties.

Aan de slag op Windows

Voordat je begint

Omgevingsvariabelen instellen
De compiler kan worden geïntegreerd in de volgende versies van Microsoft Visual Studio*:

  • Visual Studio 2022
  • Visual Studio 2019
  • Visual Studio 2017

NOTITIE Ondersteuning voor Microsoft Visual Studio 2017 is verouderd vanaf de release van Intel® oneAPI 2022.1 en zal in een toekomstige release worden verwijderd.

Voor volledige functionaliteit binnen Visual Studio, inclusief foutopsporing en ontwikkeling, is Visual Studio Community Edition of hoger vereist. Visual Studio Express Edition staat alleen builds via de opdrachtregel toe. Voor alle versies moet ondersteuning voor Microsoft C++ worden geselecteerd als onderdeel van de installatie van Visual Studio. Voor Visual Studio 2017 en hoger moet u een aangepaste installatie gebruiken om deze optie te selecteren.
U hoeft de omgevingsvariabelen in Windows meestal niet in te stellen, aangezien het opdrachtregelvenster van de compiler deze variabelen automatisch voor u instelt. Als u de omgevingsvariabelen moet instellen, voert u het omgevingsscript uit zoals beschreven in de suitespecifieke Aan de slag-documentatie.
De standaard installatiemap ( ) is C:\Programma Files (x86)\Intel\oneAPI.

GPU-stuurprogramma's installeren (optioneel)
Om applicaties voor Intel GPU's te ontwikkelen en uit te voeren, moet u eerst de nieuwste Intel GPU-stuurprogramma's installeren.

Optie 1: gebruik de opdrachtregel in Microsoft Visual Studio

De Intel® oneAPI DPC++/C++ compiler biedt meerdere stuurprogramma's:intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-7intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-8

Roep de compiler aan met de volgende syntaxis:intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-9

Om de compiler aan te roepen met behulp van de opdrachtregel vanuit Microsoft Visual Studio, opent u een opdrachtprompt en voert u uw compilatieopdracht in. Voor bijvampon:intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-10

Gebruik voor SYCL-compilatie de optie -fsycl met het C++-stuurprogramma:intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-11

NOTITIE: Bij gebruik van -fsycl, wordt -fsycl-targets=spir64 aangenomen, tenzij -fsycl-targets expliciet is ingesteld in de opdracht.

Optie 2: gebruik Microsoft Visual Studio
Projectondersteuning voor de Intel® DPC++/C++ compiler in Microsoft Visual Studio
Nieuwe Microsoft Visual Studio-projecten voor DPC++ worden automatisch geconfigureerd om de Intel® oneAPI DPC++/C++-compiler te gebruiken.
Nieuwe Microsoft Visual C++* (MSVC) projecten moeten handmatig worden geconfigureerd om de Intel® oneAPI DPC++/C++ Compiler te gebruiken.

NOTITIE: NET-gebaseerde CLR C++-projecttypen worden niet ondersteund door de Intel® oneAPI DPC++/C++ Compiler. De specifieke projecttypes zijn bijvoorbeeld afhankelijk van uw versie van Visual Studioample: CLR Class Library, CLR Console App of CLR Empty Project.

Gebruik de Intel® DPC++/C++ compiler in Microsoft Visual Studio
Exacte stappen kunnen variëren, afhankelijk van de gebruikte versie van Microsoft Visual Studio.

  1. Maak een Microsoft Visual C++ (MSVC)-project of open een bestaand project.
  2. Selecteer in Solution Explorer de projecten die u wilt bouwen met de Intel® oneAPI DPC++/C++ Compiler.
  3. Open Project > Eigenschappen.
  4. Vouw in het linkerdeelvenster de categorie Configuratie-eigenschappen uit en selecteer de pagina Algemene eigenschappen.
  5. Wijzig in het rechterdeelvenster de Platform Toolset in de compiler die u wilt gebruiken:
    • Voor C++ met SYCL selecteert u Intel® oneAPI DPC++ Compiler.
    • Voor C/C++ zijn er twee toolsets.
      Selecteer Intel C++-compiler (example 2021) om icx aan te roepen.
      Selecteer Intel C++-compiler (example 19.2) om een ​​beroep te doen op icl.
      U kunt ook een compilerversie specificeren als de toolset voor alle ondersteunde platforms en configuraties van het/de geselecteerde project(en) door Project > Intel Compiler > Use Intel oneAPI DPC++/C++ Compiler te selecteren.
  6. Opnieuw opbouwen, met behulp van Build > Project only > Rebuild voor een enkel project of Build > Rebuild Solution voor een oplossing.

Selecteer Compilerversie
Als u meerdere versies van de Intel® oneAPI DPC++/C++ Compiler hebt geïnstalleerd, kunt u selecteren welke versie u wilt in het dialoogvenster Compiler selecteren:

  1. Selecteer een project en ga naar Extra > Opties > Intel-compilers en bibliotheken > > Samenstellers, waar waarden zijn C++ of DPC++.
  2. Gebruik het vervolgkeuzemenu Geselecteerde compiler om de juiste versie van de compiler te selecteren.
  3. Selecteer OK.

Schakel terug naar de Microsoft Visual Studio C++ Compiler
Als uw project gebruikmaakt van de Intel® oneAPI DPC++/C++-compiler, kunt u ervoor kiezen om terug te schakelen naar de Microsoft Visual C++-compiler:

  1. Selecteer uw project in Microsoft Visual Studio.
  2. Klik met de rechtermuisknop en selecteer Intel Compiler > Use Visual C++ in het contextmenu.

Met deze actie wordt de oplossing bijgewerkt file om de Microsoft Visual Studio C++-compiler te gebruiken. Alle configuraties van betrokken projecten worden automatisch opgeschoond, tenzij u Project(en) niet opschonen selecteert. Als u ervoor kiest om projecten niet op te schonen, moet u geüpdatete projecten opnieuw opbouwen om zeker te zijn van alle bronnen files zijn gecompileerd met de nieuwe compiler.

Bouw een programma vanaf de opdrachtregel
Gebruik de volgende stappen om uw compilerinstallatie te testen en een programma te bouwen.

  1. Gebruik een teksteditor om een file genaamd hello-world.cpp met de volgende inhoud:
    #erbij betrekken int main() std::cout << “Hallo wereld!\n”; geef 0 terug;
  2. Compileer hello-world.cpp:
    icx hallo-wereld.cpp
  3. Nu heb je een uitvoerbaar bestand met de naam hello-world.exe dat kan worden uitgevoerd en onmiddellijk feedback zal geven:
    hallo-wereld.exe

Welke outputs:
Hallo Wereld!

U kunt de compilatie sturen en controleren met compileropties. Voor bijvample, kunt u het object maken file en voer het laatste binaire bestand in twee stappen uit:

  1.  Compileer hello-world.cpp:
    icx hallo-wereld.cpp /c /Fohello-wereld.obj
    De optie /c verhindert koppeling bij deze stap en /Fo specificeert de naam voor het object file.
  2. Gebruik de icx-compiler om de resulterende objectcode van de toepassing te koppelen en een uitvoerbaar bestand uit te voeren:
    icx hallo-wereld.obj /Fehello-wereld.exe
  3. De optie /Fe specificeert het gegenereerde uitvoerbare bestand file naam. Raadpleeg Compileropties voor details over beschikbare opties.

Compileer en voer Sampde code

Meerdere code'sampEr worden bestanden geleverd voor de Intel® oneAPI DPC++/C++ compiler, zodat u de functies van de compiler kunt verkennen en vertrouwd kunt raken met de werking ervan. Voor bijvampon:

intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-17intel-Ga aan de slag met-de-eneAPI-DPC ++-C++-Compiler-FIG-18

Volgende stappen

  • Gebruik de nieuwste oneAPI Code Sampbestanden en volg samen met de Intel® oneAPI Training Resources.
  • Verken de Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference in de Intel® Developer Zone.

Documenten / bronnen

intel Aan de slag met de oneAPI DPC ++/C++ compiler [pdf] Gebruikershandleiding
Aan de slag met de oneAPI DPC C-compiler Aan de slag met de oneAPI DPC C-compiler

Referenties

laat een reactie achter

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