Intel-LOGO

intel Qalisa nge-OneAPI DPC ++/C++ Compiler

i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-PRODUCT

ISINGENISO

I-Intel® oneAPI DPC++/C++ Compiler inikeza ukulungiselelwa okusiza izinhlelo zakho zokusebenza zisebenze ngokushesha kuzakhiwo ze-Intel® 64 ku-Windows* ne-Linux*, ngokusekelwa kwamazinga akamuva olimi C, C++, kanye ne-SYCL. Le compiler ikhiqiza ikhodi elungiselelwe engasebenza ngokushesha okukhulu ngokuthatha i-advantagi-e yesibalo esiyinhloko esihlala sikhula kanye nobubanzi berejista ye-vector kumaphrosesa we-Intel® Xeon® namaphrosesa ahambisanayo. I-Intel® Compiler izokusiza ukuthi uthuthukise ukusebenza kohlelo lokusebenza ngokulungiselelwa okuphakeme kanye nokufakwa kwe-vectorization kwe-Single Instruction Multiple Data (SIMD), ukuhlanganiswa ne-Intel® Performance Libraries, nangokusebenzisa imodeli ye-OpenMP* 5.0/5.1 ehambisanayo yokuhlela.

I-Intel® oneAPI DPC++/C++ Compiler ihlanganisa umthombo we-SYCL* osuselwe ku-C++ files yezinhlobonhlobo zama-accelerator ekhompyutha.
I-Intel® oneAPI DPC++/C++ Compiler iyingxenye ye-Intel® oneAPI Toolkits.

Thola Okuningi

Incazelo Yokuqukethwe Nezixhumanisi
Khipha Amanothi                                  Vakashela ikhasi lamanothi okukhishwa ngezinkinga ezaziwayo kanye nolwazi lwakamuva kakhulu.

Intel® oneAPI Programming Guide    Inikeza imininingwane nge-Intel® oneAPI DPC++/C++ Compiler

imodeli yokuhlela, ehlanganisa imininingwane emayelana nokukhishwa kwe-SYCL* ne-OpenMP*, ukuhlela ama-accelerator aqondiwe ahlukahlukene, kanye nezethulo emitapweni yolwazi ye-Intel® oneAPI.

Intel® oneAPI DPC++/C++                Hlola izici ze-Intel® oneAPI DPC++/C++ Compiler kanye nokusetha kanye Compiler Developer Guide kanye          thola ulwazi oluthe xaxa mayelana nezinketho ze-compiler, izibaluli, kanye Ireferensi                                        Okuningi.

OneAPI Code SampLes                      Hlola ikhodi yakamuva ye-oneAPI sampLes.

•               Intel® oneAPI Data Parallel C+      Buza imibuzo futhi uthole izimpendulo ku-Intel® oneAPI Data Parallel C+

+ Inkundla                                      + kanye nezinkundla ze-Intel® C++ Compiler.

•               Intel® C++ Compiler Forum

 

Intel® oneAPI DPC++/C++                Hlola okokufundisa, izinto zokuqeqesha, nenye i-Intel® oneAPI Imibhalo Yokuhlanganisa                  Imibhalo ye-DPC++/C++ Compiler.

I-SYCL Specification Version 1.2.1       Ukucaciswa kwe-SYCL, kuchaza ukuthi i-SYCL ihlanganisa kanjani amadivayisi we-OpenCL PDF                                                  nge-C++ yesimanje.

https://www.khronos.org/sycl/         Kuphelileview kwe-SYCL.

I-GNU* C++ Library - Ukusebenzisa         Amadokhumenti e-GNU* C++ Library ekusebenziseni i-ABI embaxambili. I-ABI emibili

Izendlalelo ze-Yocto* Project                  Engeza izingxenye ze-oneAPI ekwakhiweni kwephrojekthi ye-Yocto usebenzisa i-meta-intel

izendlalelo.

Izaziso Nemishwana Yokuzikhipha Emthwalweni
Ubuchwepheshe be-Intel bungadinga ihadiwe enikwe amandla, isofthiwe noma isevisi isebenze.

  • Awukho umkhiqizo noma ingxenye engavikeleka ngokuphelele.
  • Izindleko zakho nemiphumela ingahluka.

© Intel Corporation. I-Intel, ilogo ye-Intel, nezinye izimpawu ze-Intel yizimpawu zokuthengisa ze-Intel Corporation noma izinkampani ezingaphansi kwayo. Amanye amagama namabhrendi angafunwa njengempahla yabanye.

