Intel-LOGO

intel Pib Pib nrog oneAPI DPC ++/C ++ Compiler

intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-PRODUCT

Taw qhia

Intel® oneAPI DPC ++/C ++ Compiler muab kev ua kom zoo tshaj plaws uas pab koj cov ntawv thov khiav nrawm dua ntawm Intel® 64 architectures ntawm Windows * thiab Linux *, nrog kev txhawb nqa rau C, C ++, thiab SYCL cov qauv lus tshiab. Qhov no compiler tsim optimized code uas tuaj yeem khiav nrawm dua los ntawm kev noj advantage ntawm cov tseem ceeb suav nrog ntau ntxiv thiab vector sau npe dav hauv Intel® Xeon® cov txheej txheem thiab cov txheej txheem sib xws. Intel® Compiler yuav pab koj txhim kho daim ntawv thov kev ua tau zoo los ntawm kev ua kom zoo dua qub thiab Ib Daim Ntawv Qhia Ntau Cov Ntaub Ntawv (SIMD) vectorization, kev koom ua ke nrog Intel® Performance Libraries, thiab los ntawm leveraging OpenMP* 5.0/5.1 parallel programming model.

Intel® oneAPI DPC ++/C ++ Compiler compiles C ++-based SYCL * qhov chaw files rau ntau yam kev suav accelerators.
Intel® oneAPI DPC ++/C ++ Compiler yog ib feem ntawm Intel® oneAPI Toolkits.

Nrhiav ntxiv

Cov ntsiab lus piav qhia thiab txuas
Tso Lus Ceeb Toom                                  Mus saib nplooj ntawv Tshaj Tawm kom paub cov teeb meem thiab cov ntaub ntawv tshiab tshaj plaws.

Intel® oneAPI Programming Guide    Muab cov ntsiab lus ntawm Intel® oneAPI DPC ++/C ++ Compiler

programming qauv, suav nrog cov ntsiab lus hais txog SYCL* thiab OpenMP* offload, programming rau ntau lub hom phiaj accelerators, thiab qhia txog Intel® oneAPI cov tsev qiv ntawv.

Intel® oneAPI DPC ++/C ++                Tshawb xyuas Intel® oneAPI DPC ++ / C ++ Compiler nta thiab teeb tsa thiab Compiler Developer Guide thiab          tau txais cov ncauj lus kom ntxaws txog kev xaiv compiler, cwj pwm, thiab Kev siv                                        ntau.

ib API Code Samples                      Tshawb nrhiav qhov tseeb oneAPI code samples.

•               Intel® oneAPI Data Parallel C+      Nug cov lus nug thiab nrhiav cov lus teb hauv Intel® oneAPI Data Parallel C+

+ Lub rooj sab laj                                      + thiab Intel® C ++ Compiler forums.

•               Intel® C++ Compiler Forum

 

Intel® oneAPI DPC ++/C ++                Tshawb nrhiav cov ntawv qhia, cov ntaub ntawv qhia, thiab lwm yam Intel® oneAPI Compiler Cov ntaub ntawv                  DPC ++ / C ++ Compiler cov ntaub ntawv.

SYCL Specification Version 1.2.1       SYCL specification, piav qhia yuav ua li cas SYCL integrates OpenCL li PDF                                                  nrog C++ niaj hnub.

https://www.khronos.org/sycl/         Ib tshajview ntawm SYCL.

Lub GNU * C ++ Library - Siv         Cov ntaub ntawv GNU * C ++ Library ntawm kev siv dual ABI. Dual ABI

Txheej rau Yocto* Project                  Ntxiv oneAPI cov khoom rau Yocto project tsim siv cov meta-intel

txheej.

Cov ntawv ceeb toom thiab tsis lees paub
Cov thev naus laus zis thev naus laus zis tej zaum xav tau kev kho vajtse, software lossis kev ua haujlwm.

  • Tsis muaj cov khoom lag luam lossis cov khoom lag luam tuaj yeem ruaj ntseg kiag li.
  • Koj cov nqi thiab cov txiaj ntsig yuav txawv.

© Intel Corporation. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Lwm lub npe thiab cov npe yuav raug lees paub tias yog cov cuab yeej ntawm lwm tus.

