Intel-LOGO

intel Inizia con il compilatore oneAPI DPC ++/C++

Intel-Inizia-a-con-il-compilatore-oneAPI-DPC ++-C++-PRODOTTO

INTRODUZIONE

Il compilatore Intel® oneAPI DPC++/C++ fornisce ottimizzazioni che consentono alle applicazioni di funzionare più velocemente su architetture Intel® 64 su Windows* e Linux*, con supporto per i più recenti standard di linguaggio C, C++ e SYCL. Questo compilatore produce codice ottimizzato che può essere eseguito molto più velocemente prendendo advantage del numero di core e dell'ampiezza del registro vettoriale in costante aumento nei processori Intel® Xeon® e nei processori compatibili. Il compilatore Intel® vi aiuterà a potenziare le prestazioni delle applicazioni grazie a ottimizzazioni superiori e alla vettorizzazione SIMD (Single Instruction Multiple Data), all'integrazione con le Intel® Performance Libraries e sfruttando il modello di programmazione parallela OpenMP* 5.0/5.1.

Il compilatore Intel® oneAPI DPC++/C++ compila l'origine SYCL* basata su C++ files per una vasta gamma di acceleratori di calcolo.
Il compilatore Intel® oneAPI DPC++/C++ fa parte dei toolkit Intel® oneAPI.

Scopri di più

Descrizione del contenuto e collegamenti
Note di rilascio                                  Visita la pagina delle note di rilascio per i problemi noti e le informazioni più aggiornate.

Guida alla programmazione Intel® oneAPI    Fornisce dettagli sul compilatore Intel® oneAPI DPC++/C++

modello di programmazione, inclusi dettagli sull'offload SYCL* e OpenMP*, programmazione per vari acceleratori di destinazione e introduzioni alle librerie Intel® oneAPI.

Intel® oneAPI DPC++/C++                Esplora le funzionalità e la configurazione del compilatore Intel® oneAPI DPC++/C++ e Guida per sviluppatori del compilatore e          ottenere informazioni più dettagliate sulle opzioni del compilatore, attributi e Riferimento                                        Di più.

codice oneAPI Samples                      Esplora gli ultimi codici oneAPIampmeno.

•               Dati Intel® oneAPI parallela C+      Poni domande e trova risposte in Intel® oneAPI Data Parallel C+

+ Foro                                      + e forum del compilatore Intel® C++.

•               Forum del compilatore Intel® C++

 

Intel® oneAPI DPC++/C++                Esplora tutorial, materiali di formazione e altro Intel® oneAPI Documentazione del compilatore                  Documentazione del compilatore DPC++/C++.

Specifica SYCL Versione 1.2.1       La specifica SYCL spiega come SYCL integra i dispositivi OpenCL Il PDF è in inglese.                                                  con il moderno C++.

https://www.khronos.org/sycl/         Un oltreview di SICL.

La libreria GNU* C++ – Uso di         La documentazione della libreria GNU* C++ sull'uso della doppia ABI. Doppia ABI

Strati per il progetto Yocto*                  Aggiungi componenti oneAPI a una build del progetto Yocto utilizzando il meta-intel

strati.

Avvisi e dichiarazioni di non responsabilità
Le tecnologie Intel potrebbero richiedere l'attivazione di hardware, software o servizi abilitati.

  • Nessun prodotto o componente può essere assolutamente sicuro.
  • I tuoi costi e risultati possono variare.

© Intel Corporation. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Altri nomi e marchi possono essere rivendicati come proprietà di altri.

Il presente documento non concede alcuna licenza (espressa o implicita, per preclusione o altro) su alcun diritto di proprietà intellettuale.
I prodotti descritti possono contenere difetti di progettazione o errori noti come errata che possono causare la deviazione del prodotto dalle specifiche pubblicate. Le errata caratterizzate correnti sono disponibili su richiesta.

Intel declina tutte le garanzie esplicite e implicite, incluse, a titolo esemplificativo, le garanzie implicite di commerciabilità, idoneità per uno scopo particolare e non violazione, nonché qualsiasi garanzia derivante dal corso delle prestazioni, dal modo di trattare o dall'uso commerciale.

Inizia su Linux

Prima di iniziare