Ayikho ilayisensi (eshiwo noma eshiwo, nge-estoppel noma ngenye indlela) yanoma imaphi amalungelo empahla yengqondo enikezwa yile dokhumenti.
Imikhiqizo echazwe ingase iqukathe ukonakala kwedizayini noma amaphutha aziwa ngokuthi i-errata angabangela umkhiqizo ukuthi uphambuke ekucacisweni okushicilelwe. Izinkinga zamanje ezinezimpawu ziyatholakala ngesicelo.

I-Intel iyazilahla zonke iziqinisekiso ezicacile nezicatshangelwayo, okuhlanganisa ngaphandle komkhawulo, iziqinisekiso ezishiwo zokuthengiselana, ukufaneleka kwenjongo ethile, nokungaphuli umthetho, kanye nanoma yisiphi isiqinisekiso esivela ngenxa yokusebenza, inkambo yokuthengisa, noma ukusetshenziswa kwezohwebo.

Qalisa ku-Linux

Ngaphambi kokuthi Uqale

Setha Okuguquguqukayo Kwendawo
Ngaphambi kokuthi usebenzise isihlanganisi, kufanele uqale usethe okuguquguqukayo kwemvelo ngokuthola umbhalo wendawo usebenzisa insiza yokuqalisa. Lokhu kuqalisa wonke amathuluzi esinyathelweni esisodwa.

  1. Nquma umkhombandlela wokufaka wakho, :
    • a. Uma isihlanganisi sakho sifakwe endaweni ezenzakalelayo ngumsebenzisi wempande noma umsebenzisi we-sudo, isihlanganisi sizofakwa ngaphansi/opt/intel/oneapi. Esimweni esinjalo, ngu-/opt/intel/oneapi.
    • b. Kubasebenzisi abangenazimpande, uhla lwemibhalo lwakho lwasekhaya ngaphansi kwe-intel/oneapi luyasetshenziswa. Esimweni esinjalo,
      kuzoba $HOME/intel/oneapi.
    • c. Kubasebenzisi beqoqo noma bebhizinisi, ithimba lakho labaphathi kungenzeka lifake abahlanganisi kunethiwekhi eyabiwe file uhlelo. Hlola nabasebenzi bendawo yangakini ukuze uthole indawo yokufaka
      ( ).
  2. Umthombo weskripthi sokusetha indawo yegobolondo lakho:
    • a. bash: umthombo /setvars.sh intel64
    • b. csh/tcsh: umthombo /setvars.csh intel64

Faka Abashayeli be-GPU noma ama-plug-ins (Ongakukhetha)
Ungathuthukisa izinhlelo zokusebenza ze-OneAPI usebenzisa i-C++ ne-SYCL* ezosebenza ku-Intel, AMD*, noma i-NVIDIA* GPUs. Ukuze uthuthukise futhi usebenzise izinhlelo zokusebenza zama-GPU athile kufanele uqale ufake abashayeli abahambisanayo noma ama-plug-in:

  • Ukuze usebenzise i-Intel GPU, faka abashayeli be-Intel GPU bakamuva.
  • Ukuze usebenzise i-AMD GPU, faka i-oneAPI ye-plugin ye-AMD GPUs.
  • Ukuze usebenzise i-NVIDIA GPU, faka i-oneAPI ye-plugin ye-NVIDIA GPUs.

Inketho 1: Sebenzisa umugqa womyalo
I-Intel® oneAPI DPC++/C++ Compiler inikeza abashayeli abaningi:

i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-1i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-2

Cela umhlanganisi usebenzisa i-syntax elandelayo:
{compiler driver} [inketho] file1 [file2…]

Okwesiboneloample:
icpx sawubona-world.cpp

Ukuze uhlanganise i-SYCL, sebenzisa inketho -fsycl ngomshayeli we-C++:
icpx -fsycl sawubona-world.cpp

QAPHELA: Uma usebenzisa -fsycl, -fsycl-targets=spir64 kucatshangwa ngaphandle kokuthi -fsycl-targets ibekwe ngokucacile emyalweni.
Uma uqondise i-NVIDIA noma i-AMD GPU, bheka ku-plugin ehambisanayo ye-GPU umhlahlandlela wokuqalisa ukuze uthole imiyalelo enemininingwane yokuhlanganiswa:

  • I-oneAPI ye-NVIDIA GPUs Qalisa Umhlahlandlela
  • I-oneAPI ye-AMD GPUs Qalisa Umhlahlandlela

Inketho 2: Sebenzisa i-Eclipse* CDT
Landela lezi zinyathelo ukuze ucele isihlanganisi ngaphakathi kwe-Eclipse* CDT.

