intel Qalisa nge-oneAPI DPC ++/C++ Compiler
INTSHAYELELO
I-Intel® oneAPI DPC++/C++ Compiler ibonelela ngolungelelwaniso olunceda usetyenziso lwakho lubaleke ngokukhawuleza kwi-Intel® 64 yezakhiwo kwiWindows* kunye neLinux*, ngenkxaso yamva nje C, C++, kunye nemigangatho yolwimi yeSYCL. Lo mqokeleli uvelisa ikhowudi ephuculweyo enokuqhuba ngokukhawuleza ngokuthatha i-advantagi-e yokubala okungundoqo okuhlala kusanda kunye nobubanzi berejista yevektha kwiiprosesa ze-Intel® Xeon® kunye nabaqhubekekisi abahambelanayo. I-Intel® Compiler iya kukunceda ukhulise ukusebenza kwesicelo ngokusebenzisa ukulungelelaniswa okuphezulu kunye neVectorization yoMyalelo omnye oNye idatha (i-SIMD), ukudibanisa kunye ne-Intel® Performance Libraries, kunye nokuxhamla i-OpenMP * 5.0 / 5.1 imodeli yeprogram efanayo.
I-Intel® oneAPI DPC++/C++ Compiler iqokelela iC++-based SYCL* umthombo files kuluhlu olubanzi lwee-accelerator zekhompyutha.
I-Intel® oneAPI DPC++/C++ Compiler yinxalenye ye-Intel® oneAPI Toolkits.
Fumana Okungakumbi
Inkcazo yoMxholo kunye namakhonkco |
Khupha amanqaku Ndwendwela iPhepha leeNqaku zokuKhupha ngemiba eyaziwayo kunye nolona lwazi luhlaziyiweyo.
Intel® oneAPI Programming Guide Inika iinkcukacha kwi-Intel® oneAPI DPC++/C++ Compiler imodeli yenkqubo, kuquka neenkcukacha malunga neSYCL* kunye ne-OpenMP* yokukhuphela, inkqubo yee-accelerators ekujoliswe kuzo, kunye nokwaziswa kwiilayibrari ze-Intel® oneAPI. Intel® oneAPI DPC++/C++ Jonga i-Intel® oneAPI DPC++/C++ Comiler features kunye nokuseta kunye Compiler Developer Guide kunye fumana ulwazi oluthe kratya malunga neenketho zomqokeleli, iimpawu, kunye Isalathiso Kaninzi. OneAPI Code SampLes Phonononga ikhowudi ye-oneAPI yamva njeamples. • Intel® oneAPI Data Parallel C+ Buza imibuzo kwaye ufumane iimpendulo kwi-Intel® oneAPI Data Parallel C+ + Iforamu + kunye neeforam zeIntel® C ++ Compiler.
Intel® oneAPI DPC++/C++ Phonononga izifundo, izixhobo zoqeqesho, kunye nenye i-Intel® oneAPI Uxwebhu loMqokeleli I-DPC++/C++ Umqokeleli wamaxwebhu. SYCL Specification Version 1.2.1 Iinkcukacha zeSYCL, zicacisa ukuba i-SYCL idibanisa njani izixhobo ze-OpenCL PDF ngeC++ yangoku. https://www.khronos.org/sycl/ Uphelileview yeSYCL. I-GNU* C++ Library – Ukusebenzisa I-GNU* C++ uxwebhu lweThala leencwadi ekusebenziseni i-ABI ezimbini. Ii-ABI ezimbini |
Iileya zeProjekthi yeYocto* Yongeza amacandelo e-oneAPI kwiprojekthi yeYocto yokwakha usebenzisa i-meta-intel
iileya. |
Izaziso kunye neZikhuphelo
Iitekhnoloji ze-Intel zinokufuna i-Hardware, isoftware okanye isebenze.
- Akukho mveliso okanye inxalenye inokukhuseleka ngokupheleleyo.
- Iindleko zakho kunye neziphumo zinokwahluka.
© Intel Corporation. I-Intel, ilogo ye-Intel, kunye nezinye iimpawu ze-Intel ziimpawu zorhwebo ze-Intel Corporation okanye iinkampani eziphantsi kwayo. Amanye amagama kunye neempawu zingabangwa njengempahla yabanye.
Akukho layisenisi (ecaciswayo okanye ekhankanyiweyo, nge-estoppel okanye ngenye indlela) kuwo nawaphi na amalungelo epropathi enomgangatho ophezulu wokuqonda inikwe kolu xwebhu.
Iimveliso ezichaziweyo zinokuqulatha iziphene zoyilo okanye iimpazamo ezaziwa ngokuba yierrata ezinokubangela ukuba imveliso ijike kwiinkcukacha ezipapashiweyo. Iimpazamo ezikhoyo ngoku ziyafumaneka xa ziceliwe.
I-Intel iyazikhupha zonke iziqinisekiso ezicacileyo nezichaziweyo, kubandakanywa ngaphandle komlinganiselo, iziqinisekiso ezichaziweyo zokurhweba, ukufaneleka kwenjongo ethile, kunye nokungonakali, kunye nayo nayiphi na iwaranti evela kwikhosi yokusebenza, ikhosi yokuthengisa, okanye ukusetyenziswa kwezorhwebo.
Qalisa kwiLinux
Ngaphambi kokuba Uqale
Cwangcisa ukuguquguquka kokusingqongileyo
Phambi kokuba usebenzise umqokeleli, kufuneka uqale usete iiguquguquko zemekobume ngokukhangela okusingqongileyo okushicilelweyo usebenzisa into eluncedo yokuqalisa. Oku kuqalisa zonke izixhobo kwinqanaba elinye.
- Qinisekisa uvimba wakho wofakelo, :
- a. Ukuba umqokeleli wakho ufakwe kwindawo engagqibekanga ngumsebenzisi oyingcambu okanye umsebenzisi we-sudo, umqokeleli uya kufakwa phantsi/opt/intel/oneapi. Kule meko, yi/opt/intel/oneapi.
- b. Kubasebenzisi abangazingcambu, ulawulo lwakho lwasekhaya phantsi kwe-intel/oneapi luyasetyenziswa. Kule meko,
iya kuba yi-$HOME/intel/oneapi. - c. Kubasebenzisi beqela okanye beshishini, iqela lakho lolawulo linokuba lifake abaqulunqi kwinethiwekhi ekwabelwana ngayo file inkqubo. Jonga kunye nabasebenzi bendawo yakho yolawulo malunga nendawo yofakelo
( ).
- Umthombo weskripthi sokusetwa kokusingqongileyo kwiqokobhe lakho:
- a. bash: umthombo /setvars.sh intel64
- b. csh/tcsh: umthombo /setvars.csh intel64
Faka iiDriver zeGPU okanye iiPlug-ins (Ngokuzikhethela)
Ungaphuhlisa usetyenziso lwe-oneAPI usebenzisa i-C++ kunye ne-SYCL* eya kusebenza kwi-Intel, AMD*, okanye i-NVIDIA* GPUs. Ukuphuhlisa kunye nokusebenzisa usetyenziso lwee-GPU ezithile kufuneka uqale ufake abaqhubi abahambelanayo okanye iiplagi:
- Ukusebenzisa i-Intel GPU, faka iidrive ze-Intel GPU zakutsha nje.
- Ukusebenzisa i-AMD GPU, faka i-oneAPI ye-AMD GPUs plugin.
- Ukusebenzisa i-NVIDIA GPU, faka i-oneAPI ye-plugin ye-NVIDIA GPUs.
Indlela yoku-1: Sebenzisa iLayini yomyalelo
I-Intel® oneAPI DPC++/C++ Compiler ibonelela ngabaqhubi abaninzi:
Biza umqokeleli usebenzisa le syntax ilandelayo:
{umqhubi womqokeleli} [ukhetho] file1file2…]
Umzekeloample:
icpx molo-world.cpp
Kuqulunqo lweSYCL, sebenzisa i -fsycl ukhetho ngomqhubi weC++:
icpx -fsycl molo-world.cpp
PHAWULA: Xa usebenzisa -fsycl, -fsycl-targets=spir64 ithathwa ngaphandle kokuba i-fsycl-targets ibekwe ngokucacileyo kumyalelo.
Ukuba ujolise kwi-NVIDIA okanye i-AMD GPU, bhekisa kwiplagi ehambelanayo yeGPU yokuqalisa isikhokelo semiyalelo eneenkcukacha yokudibanisa:
- OneAPI yeNVIDIA GPUs Qalisa Isikhokelo
- oneAPI ye-AMD GPUs Qalisa Isikhokelo
Ukhetho lwesi-2: Sebenzisa i-Eclipse* CDT
Landela la manyathelo ukucela umqokeleli ngaphakathi kwe-Eclipse* CDT.
Faka iplagi ye-Intel® Compiler Eclipse CDT.
- Qalisa i-Eclipse
- Khetha Uncedo > Faka iSoftware Entsha
- Khetha Yongeza ukuvula incoko yababini yeNdawo
- Khetha i-Archive, khangela kulawulo /umqokeleli/ /linux/ide_support, khetha i-.zip file eqala ngo com.intel.dpcpp.compiler, uze ukhethe Lungile
- Khetha iinketho eziqala nge-Intel, khetha Okulandelayo, emva koko ulandele imiyalelo yokufaka
- Xa ubuzwa ukuba ufuna ukuyiqalisa kwakhona i-Eclipse*, khetha Ewe
Yakha iprojekthi entsha okanye uvule iprojekthi esele ikhona.
- Vula iProjekthi ekhoyo okanye wenze iProjekthi eNtsha kwi-Eclipse
- Cofa ekunene kwiProjekthi> Iipropati> C/C++ Yakha> Umhleli wekhonkco lesixhobo
- Khetha i-Intel DPC++/C++ Compiler ukusuka kwindawo ekunene
Cwangcisa ubumbeko bokwakha.
- Vula iProjekthi ekhoyo kwi-Eclipse
- Cofa ekunene kwiProjekthi> Iipropati> C/C++ Yakha> Useto
- Yenza okanye ulawule ubumbeko bokwakha kwiqela lenjongo elungileyo
Yakha iNkqubo kwiLayini yoMyalelo
Sebenzisa la manyathelo alandelayo ukuvavanya ukufakela komqokeleli kunye nokwakha inkqubo.
- Sebenzisa umhleli wokubhaliweyo ukwenza i file ebizwa ngokuba hello-world.cpp ngeziqulatho zilandelayo:
- Qokelela i-hello-world.cpp:
icpx molo-world.cpp -o molweni-lihlabathi
U-o ukhetho lukhankanya i file igama lemveliso eyenziweyo. - Ngoku unokuphunyezwa okubizwa ngokuba yi-hello-world enokuthi iqhutywe kwaye iya kunika ingxelo kwangoko:
Zeziphi iziphumo
Ungaqondisa kwaye ulawule ukuqokelelwa kunye neenketho zomqokeleli. Umzekeloample, ungenza into file kwaye ukhuphe i-binary yokugqibela ngamanyathelo amabini:
- Qokelela i-hello-world.cpp:
U -c ukhetho lunqanda ukudibanisa kweli nyathelo.
- Sebenzisa i-icpx compiler ukudibanisa ikhowudi yesicelo esinesiphumo kunye nemveliso ephunyeziweyo:
U -o ukhetho luxela olwenziwayo oluphunyeziweyo file igama. Jonga kwiiKhetho zoMqokeleli ngeenkcukacha malunga nokhetho olukhoyo.
Qalisa kwiWindows
Ngaphambi kokuba Uqale
Cwangcisa ukuguquguquka kokusingqongileyo
Umqokeleli udibanisa kwezi nguqulelo zilandelayo zeMicrosoft Visual Studio*:
- Isitudiyo esibonakalayo sika-2022
- Isitudiyo esibonakalayo sika-2019
- Isitudiyo esibonakalayo sika-2017
PHAWULA Inkxaso ye-Microsoft Visual Studio 2017 ihoxisiwe njengokukhutshwa kwe-Intel® oneAPI 2022.1 kwaye iya kususwa ekukhutshweni kwexesha elizayo.
Ukuze kusebenze ngokupheleleyo ngaphakathi kweVisual Studio, kubandakanywa ukulungisa iimpazamo kunye nophuhliso, uHlelo loLuntu lweVisual Studio okanye ngaphezulu luyafuneka. Ushicilelo lwe-Visual Studio Express luvumela kuphela ukwakhiwa komgca womyalelo. Kuzo zonke iinguqulelo, inkxaso yeMicrosoft C++ kufuneka ikhethwe njengenxalenye yokuhlohla kweVisual Studio. Kwi-Visual Studio 2017 kwaye kamva, kufuneka usebenzise ukufakela ngokwesiko ukukhetha olu khetho.
Awudingi kucwangcisa iimeko-bume eziguquguqukayo kwi-Windows, njengoko iwindow yomgca womyalelo womqokeleli imisela ezi ziguquguqukayo ngokuzenzekelayo. Ukuba ufuna ukuseta izinto eziguquguqukayo zemeko-bume, sebenzisa okusingqongileyo okushicilelweyo njengoko kuchaziwe kwi-suite-ithile ethi Qalisa uxwebhu.
Uluhlu lofakelo olungagqibekanga ( ) yi C:\ Inkqubo Files (x86)\Intel\oneAPI.
Faka abaqhubi beGPU (Ngokuzikhethela)
Ukuphuhlisa nokusebenzisa izicelo ze-Intel GPUs kufuneka uqale ufake iidrive ze-Intel GPU zakutsha nje.
Ukhetho loku-1: Sebenzisa iLayini yomyalelo kwiMicrosoft Visual Studio
I-Intel® oneAPI DPC++/C++ Compiler ibonelela ngabaqhubi abaninzi:
Biza umqokeleli usebenzisa le syntax ilandelayo:
Ukucela umqokeleli usebenzisa umgca womyalelo ongaphakathi kweMicrosoft Visual Studio, vula umyalelo womyalelo kwaye ufake umyalelo wakho wokudibanisa. Umzekeloample:
Kuqulunqo lweSYCL, sebenzisa i -fsycl ukhetho ngomqhubi weC++:
PHAWULA: Xa usebenzisa -fsycl, -fsycl-targets=spir64 ithathwa ngaphandle kokuba i-fsycl-targets ibekwe ngokucacileyo kumyalelo.
Ukhetho 2: Sebenzisa iMicrosoft Visual Studio
Inkxaso yeProjekthi ye-Intel® DPC++/C++ Compiler kwi-Microsoft Visual Studio
Iiprojekthi ezintsha zikaMicrosoft Visual Studio zeDPC++ zibumbeke ngokuzenzekelayo ukuba zisebenzise i-Intel® oneAPI DPC++/C++ Compiler.
Iiprojekthi ezintsha zeMicrosoft Visual C++* (MSVC) kufuneka ziqwalaselwe ngesandla ukuze kusetyenziswe iIntel® oneAPI DPC++/C++ Compiler.
PHAWULA: Iintlobo zeprojekthi ze-NET ze-CLR C++ azixhaswanga yi-Intel® oneAPI DPC++/C++ Compiler. Iindidi zeprojekthi ezithile ziya kwahluka ngokuxhomekeke kuguqulelo lwakho lweVisual Studio, umzample: Ithala leencwadi leKlasi yeCLR, i-CLR Console App, okanye iProjekthi engenanto yeCLR.
Sebenzisa iIntel® DPC++/C++ Compiler kwiMicrosoft Visual Studio
Amanyathelo achanekileyo anokwahluka ngokuxhomekeke kuhlobo lweMicrosoft Visual Studio esetyenziswayo.
- Yenza iprojekthi yeMicrosoft Visual C++ (MSVC) okanye uvule iprojekthi esele ikhona.
- KwiSolution Explorer, khetha iprojekthi (ii) ukwakha kunye ne-Intel® oneAPI DPC ++/C++ Compiler.
- Vula iProjekthi > Iipropati .
- Kwipheyini esekhohlo, yandisa i Iimpahla zoqwalaselo udidi kwaye ukhethe i Impahla ngokubanzi iphepha.
- Kwipheyini ekunene tshintsha iSixhobo seSixhobo kumqokeleli ofuna ukusisebenzisa:
- Kwi-C++ nge-SYCL, khetha i-Intel® oneAPI DPC++ Compiler.
- Kwi-C/C++, zimbini izixhobo zokusebenza.
Khetha i-Intel C++ Compiler (umzample 2021) ukucela icx.
Khetha i-Intel C++ Compiler (umzample 19.2) ukucela icl.
Kungenjalo, unokucacisa uguqulelo lomqokeleli njengesixhobo sezixhobo kuzo zonke iiplatifti ezixhaswayo kunye noqwalaselo lweprojekthi (ii) ezikhethiweyo ngokukhetha iProjekthi > Intel Compiler > Sebenzisa i-Intel oneAPI DPC ++/C++ Compiler.
- Yakha kwakhona, usebenzisa nokuba Yakha > Iprojekthi kuphela > Yakha kwakhona iprojekthi enye okanye Yakha > Yakha kwakhona Isisombululo ukuze ufumane isisombululo.
Khetha Inguqulelo Yokuhlanganisela
Ukuba uneenguqulelo ezininzi zeIntel® oneAPI DPC++/C++ Compiler efakiweyo, ungakhetha ukuba loluphi uhlobo olufunayo kwibhokisi yencoko yababini yoKhetho loMqulunqi:
- Khetha iprojekthi, emva koko uye kwiZixhobo> Khetha> Abahlanganisi be-Intel kunye neelayibrari> > Abaqulunqi, phi amaxabiso yi C++ okanye DPC++.
- Sebenzisa iMenu yokulahla eKhethiweyo yomqokeleli ukukhetha uhlobo olufanelekileyo lomqokeleli.
- Khetha Lungile.
Tshintshela emva kwiMicrosoft Visual Studio C++ Compiler
Ukuba iprojekthi yakho isebenzisa iIntel® oneAPI DPC++/C++ Compiler, ungakhetha ukutshintshela umva kwiMicrosoft Visual C++ compiler:
- Khetha iprojekthi yakho kwiMicrosoft Visual Studio.
- Cofa ekunene kwaye ukhethe i-Intel Compiler> Sebenzisa iVisual C++ kwimenyu yomxholo.
Esi senzo sihlaziya isisombululo file ukusebenzisa iMicrosoft Visual Studio C++ compiler. Lonke ulungelelwaniso lweeprojekthi ezichaphazelekayo zicocwa ngokuzenzekelayo ngaphandle kokuba ukhethe Ungacoci (iiprojekthi). Ukuba ukhetha ukungacoci iiprojekthi, kuya kufuneka uphinde wakhe iiprojekthi ezihlaziyiweyo ukuze uqinisekise wonke umthombo files zidityaniswe nomqokeleli omtsha.
Yakha iNkqubo kwiLayini yoMyalelo
Sebenzisa la manyathelo alandelayo ukuvavanya ukufakela komqokeleli kunye nokwakha inkqubo.
- Sebenzisa umhleli wokubhaliweyo ukwenza i file ebizwa ngokuba hello-world.cpp ngeziqulatho zilandelayo:
#zibandakanya int main() std::cout << “Molo, hlabathi!\n”; buyisela i-0; - Qokelela i-hello-world.cpp:
icx molo-world.cpp - Ngoku unokuphunyezwa okubizwa ngokuba yi-hello-world.exe enokuthi iqhutywe kwaye iya kunika impendulo kwangoko:
molo-world.exe
Zeziphi iziphumo:
Molo Lizwe!
Ungaqondisa kwaye ulawule ukuqokelelwa kunye neenketho zomqokeleli. Umzekeloample, ungenza into file kwaye ukhuphe i-binary yokugqibela ngamanyathelo amabini:
- Qokelela i-hello-world.cpp:
icx molo-world.cpp /c /Fohello-world.obj
Ukhetho lwe /c lunqanda ukudibanisa kweli nyathelo kwaye /Fo ikhankanya igama lento file. - Sebenzisa iicx compiler ukudibanisa ikhowudi yesicelo esinesiphumo kunye nemveliso ephunyeziweyo:
icx molo-world.obj /Fehello-world.exe - Ukhetho lwe/Fe luxela olwenziwayo oluphunyeziweyo file igama. Jonga kwiiKhetho zoMqokeleli ngeenkcukacha malunga nokhetho olukhoyo.
Qokelela kwaye wenze i-SampIkhowudi
Iikhowudi ezininzi sampLes ibonelelwa kwi-Intel® oneAPI DPC++/C++ Compiler ukuze ukwazi ukuphonononga iimpawu zomqokeleli kwaye uziqhelanise nendlela esebenza ngayo. Umzekeloample:
Amanyathelo Alandelayo
- Sebenzisa iKhowudi ye-API yamva njeampLes kwaye ulandele kunye ne-Intel® oneAPI yoQeqesho lweZibonelelo.
- Phonononga i-Intel® oneAPI DPC++/C++ IsiKhokelo soPhuhlisi soMqulunqi kunye neNgcaciso kuMmandla woMphuhlisi we-Intel®.
Amaxwebhu / Izibonelelo
![]() |
intel Qalisa nge-oneAPI DPC ++/C++ Compiler [pdf] Isikhokelo somsebenzisi Qalisa nge-API enye ye-DPC C Compiler, Qalisa nge-, OneAPI DPC C Compiler |