Tsis muaj daim ntawv tso cai (qhia los yog hais, los ntawm estoppel los yog lwm yam) rau ib qho kev txawj ntse muaj cai tau tso cai los ntawm daim ntawv no.
Cov khoom uas tau piav qhia yuav muaj cov qauv tsim los yog qhov yuam kev hu ua errata uas tuaj yeem ua rau cov khoom sib txawv ntawm cov lus tshaj tawm. Tam sim no tus yam ntxwv errata muaj nyob rau ntawm kev thov.

Intel tsis lees paub txhua qhov kev lees paub thiab kev lees paub, suav nrog yam tsis muaj kev txwv, kev lees paub ntawm kev ua lag luam, kev nyab xeeb rau lub hom phiaj tshwj xeeb, thiab tsis ua txhaum cai, nrog rau txhua qhov kev lees paub tshwm sim los ntawm kev ua tau zoo, kev lag luam, lossis kev siv hauv kev lag luam.

Pib ntawm Linux

Ua ntej Koj Pib

Teem Environment Variables
Ua ntej koj tuaj yeem siv lub compiler, koj yuav tsum xub teeb tsa qhov chaw hloov pauv ib puag ncig los ntawm kev nrhiav cov ntawv ib puag ncig siv qhov pib siv hluav taws xob. Qhov no pib tag nrho cov cuab yeej hauv ib kauj ruam.

  1. Txiav txim siab koj lub installation directory, :
    • a. Yog tias koj lub compiler tau teeb tsa hauv qhov chaw nyob los ntawm tus neeg siv hauv paus lossis tus neeg siv sudo, lub compiler yuav raug ntsia hauv / opt/intel/oneapi. Hauv qhov no, yog /opt/intel/oneapi.
    • b. Rau cov neeg siv tsis yog hauv paus, koj cov npe hauv tsev hauv qab intel/oneapi siv. Hauv qhov no,
      yuav yog $HOME/intel/oneapi.
    • c. Rau pawg lossis cov neeg siv kev lag luam, koj pab neeg tswj hwm yuav tau teeb tsa cov compilers ntawm ib lub network sib koom file qhov system. Tshawb xyuas nrog koj cov neeg ua haujlwm admin hauv zos rau qhov chaw teeb tsa
      ( ).
  2. Tau qhov chaw ib puag ncig-setting tsab ntawv rau koj lub plhaub:
    • a. bash: vim /setvars.sh intel64
    • b. csh/tcsh: source /setvars.csh intel64

Nruab GPU Drivers lossis Plug-ins (Yeem)
Koj tuaj yeem tsim ib daim ntawv thov API siv C ++ thiab SYCL * uas yuav khiav ntawm Intel, AMD *, lossis NVIDIA * GPUs. Txhawm rau tsim thiab khiav daim ntawv thov rau GPUs tshwj xeeb koj yuav tsum xub nruab cov tsav tsheb sib xws lossis plug-ins:

  • Txhawm rau siv Intel GPU, nruab qhov tseeb Intel GPU tsav tsheb.
  • Txhawm rau siv AMD GPU, nruab ib qho API rau AMD GPUs plugin.
  • Txhawm rau siv NVIDIA GPU, nruab ib qho API rau NVIDIA GPUs plugin.

Kev xaiv 1: Siv Kab hais kom ua
Intel® oneAPI DPC ++/C ++ Compiler muab ntau yam tsav tsheb:

intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-1intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-2

Invoke lub compiler siv cov syntax hauv qab no:
{compiler driver} [xaiv] file1 [file2…]

Rau example:
icpx nyob zoo-world.cpp

Rau SYCL muab tso ua ke, siv qhov kev xaiv -fsycl nrog C ++ tsav tsheb:
icpx -fsycl nyob zoo-world.cpp

CEEB TOOM: Thaum siv -fsycl, -fsycl-targets = spir64 yog suav tias yog qhov -fsycl-targets tau teev meej meej hauv cov lus txib.
Yog tias koj tab tom tsom mus rau NVIDIA lossis AMD GPU, xa mus rau qhov sib thooj GPU plugin tau pib qhia rau cov lus qhia ntxaws ntxaws:

  • oneAPI rau NVIDIA GPUs Tau Pib Qhia
  • oneAPI rau AMD GPUs Pib Qhia