Imposta variabili d'ambiente
Prima di poter utilizzare il compilatore, è necessario innanzitutto impostare le variabili di ambiente generando lo script di ambiente utilizzando l'utilità di inizializzazione. Questo inizializza tutti gli strumenti in un solo passaggio.

  1. Determina la tua directory di installazione, :
    • a. Se il compilatore è stato installato nella posizione predefinita da un utente root o sudo, il compilatore verrà installato in/opt/intel/oneapi. In questo caso, è /opt/intel/oneapi.
    • b. Per gli utenti non root, viene utilizzata la directory home in intel/oneapi. In questo caso,
      sarà $HOME/intel/oneapi.
    • c. Per gli utenti cluster o aziendali, il team di amministrazione potrebbe aver installato i compilatori su una rete condivisa file sistema. Verificare con il proprio personale amministrativo locale la posizione dell'installazione
      ( ).
  2. Procurati lo script di impostazione dell'ambiente per la tua shell:
    • a. bash: fonte /setvars.sh intel64
    • b. csh/tcsh: fonte /setvars.csh intel64

Installa driver GPU o plug-in (facoltativo)
Puoi sviluppare applicazioni oneAPI utilizzando C++ e SYCL* che verranno eseguite su GPU Intel, AMD* o NVIDIA*. Per sviluppare ed eseguire applicazioni per GPU specifiche, devi prima installare i driver o i plug-in corrispondenti:

  • Per utilizzare una GPU Intel, installa i driver della GPU Intel più recenti.
  • Per utilizzare una GPU AMD, installa il plug-in oneAPI per GPU AMD.
  • Per utilizzare una GPU NVIDIA, installa il plug-in oneAPI per GPU NVIDIA.

Opzione 1: utilizzare la riga di comando
Il compilatore Intel® oneAPI DPC++/C++ fornisce più driver:

intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-1intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-2

Richiamare il compilatore utilizzando la seguente sintassi:
{driver del compilatore} [opzione] file1 [file2...]

Per esempioampon:
icpx ciao-mondo.cpp

Per la compilazione SYCL, usa l'opzione -fsycl con il driver C++:
icpx -fsycl ciao-mondo.cpp

NOTA: Quando si utilizza -fsycl, si assume -fsycl-targets=spir64 a meno che -fsycl-targets non sia esplicitamente impostato nel comando.
Se stai prendendo di mira una GPU NVIDIA o AMD, fai riferimento alla guida introduttiva del plug-in GPU corrispondente per istruzioni dettagliate sulla compilazione:

  • oneAPI per GPU NVIDIA Guida introduttiva
  • oneAPI per GPU AMD Guida introduttiva

Opzione 2: utilizzare Eclipse* CDT
Segui questi passaggi per richiamare il compilatore dall'interno di Eclipse* CDT.

Installa il plug-in Intel® Compiler Eclipse CDT.

  1. Avvia Eclipse
  2. Selezionare Guida > Installa nuovo software
  3. Selezionare Aggiungi per aprire la finestra di dialogo Aggiungi sito
  4. Selezionare Archivio, passare alla directory /compilatore/ /linux/ide_support, seleziona il file .zip file che inizia con com.intel.dpcpp.compiler, quindi selezionare OK
  5. Seleziona le opzioni che iniziano con Intel, seleziona Avanti, quindi segui le istruzioni di installazione
  6. Quando ti viene chiesto se desideri riavviare Eclipse*, seleziona Sì

Crea un nuovo progetto o apri un progetto esistente.

  1. Apri progetto esistente o crea nuovo progetto su Eclipse
  2. Fare clic con il tasto destro su Progetto > Proprietà > Genera C/C++ > Editor della catena di strumenti
  3. Seleziona il compilatore Intel DPC++/C++ dal pannello di destra

Imposta le configurazioni di compilazione.

  1. Apri progetto esistente su Eclipse
  2. Fare clic con il tasto destro su Progetto > Proprietà > Build C/C++ > Impostazioni
  3. Crea o gestisci le configurazioni di build nel pannello di destra

Crea un programma dalla riga di comando
Utilizzare i passaggi seguenti per testare l'installazione del compilatore e creare un programma.intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-3

  1. Utilizzare un editor di testo per creare un file file chiamato hello-world.cpp con i seguenti contenuti:
  2. Compila hello-world.cpp:
    icpx ciao-mondo.cpp -o ciao-mondo
    L'opzione -o specifica il file nome per l'output generato.
  3. Ora hai un eseguibile chiamato hello-world che può essere eseguito e fornirà un feedback immediato:intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-4