Faka i-plugin ye-Intel® Compiler Eclipse CDT.

  1. Qala i-Eclipse
  2. Khetha Usizo > Faka Isofthiwe Entsha
  3. Khetha Engeza ukuze uvule ibhokisi elithi Engeza Isayithi
  4. Khetha Ingobo yomlando, phequlula ohlwini lwemibhalo /umdidiyeli/ /linux/ide_support, khetha i-.zip file lokho kuqala ngo-com.intel.dpcpp.compiler, bese ukhetha Kulungile
  5. Khetha izinketho eziqala nge-Intel, khetha Okulandelayo, bese ulandela imiyalelo yokufaka
  6. Uma ubuzwa ukuthi ufuna ukuqala kabusha i-Eclipse*, khetha Yebo

Yakha iphrojekthi entsha noma uvule iphrojekthi ekhona.

  1. Vula Iphrojekthi Ekhona noma Dala Iphrojekthi Entsha ku-Eclipse
  2. Chofoza kwesokudla kokuthi Iphrojekthi > Izakhiwo > C/C++ Yakha > Isihleli sochungechunge lwamathuluzi
  3. Khetha i-Intel DPC++/C++ Compiler kuphaneli engakwesokudla

Setha ukucushwa kokwakha.

  1. Vula Iphrojekthi Ekhona ku-Eclipse
  2. Chofoza kwesokudla kokuthi Iphrojekthi > Izakhiwo > C/C++ Yakha > Izilungiselelo
  3. Dala noma phatha ukulungiselelwa kokwakha kuphaneli engakwesokudla

Yakha Uhlelo Kusuka Kulayini Womyalo
Sebenzisa izinyathelo ezilandelayo ukuhlola ukufakwa kwakho komhlanganisi futhi wakhe uhlelo.i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-3

  1. Sebenzisa isihleli sombhalo ukuze udale i file ebizwa ngokuthi hello-world.cpp nokuqukethwe okulandelayo:
  2. Hlanganisa i-hello-world.cpp:
    icpx sawubona-world.cpp -o sawubona-mhlaba
    I--o inketho icacisa i- file igama lokukhiphayo okukhiqizwayo.
  3. Manje usunomshini osebenzisekayo obizwa nge-hello-world ongaqhutshwa futhi uzonikeza impendulo ngokushesha:i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-4

Okuphumayo
Ungaqondisa futhi ulawule ukuhlanganisa ngezinketho ze-compiler. Okwesiboneloample, ungakha into file bese ukhipha kanambambili wokugcina ngezinyathelo ezimbili:

  1. Hlanganisa i-hello-world.cpp:i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-5Inketho ye -c ivimbela ukuxhuma kulesi sinyathelo.
  2. Sebenzisa i-icpx compiler ukuxhumanisa ikhodi yento yohlelo lokusebenza engumphumela futhi ukhiphe okusebenzisekayo:i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-6
    I--o inketho icacisa okusebenzisekayo okukhiqizwayo file igama. Bheka Izinketho Zokuhlanganisa ukuze uthole imininingwane mayelana nezinketho ezitholakalayo.

Qalisa ku-Windows

Ngaphambi kokuthi Uqale

Setha Okuguquguqukayo Kwendawo
Umdidiyeli uhlanganisa ezinguqulweni ezilandelayo ze-Microsoft Visual Studio*:

  • I-Visual Studio 2022
  • I-Visual Studio 2019
  • I-Visual Studio 2017

QAPHELA Ukusekelwa kwe-Microsoft Visual Studio 2017 kuhoxisiwe kusukela ekukhishweni kwe-Intel® oneAPI 2022.1 futhi kuzosuswa ekukhishweni okuzayo.

Ukuze kusebenze ngokugcwele ngaphakathi kwe-Visual Studio, okuhlanganisa ukulungisa iphutha nokuthuthukiswa, i-Visual Studio Community Edition noma ngaphezulu iyadingeka. I-Visual Studio Express Edition ivumela kuphela ukwakhiwa komugqa womyalo. Kuzo zonke izinguqulo, ukusekelwa kwe-Microsoft C++ kufanele kukhethwe njengengxenye yokufakwa kwe-Visual Studio. Nge-Visual Studio 2017 nakamuva, kufanele usebenzise ukufaka ngokwezifiso ukuze ukhethe le nketho.
Ngokuvamile awudingi ukusetha okuguquguqukayo kwemvelo ku-Windows, njengoba iwindi lomugqa womyalo we-compiler likubekela lezi ziguquguqukayo ngokuzenzakalelayo. Uma udinga ukusetha okuguquguqukayo kwemvelo, sebenzisa iskripthi sendawo njengoba kuchazwe kumadokhumenti akhethekile okuthi Qalisa.
Inkomba yokufaka ezenzakalelayo ( ) nguC:\Program Files (x86)\Intel\oneAPI.