Kev xaiv 2: Siv dab noj hnub* CDT
Ua raws li cov kauj ruam no kom hu cov neeg sau los ntawm hauv Eclipse* CDT.

Nruab Intel® Compiler Eclipse CDT plugin.

  1. Pib Eclipse
  2. Xaiv Pab> Nruab Tshiab Software
  3. Xaiv Ntxiv los qhib qhov Add Site dialog
  4. Xaiv Archive, mus rau cov npe /compiler/ /linux/ide_support, xaiv lub .zip file uas pib nrog com.intel.dpcpp.compiler, ces xaiv OK
  5. Xaiv cov kev xaiv pib nrog Intel, xaiv Next, tom qab ntawd ua raws li cov lus qhia installation
  6. Thaum nug yog tias koj xav rov pib dab noj hnub*, xaiv Yog

Tsim ib qhov project tshiab lossis qhib qhov project uas twb muaj lawm.

  1. Qhib Qhov project uas twb muaj lawm lossis tsim qhov project tshiab ntawm dab noj hnub
  2. Txoj nyem rau ntawm Project> Properties> C / C ++ Tsim> Tool chain Editor
  3. Xaiv Intel DPC ++ / C ++ Compiler los ntawm lub vaj huam sib luag sab xis

Teeb tsa configurations.

  1. Qhib Qhov project uas muaj nyob rau dab noj hnub
  2. Txoj nyem rau ntawm Project> Properties> C / C ++ Tsim> Chaw
  3. Tsim lossis tswj kev tsim kho hauv vaj huam sib luag txoj cai

Tsim ib qho kev pab cuam los ntawm kab hais kom ua
Siv cov kauj ruam hauv qab no los sim koj lub teeb tsa compiler thiab tsim ib qho kev pab cuam.intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-3

  1. Siv cov ntawv nyeem los tsim ib qho file hu ua hello-world.cpp nrog cov ntsiab lus hauv qab no:
  2. Compile hello-world.cpp:
    icpx nyob zoo-world.cpp -o nyob zoo-world
    Qhov kev xaiv -o qhia txog qhov file npe rau cov zis generated.
  3. Tam sim no koj muaj lub executable hu ua nyob zoo-lub ntiaj teb uas yuav tsum tau khiav thiab yuav muab tswv yim tam sim:intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-4

Qhov twg outputs
Koj tuaj yeem ncaj qha thiab tswj kev muab tso ua ke nrog kev xaiv compiler. Rau example, koj tuaj yeem tsim qhov khoom file thiab tso tawm qhov kawg binary hauv ob kauj ruam:

  1. Compile hello-world.cpp:intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-5Qhov kev xaiv -c tiv thaiv kev sib txuas ntawm cov kauj ruam no.
  2. Siv lub icpx compiler los txuas cov txiaj ntsig ntawm daim ntawv thov khoom code thiab tso tawm qhov kev ua tiav:intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-6
    Qhov kev xaiv -o qhia txog qhov tsim tau ua tiav file npe. Xa mus rau Compiler Options kom paub meej txog cov kev xaiv muaj.

Pib ntawm Windows

Ua ntej Koj Pib

Teem Environment Variables
Lub compiler koom ua ke rau hauv cov qauv hauv qab no ntawm Microsoft Visual Studio *:

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

Nco tseg Kev them nyiaj yug rau Microsoft Visual Studio 2017 yog deprecated raws li ntawm Intel® oneAPI 2022.1 tso tawm thiab yuav raug tshem tawm yav tom ntej.

Rau kev ua haujlwm tag nrho hauv Visual Studio, suav nrog kev debugging thiab kev txhim kho, Visual Studio Community Edition lossis siab dua yog xav tau. Visual Studio Express Edition tso cai rau cov kab hais kom ua nkaus xwb. Rau tag nrho cov versions, Microsoft C ++ kev txhawb nqa yuav tsum raug xaiv ua ib feem ntawm Visual Studio nruab. Rau Visual Studio 2017 thiab tom qab ntawd, koj yuav tsum siv qhov kev cai nruab los xaiv qhov kev xaiv no.
Koj feem ntau tsis tas yuav teeb tsa ib puag ncig hloov pauv ntawm Windows, raws li cov lus txib-kab lub qhov rais teeb tsa cov hloov pauv no rau koj tau txais. Yog tias koj xav tau teeb tsa ib puag ncig hloov pauv, khiav cov ntawv ib puag ncig raws li tau piav qhia hauv cov ntaub ntawv tshwj xeeb Get Started.
Lub neej ntawd installation directory ( ) yog C:\Program Files (x86)\Intel\oneAPI.