Quali uscite
Puoi dirigere e controllare la compilazione con le opzioni del compilatore. Per esample, puoi creare l'oggetto file e genera il binario finale in due passaggi:

  1. Compila hello-world.cpp:intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-5L'opzione -c impedisce il collegamento in questo passaggio.
  2. Utilizzare il compilatore icpx per collegare il codice oggetto dell'applicazione risultante e produrre un eseguibile:intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-6
    L'opzione -o specifica l'eseguibile generato file nome. Fare riferimento a Opzioni del compilatore per i dettagli sulle opzioni disponibili.

Inizia su Windows

Prima di iniziare

Imposta variabili d'ambiente
Il compilatore si integra nelle seguenti versioni di Microsoft Visual Studio*:

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

NOTA Il supporto per Microsoft Visual Studio 2017 è obsoleto a partire dalla versione Intel® oneAPI 2022.1 e verrà rimosso in una versione futura.

Per la funzionalità completa all'interno di Visual Studio, inclusi il debug e lo sviluppo, è necessario Visual Studio Community Edition o versione successiva. Visual Studio Express Edition consente solo compilazioni da riga di comando. Per tutte le versioni, il supporto di Microsoft C++ deve essere selezionato come parte dell'installazione di Visual Studio. Per Visual Studio 2017 e versioni successive, è necessario usare un'installazione personalizzata per selezionare questa opzione.
In genere non è necessario impostare le variabili di ambiente su Windows, poiché la finestra della riga di comando del compilatore imposta automaticamente queste variabili. Se è necessario impostare le variabili di ambiente, eseguire lo script di ambiente come descritto nella documentazione introduttiva specifica della suite.
La directory di installazione predefinita ( ) è C:\Programma Files(x86)\Intel\oneAPI.

Installa i driver GPU (facoltativo)
Per sviluppare ed eseguire applicazioni per GPU Intel, devi prima installare i driver per GPU Intel più recenti.

Opzione 1: utilizzare la riga di comando in Microsoft Visual Studio

Il compilatore Intel® oneAPI DPC++/C++ fornisce più driver:intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-7 intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-8

Richiamare il compilatore utilizzando la seguente sintassi:intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-9

Per richiamare il compilatore utilizzando la riga di comando da Microsoft Visual Studio, apri un prompt dei comandi e immetti il ​​comando di compilazione. Per esampon:intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-10

Per la compilazione SYCL, usa l'opzione -fsycl con il driver C++:intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-11

NOTA: Quando si utilizza -fsycl, si assume -fsycl-targets=spir64 a meno che -fsycl-targets non sia esplicitamente impostato nel comando.

Opzione 2: utilizzare Microsoft Visual Studio
Supporto di progetto per il compilatore Intel® DPC++/C++ in Microsoft Visual Studio
I nuovi progetti Microsoft Visual Studio per DPC++ vengono configurati automaticamente per utilizzare il compilatore Intel® oneAPI DPC++/C++.
I nuovi progetti Microsoft Visual C++* (MSVC) devono essere configurati manualmente per utilizzare il compilatore Intel® oneAPI DPC++/C++.

NOTA: I tipi di progetto CLR C++ basati su NET non sono supportati dal compilatore Intel® oneAPI DPC++/C++. I tipi di progetto specifici variano a seconda della versione di Visual Studio, ad esample: libreria di classi CLR, app console CLR o progetto vuoto CLR.