Faka Abashayeli be-GPU (Ongakukhetha)
Ukuze uthuthukise futhi usebenzise izinhlelo zokusebenza ze-Intel GPUs kufanele uqale ufake abashayeli be-Intel GPU bakamuva.

Inketho 1: Sebenzisa i-Command Line ku-Microsoft Visual Studio

I-Intel® oneAPI DPC++/C++ Compiler inikeza abashayeli abaningi:i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-7 i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-8

Cela umhlanganisi usebenzisa i-syntax elandelayo:i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-9

Ukuze ucele umhlanganisi usebenzisa umugqa womyalo ongaphakathi kwe-Microsoft Visual Studio, vula umyalo womyalo bese ufaka umyalo wakho wokuhlanganiswa. Okwesiboneloample:i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-10

Ukuze uhlanganise i-SYCL, sebenzisa inketho -fsycl ngomshayeli we-C++:i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-11

QAPHELA: Uma usebenzisa -fsycl, -fsycl-targets=spir64 kucatshangwa ngaphandle kokuthi -fsycl-targets ibekwe ngokucacile emyalweni.

Indlela yesi-2: Sebenzisa i-Microsoft Visual Studio
Ukusekelwa Kwephrojekthi Ye-Intel® DPC++/C++ Compiler ku-Microsoft Visual Studio
Amaphrojekthi amasha e-Microsoft Visual Studio e-DPC++ ahlelwa ngokuzenzakalelayo ukuze asebenzise i-Intel® oneAPI DPC++/C++ Compiler.
Amaphrojekthi amasha e-Microsoft Visual C++* (MSVC) kufanele alungiselelwe mathupha ukuze asebenzise I-Intel® oneAPI DPC++/C++ Compiler.

QAPHELA: Izinhlobo zephrojekthi ezisuselwe ku-NET ze-CLR C++ azisekelwa i-Intel® oneAPI DPC++/C++ Compiler. Izinhlobo ezithile zephrojekthi zizohluka kuye ngenguqulo yakho ye-Visual Studio, ngokwesiboneloample: Ilabhulali Yekilasi Le-CLR, Uhlelo Lokusebenza Lwekhonsoli ye-CLR, noma Iphrojekthi Engenalutho ye-CLR.

Sebenzisa i-Intel® DPC++/C++ Compiler ku-Microsoft Visual Studio
Izinyathelo eziqondile zingahluka kuye ngenguqulo ye-Microsoft Visual Studio esetshenziswayo.

  1. Dala iphrojekthi ye-Microsoft Visual C++ (MSVC) noma uvule iphrojekthi ekhona.
  2. Ku-Solution Explorer, khetha i(ama)phrojekthi ongayakha nge-Intel® oneAPI DPC++/C++ Compiler.
  3. Vula Iphrojekthi > Izakhiwo .
  4. Kufasitelana elingakwesokunxele, nweba isigaba Sezici Zokucushwa bese ukhetha ikhasi lempahla Ejwayelekile.
  5. Kufasitelana elingakwesokudla shintsha i-Platform Toolset ibe isihlanganisi ofuna ukusisebenzisa:
    • Ku-C++ nge-SYCL, khetha i-Intel® oneAPI DPC++ Compiler.
    • Ku-C/C++, kukhona ama-toolset amabili.
      Khetha i-Intel C++ Compiler (isbample 2021) ukucela i-icx.
      Khetha i-Intel C++ Compiler (isbample 19.2) ukucela icl.
      Okunye, ungacacisa inguqulo yeqoqo njengesethi yamathuluzi yazo zonke izinkundla ezisekelwayo kanye nokucushwa kwephrojekthi(ama)phrojekthi ekhethiwe ngokukhetha Iphrojekthi > I-Intel Compiler > Sebenzisa i-Intel oneAPI DPC++/C++ Compiler.
  6. Yakha kabusha, usebenzisa okuthi Yakha > Iphrojekthi kuphela > Yakha kabusha iphrojekthi eyodwa noma Yakha > Yakha kabusha Isixazululo ukuze uthole isixazululo.