Nruab GPU Tsav Tsheb (yeem)
Txhawm rau tsim thiab khiav daim ntawv thov rau Intel GPUs koj yuav tsum xub nruab Intel GPU tsav tsheb tshiab.

Kev xaiv 1: Siv Cov Kab hais kom ua hauv Microsoft Visual Studio

Intel® oneAPI DPC ++/C ++ Compiler muab ntau yam tsav tsheb:intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-7 intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-8

Invoke lub compiler siv cov syntax hauv qab no:intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-9

Txhawm rau hu lub compiler siv cov kab hais kom ua los ntawm hauv Microsoft Visual Studio, qhib qhov hais kom ua thiab nkag mus rau koj cov lus txib muab tso ua ke. Rau example:intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-10

Rau SYCL muab tso ua ke, siv qhov kev xaiv -fsycl nrog C ++ tsav tsheb:intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-11

CEEB TOOM: Thaum siv -fsycl, -fsycl-targets = spir64 yog suav tias yog qhov -fsycl-targets tau teev meej meej hauv cov lus txib.

Kev xaiv 2: Siv Microsoft Visual Studio
Kev them nyiaj yug qhov project rau Intel® DPC ++ / C ++ Compiler hauv Microsoft Visual Studio
Tshiab Microsoft Visual Studio tej yaam num rau DPC ++ tau txais kev teeb tsa los siv Intel® oneAPI DPC ++/C ++ Compiler.
Cov haujlwm tshiab Microsoft Visual C++* (MSVC) yuav tsum tau teeb tsa manually los siv Intel® oneAPI DPC ++/C ++ Compiler.

CEEB TOOM: NET-based CLR C ++ qhov project hom tsis tau txais kev txhawb nqa los ntawm Intel® oneAPI DPC ++ / C ++ Compiler. Cov hom phiaj tshwj xeeb yuav txawv nyob ntawm koj qhov version ntawm Visual Studio, piv txwv liample: CLR Class Library, CLR Console App, lossis CLR Empty Project.

Siv Intel® DPC ++/C ++ Compiler hauv Microsoft Visual Studio
Cov kauj ruam tseeb yuav txawv nyob ntawm qhov version ntawm Microsoft Visual Studio siv.

  1. Tsim ib qhov project Microsoft Visual C ++ (MSVC) lossis qhib qhov project uas twb muaj lawm.
  2. Hauv Solution Explorer, xaiv qhov project (s) los tsim nrog Intel® oneAPI DPC ++/C ++ Compiler.
  3. Qhib Project> Properties .
  4. Nyob rau sab laug pane, nthuav cov Configuration Properties qeb thiab xaiv cov khoom vaj khoom tsev dav dav.
  5. Nyob rau hauv txoj cai pane hloov lub Platform Toolset rau lub compiler koj xav siv:
    • Rau C ++ nrog SYCL, xaiv Intel® oneAPI DPC ++ Compiler.
    • Rau C / C ++, muaj ob lub cuab yeej.
      Xaiv Intel C ++ Compiler (example 2021) invoke icx.
      Xaiv Intel C ++ Compiler (example 19.2) invoke ic.
      Xwb, koj tuaj yeem hais qhia tus qauv sau ua ke raws li cov cuab yeej siv rau txhua qhov kev txhawb nqa platforms thiab teeb tsa ntawm qhov haujlwm xaiv los ntawm kev xaiv Project> Intel Compiler> Siv Intel oneAPI DPC ++ / C ++ Compiler.
  6. Rov tsim dua, siv Build> Project nkaus xwb> Rebuild rau ib qhov project lossis Build> Rebuild Solution rau kev daws teeb meem.

Xaiv Compiler Version
Yog tias koj muaj ntau lub versions ntawm Intel® oneAPI DPC ++ / C ++ Compiler ntsia, koj tuaj yeem xaiv cov version twg koj xav tau los ntawm Compiler Selection dialog box:

  1. Xaiv ib qhov project, tom qab ntawd mus rau Cov Cuab Yeej> Kev Xaiv> Intel Compilers thiab Libraries> > Compilers, qhov twg Qhov tseem ceeb yog C ++ lossis DPC ++.
  2. Siv cov ntawv qhia zaub mov Selected Compiler los xaiv qhov tsim nyog version ntawm lub compiler.
  3. Xaiv OK.

Hloov rov qab mus rau Microsoft Visual Studio C ++ Compiler
Yog tias koj qhov project siv Intel® oneAPI DPC ++ / C ++ Compiler, koj tuaj yeem xaiv hloov rov qab mus rau Microsoft Visual C ++ compiler:

  1. Xaiv koj qhov project hauv Microsoft Visual Studio.
  2. Right-click thiab xaiv Intel Compiler> Siv Visual C ++ los ntawm cov ntawv qhia zaub mov.

Qhov kev txiav txim no hloov kho qhov kev daws teeb meem file siv Microsoft Visual Studio C ++ compiler. Txhua qhov kev teeb tsa ntawm cov haujlwm cuam tshuam tau raug tshem tawm tshwj tsis yog koj xaiv Tsis txhob ntxuav qhov project. Yog tias koj xaiv tsis ntxuav tej yaam num, koj yuav tau rov tsim kho tej yaam num tshiab kom paub tseeb tias txhua qhov chaw files tau muab tso ua ke nrog tus tshiab compiler.

Tsim ib qho kev pab cuam los ntawm kab hais kom ua
Siv cov kauj ruam hauv qab no los sim koj lub teeb tsa compiler thiab tsim ib qho kev pab cuam.

  1. Siv cov ntawv nyeem los tsim ib qho file hu ua hello-world.cpp nrog cov ntsiab lus hauv qab no:
    # suav nrog int main() std::cout << “Hello, world!\n”; rov 0;
  2. Compile hello-world.cpp:
    icx nyob zoo-world.cpp
  3. Tam sim no koj muaj ib tug executable hu ua hello-world.exe uas yuav tsum tau khiav thiab yuav muab tswv yim tam sim:
    nyob zoo-world.exe

Qhov twg outputs:
Nyob zoo, ntiaj teb!

Koj tuaj yeem ncaj qha thiab tswj kev muab tso ua ke nrog kev xaiv compiler. Rau example, koj tuaj yeem tsim qhov khoom file thiab tso tawm qhov kawg binary hauv ob kauj ruam:

  1.  Compile hello-world.cpp:
    icx nyob zoo-world.cpp /c /Fohello-world.obj
    Qhov kev xaiv /c tiv thaiv kev sib txuas ntawm cov kauj ruam no thiab /Fo qhia lub npe rau cov khoom file.
  2. Siv lub icx compiler los txuas cov txiaj ntsig ntawm daim ntawv thov khoom code thiab tso tawm qhov kev ua tiav:
    icx hello-world.obj /Fehello-world.exe
  3. Qhov kev xaiv / Fe qhia txog qhov tsim tau ua tiav file npe. Xa mus rau Compiler Options kom paub meej txog cov kev xaiv muaj.

Compile thiab Execute Sampua Code

Ntau code samples yog muab rau Intel® oneAPI DPC ++/C ++ Compiler kom koj tuaj yeem tshawb xyuas cov yam ntxwv ntawm cov compiler thiab paub koj tus kheej nrog nws ua haujlwm li cas. Rau example:

intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-17intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-18

Cov kauj ruam tom ntej

  • Siv qhov tseeb OneAPI Code Samples thiab ua raws nrog Intel® oneAPI Training Resources.
  • Tshawb xyuas Intel® oneAPI DPC ++/C ++ Compiler Developer Guide thiab Reference ntawm Intel® Developer Zone.

Cov ntaub ntawv / Cov ntaub ntawv

intel Pib Pib nrog oneAPI DPC ++/C ++ Compiler [ua pdf] Cov neeg siv phau ntawv qhia
Pib nrog oneAPI DPC C Compiler, Pib nrog, oneAPI DPC C Compiler

Cov ntaub ntawv

Cia ib saib

Koj email chaw nyob yuav tsis raug luam tawm. Cov teb uas yuav tsum tau muaj yog cim *