Utilizzare il compilatore Intel® DPC++/C++ in Microsoft Visual Studio
I passaggi esatti possono variare a seconda della versione di Microsoft Visual Studio in uso.

  1. Creare un progetto Microsoft Visual C++ (MSVC) o aprire un progetto esistente.
  2. In Esplora soluzioni selezionare i progetti da creare con il compilatore Intel® oneAPI DPC++/C++.
  3. Apri Progetto > Proprietà.
  4. Nel riquadro sinistro, espandere la categoria Proprietà di configurazione e selezionare la pagina delle proprietà Generale.
  5. Nel riquadro di destra, modifica il set di strumenti della piattaforma nel compilatore che desideri utilizzare:
    • Per C++ con SYCL, selezionare il compilatore Intel® oneAPI DPC++.
    • Per C/C++, sono disponibili due set di strumenti.
      Selezionare il compilatore Intel C++ (example 2021) per invocare icx.
      Selezionare il compilatore Intel C++ (example 19.2) per invocare icl.
      In alternativa, puoi specificare una versione del compilatore come set di strumenti per tutte le piattaforme e le configurazioni supportate dei progetti selezionati selezionando Progetto > Compilatore Intel > Usa compilatore Intel oneAPI DPC++/C++.
  6. Ricompila, usando Compila > Solo progetto > Ricompila per un singolo progetto o Compila > Ricompila soluzione per una soluzione.

Selezionare Versione del compilatore
Se sono installate più versioni del compilatore Intel® oneAPI DPC++/C++, è possibile selezionare la versione desiderata dalla finestra di dialogo Selezione del compilatore:

  1. Seleziona un progetto, quindi vai su Strumenti > Opzioni > Compilatori e librerie Intel > > Compilatori, dove i valori sono C++ o DPC++.
  2. Utilizzare il menu a discesa Compilatore selezionato per selezionare la versione appropriata del compilatore.
  3. Selezionare OK.

Tornare al compilatore Microsoft Visual Studio C++
Se il tuo progetto utilizza il compilatore Intel® oneAPI DPC++/C++, puoi scegliere di tornare al compilatore Microsoft Visual C++:

  1. Seleziona il tuo progetto in Microsoft Visual Studio.
  2. Fare clic con il pulsante destro del mouse e selezionare Intel Compiler > Usa Visual C++ dal menu di scelta rapida.

Questa azione aggiorna la soluzione file per utilizzare il compilatore Microsoft Visual Studio C++. Tutte le configurazioni dei progetti interessati vengono automaticamente pulite a meno che non si selezioni Non pulire i progetti. Se scegli di non pulire i progetti, dovrai ricostruire i progetti aggiornati per garantire tutta la fonte files vengono compilati con il nuovo compilatore.

Crea un programma dalla riga di comando
Utilizzare i passaggi seguenti per testare l'installazione del compilatore e creare un programma.

  1. Utilizzare un editor di testo per creare un file file chiamato hello-world.cpp con i seguenti contenuti:
    #includere int main() std::cout << “Ciao mondo!\n”; ritorno 0;
  2. Compila hello-world.cpp:
    icx ciao-mondo.cpp
  3. Ora hai un eseguibile chiamato hello-world.exe che può essere eseguito e darà un feedback immediato:
    ciao-mondo.exe

Quali output:
Ciao mondo!

Puoi dirigere e controllare la compilazione con le opzioni del compilatore. Per esample, puoi creare l'oggetto file e genera il binario finale in due passaggi:

  1.  Compila hello-world.cpp:
    icx ciao-mondo.cpp /c /Fociao-mondo.obj
    L'opzione /c impedisce il collegamento in questo passaggio e /Fo specifica il nome dell'oggetto file.
  2. Utilizzare il compilatore icx per collegare il codice oggetto dell'applicazione risultante e produrre un eseguibile:
    icx ciao-mondo.obj /Feciao-mondo.exe
  3. L'opzione /Fe specifica l'eseguibile generato file nome. Fare riferimento a Opzioni del compilatore per i dettagli sulle opzioni disponibili.

Compilare ed eseguire Sample Codice

Codice multiplo sampI file sono forniti per il compilatore Intel® oneAPI DPC++/C++ in modo che possiate esplorare le funzionalità del compilatore e familiarizzare con il suo funzionamento. Per esampon:

intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-17intel-Inizia-con-oneAPI-DPC ++-C++-Compiler-FIG-18

Prossimi passi

  • Usa l'ultimo codice API Samples e seguire le risorse di formazione Intel® oneAPI.
  • Esplora la Guida per gli sviluppatori e i riferimenti del compilatore Intel® oneAPI DPC++/C++ nella Intel® Developer Zone.

Documenti / Risorse

intel Inizia con il compilatore oneAPI DPC ++/C++ [pdf] Guida utente
Inizia con il compilatore C DPC oneAPI, Inizia con il compilatore C DPC oneAPI

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *