intel Aan de slag met de oneAPI DPC ++/C++ compiler
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® 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.
- 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
( ).
- 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:
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.
- Eclipse starten
- Selecteer Help > Nieuwe software installeren
- Selecteer Toevoegen om het dialoogvenster Site toevoegen te openen
- 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
- Selecteer de opties die beginnen met Intel, selecteer Volgende en volg de installatie-instructies
- Wanneer u wordt gevraagd of u Eclipse* opnieuw wilt starten, selecteert u Ja
Bouw een nieuw project of open een bestaand project.
- Open een bestaand project of maak een nieuw project op Eclipse
- Klik met de rechtermuisknop op Project > Eigenschappen > C/C++ Build > Tool chain Editor
- Selecteer Intel DPC++/C++ Compiler in het rechterdeelvenster
Stel build-configuraties in.
- Open Bestaand project op Eclipse
- Klik met de rechtermuisknop op Project > Eigenschappen > C/C++ Build > Instellingen
- 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.
- Gebruik een teksteditor om een file genaamd hello-world.cpp met de volgende inhoud:
- Compileer hello-world.cpp:
icpx hallo-wereld.cpp -o hallo-wereld
De optie -o specificeert de file naam voor de gegenereerde uitvoer. - Nu heb je een uitvoerbaar bestand genaamd hello-world dat kan worden uitgevoerd en onmiddellijk feedback zal geven:
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:
- Compileer hello-world.cpp:
De optie -c voorkomt koppelen bij deze stap.
- Gebruik de icpx-compiler om de resulterende toepassingsobjectcode te koppelen en een uitvoerbaar bestand uit te voeren:
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:
Roep de compiler aan met de volgende syntaxis:
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:
Gebruik voor SYCL-compilatie de optie -fsycl met het C++-stuurprogramma:
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.
- Maak een Microsoft Visual C++ (MSVC)-project of open een bestaand project.
- Selecteer in Solution Explorer de projecten die u wilt bouwen met de Intel® oneAPI DPC++/C++ Compiler.
- Open Project > Eigenschappen.
- Vouw in het linkerdeelvenster de categorie Configuratie-eigenschappen uit en selecteer de pagina Algemene eigenschappen.
- 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.
- 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:
- Selecteer een project en ga naar Extra > Opties > Intel-compilers en bibliotheken > > Samenstellers, waar waarden zijn C++ of DPC++.
- Gebruik het vervolgkeuzemenu Geselecteerde compiler om de juiste versie van de compiler te selecteren.
- 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:
- Selecteer uw project in Microsoft Visual Studio.
- 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.
- 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; - Compileer hello-world.cpp:
icx hallo-wereld.cpp - 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:
- 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. - 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 - 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:
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
-
Intel® C++-compiler - Intel-gemeenschappen
-
Intel® oneAPI Data Parallel C++ - Intel-gemeenschappen
-
Handleiding Aan de slag - Gidsen - oneAPI voor AMD GPU's (bèta) - Producten - Codeplay Developer
-
Handleiding Aan de slag - Handleidingen - oneAPI voor NVIDIA® GPU's - Producten - Codeplay Developer
-
Installatiehandleidingen — Documentatie over Intel®-software voor algemene GPU-mogelijkheden
-
Dubbele ABI
-
GitHub - oneapi-src/oneAPI-sampminderampbestanden voor Intel® oneAPI Toolkits
-
oneAPI-samples/DirectProgramming/C++/CompilerInfrastructure/OpenMP_Offload_Features bij master · oneapi-src/oneAPI-samples · GitHub
-
oneAPI-samples/DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/anr bij master · oneapi-src/oneAPI-samples · GitHub
-
oneAPI-samples/DirectProgramming/C++SYCL/DenseLinearAlgebra/matrix_mul bij master · oneapi-src/oneAPI-samples · GitHub
-
oneAPI-samples/DirectProgramming/C++SYCL/DenseLinearAlgebra/vector-add at master · oneapi-src/oneAPI-samples · GitHub
-
Intel® oneAPI Toolkits DPC++/C++ Compiler Releaseopmerkingen
-
Intel® oneAPI DPC++/C++ Compiler Developer Guide en Reference
-
Intel® oneAPI-programmeerhandleiding
-
Intel® oneAPI Base Toolkit: essentiële oneAPI-tools en -bibliotheken
-
Trainingsbronnen voor Intel® oneAPI
-
OneAPI-componenten toevoegen aan Yocto*-projectbuilds
-
Intel® oneAPI DPC++/C++ Compiler Developer Guide en Reference
-
Compiler-opties
-
Intel® oneAPI DPC++/C++ Compiler-documentatie
-
SYCL voorbijview - De Khronos Group Inc