Khetha inguqulo ye-Compiler
Uma unezinguqulo eziningi ze-Intel® oneAPI DPC++/C++ Compiler efakiwe, ungakhetha ukuthi iyiphi inguqulo oyifunayo ebhokisini lengxoxo Lokukhetha Kokuhlanganiswa:

  1. Khetha iphrojekthi, bese uya kokuthi Amathuluzi > Izinketho > I-Intel Compilers Nemitapo > > Abadidiyeli, kuphi amanani C++ noma DPC++.
  2. Sebenzisa imenyu yokudonsela phansi Ekhethiwe ukuze ukhethe uhlobo olufanele lomhlanganisi.
  3. Khetha KULUNGILE.

Shintshela Emuva Ku-Microsoft Visual Studio C++ Compiler
Uma iphrojekthi yakho isebenzisa i-Intel® oneAPI DPC++/C++ Compiler, ungakhetha ukushintshela ku-Microsoft Visual C++ compiler:

  1. Khetha iphrojekthi yakho ku-Microsoft Visual Studio.
  2. Chofoza kwesokudla bese ukhetha Intel Compiler > Sebenzisa Visual C++ kusukela kumenyu yokuqukethwe.

Lesi senzo sibuyekeza isisombululo file ukusebenzisa i-Microsoft Visual Studio C++ compiler. Konke ukulungiselelwa kwamaphrojekthi athintekile ahlanzwa ngokuzenzekelayo ngaphandle uma ukhetha Ungawahlanzi amaphrojekthi. Uma ukhetha ukungawahlanzi amaphrojekthi, uzodinga ukwakha kabusha amaphrojekthi abuyekeziwe ukuze uqinisekise wonke umthombo files ahlanganiswa nesihlanganisi esisha.

Yakha Uhlelo Kusuka Kulayini Womyalo
Sebenzisa izinyathelo ezilandelayo ukuhlola ukufakwa kwakho komhlanganisi futhi wakhe uhlelo.

  1. Sebenzisa isihleli sombhalo ukuze udale i file ebizwa ngokuthi hello-world.cpp nokuqukethwe okulandelayo:
    #faka int main() std::cout << “Sawubona, mhlaba!\n”; buyisela 0;
  2. Hlanganisa i-hello-world.cpp:
    icx sawubona-world.cpp
  3. Manje une-executable ebizwa ngokuthi hello-world.exe engaqhutshwa futhi izonikeza impendulo ngokushesha:
    sawubona-world.exe

Imiphi imiphumela:
Sawubona Mhlaba!

Ungaqondisa futhi ulawule ukuhlanganisa ngezinketho ze-compiler. Okwesiboneloample, ungakha into file bese ukhipha kanambambili wokugcina ngezinyathelo ezimbili:

  1.  Hlanganisa i-hello-world.cpp:
    icx sawubona-world.cpp /c /Fohello-world.obj
    Inketho ethi /c ivimbela ukuxhuma kulesi sinyathelo futhi /Fo icacisa igama lento file.
  2. Sebenzisa i-icx compiler ukuxhumanisa ikhodi yento yohlelo lokusebenza ewumphumela futhi ukhiphe okusebenzisekayo:
    icx hello-world.obj /Fehello-world.exe
  3. Inketho ye-/Fe icacisa okusebenzisekayo okukhiqizwayo file igama. Bheka Izinketho Zokuhlanganisa ukuze uthole imininingwane mayelana nezinketho ezitholakalayo.

Hlanganisa futhi Ukhiphe i-SampIkhodi

Amakhodi amaningi sampama-les anikezwa i-Intel® oneAPI DPC++/C++ Compiler ukuze ukwazi ukuhlola izici ze-compiler futhi uzijwayeze ukuthi isebenza kanjani. Okwesiboneloample:

i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-17i-intel-Get-Started-the-one-API-DPC ++-C++-Compiler-FIG-18

Izinyathelo Ezilandelayo

  • Sebenzisa i-API Code S yakamuvaamples bese ulandela kanye ne-Intel® oneAPI Training Resources.
  • Hlola i-Intel® oneAPI DPC++/C++ Compiler Developer Guide kanye nereferensi ku-Intel® Developer Zone.

Amadokhumenti / Izinsiza

intel Qalisa nge-OneAPI DPC ++/C++ Compiler [pdf] Umhlahlandlela Womsebenzisi
Qalisa ngeCompiler eyodwa ye-API DPC C, Qalisa nge-, OneAPI DPC C Compiler

Izithenjwa

Shiya amazwana

Ikheli lakho le-imeyili ngeke lishicilelwe. Izinkambu ezidingekayo zimakiwe *