intel Бо компилятори oneAPI DPC ++/C++ оғоз кунед
МУҚАДДИМА
Compiler Intel® oneAPI DPC++/C++ оптимизатсияҳоро таъмин мекунад, ки ба барномаҳои шумо дар меъмории Intel® 64 дар Windows* ва Linux* бо дастгирии стандартҳои охирини забони C, C++ ва SYCL ёрӣ мерасонад. Ин компилятор рамзи оптимизатсияшуда истеҳсол мекунад, ки метавонад тавассути гирифтани пешравӣ ба таври назаррас тезтар кор кунадtage аз афзоиши доимии ҳисобҳои аслӣ ва паҳнои феҳристи векторҳо дар протсессори Intel® Xeon® ва протсессори мувофиқ. Compiler Intel® ба шумо дар баланд бардоштани самаранокии барномаҳо тавассути оптимизатсияи олӣ ва векторизатсияи як дастури чандкаратаи додаҳо (SIMD), ҳамгироӣ бо китобхонаҳои Intel® Performance ва бо истифода аз модели барномасозии параллелӣ OpenMP* 5.0/5.1 кӯмак мекунад.
Compiler Intel® oneAPI DPC++/C++ манбаи SYCL*-ро дар асоси C++ тартиб медиҳад fileс барои доираи васеи суръатбахшҳои ҳисоббарор.
Compiler Intel® oneAPI DPC++/C++ як қисми Toolkits Intel® oneAPI мебошад.
Бештар пайдо кунед
Тавсифи мундариҷа ва истинодҳо |
Қайдҳои нашр Барои масъалаҳои маълум ва иттилооти навтарин ба саҳифаи ёддоштҳои нашр нигаред.
Дастури барномасозии Intel® oneAPI Тафсилотро дар бораи Compiler Intel® oneAPI DPC++/C++ пешниҳод мекунад модели барномасозӣ, аз ҷумла тафсилот дар бораи борфарорӣ SYCL* ва OpenMP*, барномасозӣ барои суръатбахшҳои гуногуни мақсаднок ва муқаддимаҳо ба китобхонаҳои Intel® oneAPI. Intel® oneAPI DPC++/C++ Хусусиятҳои Compiler Intel® oneAPI DPC++/C++-ро омӯзед ва насб кунед Дастури таҳиякунанда ва Маълумоти муфассалтар дар бораи имконоти компилятор, атрибутҳо ва Истинод Бештар. OneAPI Code Samples Коди охирини oneAPI-ро омӯзедamples. • Intel® oneAPI Data Parallel C+ Саволҳо пурсед ва дар Intel® oneAPI Data Parallel C+ ҷавоб ёбед + Форум + ва форумҳои Compiler Intel® C++.
Intel® oneAPI DPC++/C++ Дарсҳо, маводи таълимӣ ва дигар Intel® oneAPI-ро омӯзед Ҳуҷҷатҳои компилятор Ҳуҷҷатҳои компилятори DPC++/C++. Версияи мушаххаси SYCL 1.2.1 Мушаххасоти SYCL мефаҳмонад, ки чӣ тавр SYCL дастгоҳҳои OpenCL-ро муттаҳид мекунад PDF бо C++ муосир. https://www.khronos.org/sycl/ Як барview аз SYCL. Китобхонаи GNU* C++ - Истифодаи Ҳуҷҷатҳои китобхонаи GNU* C++ оид ба истифодаи дугонаи ABI. ABI дугона |
Қабатҳо барои лоиҳаи Yocto* Ба сохтани лоиҳаи Yocto бо истифода аз meta-intel ҷузъҳои oneAPI илова кунед
қабатҳо. |
Огоҳиҳо ва Радди Радди
Технологияҳои Intel метавонад сахтафзор, нармафзор ё фаъолсозии хидматро талаб кунад.
- Ягон маҳсулот ё ҷузъе комилан бехатар буда наметавонад.
- Хароҷоти шумо ва натиҷаҳои шумо метавонанд фарқ кунанд.
© Корпоратсияи Intel. Intel, логотипи Intel ва дигар тамғаҳои Intel тамғаҳои тиҷоратии Intel Corporation ё филиалҳои он мебошанд. Дигар номҳо ва брендҳо метавонанд ҳамчун моликияти дигарон даъво карда шаванд.
Дар ин ҳуҷҷат ҳеҷ гуна иҷозатнома ба ягон ҳуқуқи моликияти зеҳнӣ (иҷозатнома ё дар назар дошташуда) дода намешавад.
Маҳсулоти тавсифшуда метавонанд дорои нуқсонҳои тарҳрезӣ ё хатогиҳое бошанд, ки бо номи errata маълуманд, ки метавонанд боиси дур шудани маҳсулот аз мушаххасоти нашршуда шаванд. Хатогиҳои ҷории тавсифшуда тибқи дархост дастрасанд.
Intel ҳама кафолатҳои возеҳ ва дар назар дошташуда, аз ҷумла бидуни маҳдудият, кафолатҳои пешбинишудаи тиҷоратӣ, мувофиқат ба ҳадафи мушаххас ва вайрон накардани ҳуқуқ, инчунин ҳама гуна кафолатҳоеро, ки аз рафти иҷроиш, рафти муомилот ё истифода дар тиҷорат бармеоянд, рад мекунад.
Дар Linux оғоз кунед
Пеш аз он ки шумо оғоз кунед
Тағйирёбандаҳои муҳити атрофро таъин кунед
Пеш аз он ки шумо компиляторро истифода баред, шумо бояд аввал тағирёбандаҳои муҳити зистро тавассути дарёфти скрипти муҳити зист бо истифода аз утилитаи ибтидосозӣ танзим кунед. Ин ҳама асбобҳоро дар як қадам оғоз мекунад.
- Феҳристи насби худро муайян кунед, :
- a. Агар компилятори шумо дар макони пешфарз аз ҷониби корбари реша ё корбари sudo насб карда шуда бошад, компилятор дар зери/opt/intel/oneapi насб карда мешавад. Дар ин маврид, аст /opt/intel/oneapi.
- b. Барои корбарони ғайридавлатӣ, феҳристи хонагии шумо дар зери Intel/oneapi истифода мешавад. Дар ин маврид,
$HOME/intel/oneapi хоҳад буд. - c. Барои корбарони кластер ё корхона, дастаи администратори шумо шояд компиляторҳоро дар шабакаи муштарак насб карда бошад file система. Бо кормандони администратори маҳаллии худ барои ҷойгиршавии насб маълумот гиред
( ).
- Сарчашмаи скрипти танзимкунандаи муҳити зист барои қабати худ:
- a. bash: сарчашма /setvars.sh intel64
- b. csh/tcsh: сарчашма /setvars.csh intel64
Драйверҳои GPU ё плагинҳоро насб кунед (ихтиёрӣ)
Шумо метавонед барномаҳои oneAPI-ро бо истифода аз C++ ва SYCL* таҳия кунед, ки дар Intel, AMD* ё NVIDIA* GPU кор мекунанд. Барои таҳия ва иҷро кардани барномаҳо барои GPU-ҳои мушаххас шумо бояд аввал драйверҳо ё плагинҳои мувофиқро насб кунед:
- Барои истифодаи GPU Intel, драйверҳои навтарини Intel GPU -ро насб кунед.
- Барои истифодаи GPU AMD, як API-ро барои плагини AMD GPUs насб кунед.
- Барои истифодаи GPU NVIDIA, плагини oneAPI-ро барои NVIDIA GPUs насб кунед.
Варианти 1: Сатри Фармонро истифода баред
Compiler Intel® oneAPI DPC++/C++ якчанд драйверҳоро таъмин мекунад:
Бо истифода аз синтаксиси зерин компиляторро даъват кунед:
{драйвери компилятор} [интихоб] file1 [file2…]
Барои мисолampле:
icpx hello-world.cpp
Барои тартиб додани SYCL, опсияи -fsycl-ро бо драйвери C++ истифода баред:
icpx -fsycl hello-world.cpp
ШАРҲ: Ҳангоми истифодаи -fsycl, -fsycl-targets=spir64 тахмин карда мешавад, агар -fsycl-targets дар фармон ба таври возеҳ муқаррар карда нашавад.
Агар шумо NVIDIA ё AMD GPU-ро ҳадаф қарор диҳед, барои дастурҳои муфассали тартибдиҳӣ ба дастури плагини мувофиқи GPU муроҷиат кунед:
- oneAPI барои NVIDIA GPUs Дастури оғози кор
- oneAPI барои GPUs AMD Дастури оғози кор
Варианти 2: Eclipse* CDT-ро истифода баред
Барои даъват кардани компилятор аз дохили Eclipse* CDT, ин қадамҳоро иҷро кунед.
Васлкунаки Intel® Compiler Eclipse CDT-ро насб кунед.
- Eclipse-ро оғоз кунед
- Кӯмак > Насби нармафзори навро интихоб кунед
- Барои кушодани муколамаи Иловаи сайт, Иловаро интихоб кунед
- Архивро интихоб кунед, ба феҳрист равед /мураттиб/ /linux/ide_support, .zip-ро интихоб кунед file ки бо com.intel.dpcpp.compiler оғоз мешавад, пас Хуб-ро интихоб кунед
- Параметрҳои аз Intel саршударо интихоб кунед, Баъдӣ -ро интихоб кунед ва дастурҳои насбкуниро иҷро кунед
- Вақте пурсида мешавад, ки оё шумо мехоҳед Eclipse*-ро бозоғоз намоед, Ҳа-ро интихоб кунед
Лоиҳаи нав созед ё лоиҳаи мавҷударо кушоед.
- Лоиҳаи мавҷударо кушоед ё лоиҳаи навро дар Eclipse эҷод кунед
- Лоиҳаро пахш кунед> Хусусиятҳо> C/C++ Сохта> Муҳаррири занҷираи асбобҳо
- Аз панели рост Compiler Intel DPC++/C++ -ро интихоб кунед
Танзимоти конфигуратсияи сохтмон.
- Лоиҳаи мавҷударо дар Eclipse кушоед
- Лоиҳаи ростро клик кунед> Хусусиятҳо> C/C++ Build> Танзимотҳо
- Дар панели рост конфигуратсияҳои сохтмонро созед ё идора кунед
Аз сатри фармон барнома созед
Барои санҷидани насби компилятор ва сохтани барнома қадамҳои зеринро истифода баред.
- Барои эҷод кардани муҳаррири матн истифода баред file номи hello-world.cpp бо мазмуни зерин:
- hello-world.cpp тартиб диҳед:
icpx hello-world.cpp -эй салом-дуньё
Опсияи -o -ро муайян мекунад file ном барои баромади тавлидшуда. - Ҳоло шумо файли иҷрошаванда доред, ки hello-world ном дорад, ки онро иҷро кардан мумкин аст ва дарҳол фикру мулоҳизаҳои худро медиҳад:
Кадом натиҷаҳо
Шумо метавонед компиляцияро бо имконоти компилятор роҳнамоӣ ва назорат кунед. Барои мисолample, шумо метавонед объектро эҷод кунед file ва бинарии ниҳоиро дар ду қадам баровардан:
- hello-world.cpp тартиб диҳед:
Опсияи -c пайвандро дар ин қадам пешгирӣ мекунад.
- Компилятори icpx -ро барои пайваст кардани коди объекти замимаи натиҷавӣ ва баровардани файли иҷрошаванда истифода баред:
Опсияи -o файли иҷрошавандаи тавлидшударо муайян мекунад file ном. Барои тафсилот дар бораи имконоти дастрас ба Имконотҳои Compiler муроҷиат кунед.
Дар Windows оғоз кунед
Пеш аз он ки шумо оғоз кунед
Тағйирёбандаҳои муҳити атрофро таъин кунед
Компилятор ба версияҳои зерини Microsoft Visual Studio* ҳамгиро мешавад:
- Visual Studio 2022
- Visual Studio 2019
- Visual Studio 2017
ШАРҲ Дастгирии Microsoft Visual Studio 2017 аз замони нашри Intel® oneAPI 2022.1 бекор карда шудааст ва дар нашри оянда хориҷ карда мешавад.
Барои фаъолияти пурраи Visual Studio, аз ҷумла ислоҳ ва таҳия, Visual Studio Community Edition ё навтар талаб карда мешавад. Visual Studio Express Edition танҳо ба сохтани сатри фармон иҷозат медиҳад. Барои ҳама версияҳо, дастгирии Microsoft C++ бояд ҳамчун як қисми насби Visual Studio интихоб карда шавад. Барои Visual Studio 2017 ва баъдтар, шумо бояд насби фармоиширо барои интихоби ин интихоб истифода баред.
Одатан ба шумо лозим нест, ки тағирёбандаҳои муҳити зистро дар Windows насб кунед, зеро равзанаи сатри фармони компилятор ин тағирёбандаҳоро барои шумо ба таври худкор муқаррар мекунад. Агар ба шумо лозим аст, ки тағирёбандаҳои муҳити зистро таъин кунед, скрипти муҳити зистро тавре иҷро кунед, ки дар ҳуҷҷатҳои мушаххаси Оғози оғозёбӣ тавсиф шудааст.
Феҳристи насби пешфарз ( ) C:\Program аст Files (x86)\Intel\oneAPI.
Драйверҳои GPU насб кунед (ихтиёрӣ)
Барои таҳия ва иҷро кардани барномаҳо барои Intel GPUs, шумо бояд аввал драйверҳои навтарини Intel GPU -ро насб кунед.
Варианти 1: Сатри Фармонро дар Microsoft Visual Studio истифода баред
Compiler Intel® oneAPI DPC++/C++ якчанд драйверҳоро таъмин мекунад:
Бо истифода аз синтаксиси зерин компиляторро даъват кунед:
Барои даъват кардани компилятор бо истифода аз сатри фармон аз дохили Microsoft Visual Studio, сатри фармонро кушоед ва фармони компиляцияи худро ворид кунед. Барои мисолampле:
Барои тартиб додани SYCL, опсияи -fsycl-ро бо драйвери C++ истифода баред:
ШАРҲ: Ҳангоми истифодаи -fsycl, -fsycl-targets=spir64 тахмин карда мешавад, агар -fsycl-targets дар фармон ба таври возеҳ муқаррар карда нашавад.
Варианти 2: Истифодаи Microsoft Visual Studio
Дастгирии лоиҳа барои Compiler Intel® DPC++/C++ дар Microsoft Visual Studio
Лоиҳаҳои нави Microsoft Visual Studio барои DPC++ ба таври худкор барои истифодаи Compiler Intel® oneAPI DPC++/C++ танзим карда мешаванд.
Лоиҳаҳои нави Microsoft Visual C++* (MSVC) бояд ба таври дастӣ барои истифодаи Compiler Intel® oneAPI DPC++/C++ танзим карда шаванд.
ШАРҲ: Намудҳои лоиҳаи CLR C++-ро дар NET асосёфта аз ҷониби Intel® oneAPI DPC++/C++ Compiler дастгирӣ намекунанд. Намудҳои мушаххаси лоиҳа вобаста ба версияи Visual Studio, масалан, фарқ мекунандample: Китобхонаи Синфи CLR, Барномаи CLR Console ё Лоиҳаи CLR Empty.
Дар Microsoft Visual Studio Compiler Intel® DPC++/C++-ро истифода баред
Қадамҳои дақиқ вобаста ба версияи Microsoft Visual Studio дар истифода метавонанд фарқ кунанд.
- Лоиҳаи Microsoft Visual C++ (MSVC) эҷод кунед ё лоиҳаи мавҷударо кушоед.
- Дар Solution Explorer, лоиҳа(ҳо)-ро барои сохтан бо Compiler Intel® oneAPI DPC++/C++ интихоб кунед.
- Лоиҳа > Хусусиятҳоро кушоед.
- Дар панели чап, категорияи Хусусиятҳои конфигуратсияро васеъ кунед ва саҳифаи моликияти умумиро интихоб кунед.
- Дар панели рост Маҷмӯи абзорҳои платформаро ба компиляте, ки мехоҳед истифода баред, тағир диҳед:
- Барои C++ бо SYCL, Compiler Intel® oneAPI DPC++ -ро интихоб кунед.
- Барои C/C++ ду абзор мавҷуд аст.
Compiler Intel C++-ро интихоб кунед (масаланample 2021) барои даъват кардани icx.
Compiler Intel C++-ро интихоб кунед (масаланample 19.2) даъват кардани icl.
Интихобан, шумо метавонед версияи компиляторро ҳамчун маҷмӯи абзорҳо барои ҳамаи платформаҳои дастгирӣшаванда ва конфигуратсияҳои лоиҳа(ҳо)-и интихобшуда бо интихоби Лоиҳа > Compiler Intel > Истифодаи Intel oneAPI DPC++/C++ Compiler муайян кунед.
- Аз нав сохтан, бо истифода аз Сохтан > Танҳо Лоиҳа > Бозсозӣ барои як лоиҳа ё Сохтани > Rebuild Solution барои ҳалли.
Версияи компиляторро интихоб кунед
Агар шумо якчанд версияи Intel® oneAPI DPC++/C++ Compiler насб карда бошед, шумо метавонед аз қуттии муколамаи Интихоби Compiler кадом версияи дилхоҳатонро интихоб кунед:
- Лоиҳаро интихоб кунед, пас ба Асбобҳо > Имконот > Компиляторҳо ва китобхонаҳои Intel > гузаред > Мураттибон, дар куҷо арзишҳо C++ ё DPC++ мебошанд.
- Барои интихоби версияи мувофиқи компилятор аз менюи афтанда интихобшуда истифода баред.
- Хуб-ро интихоб кунед.
Бозгашт ба Compiler Microsoft Visual Studio C++
Агар лоиҳаи шумо компилятори Intel® oneAPI DPC++/C++-ро истифода барад, шумо метавонед дубора ба компилятори Microsoft Visual C++ гузаред:
- Лоиҳаи худро дар Microsoft Visual Studio интихоб кунед.
- Тугмаи ростро клик кунед ва аз менюи контекстӣ Intel Compiler > Истифодаи Visual C++ -ро интихоб кунед.
Ин амал ҳалли худро нав мекунад file барои истифода аз компилятори Microsoft Visual Studio C++. Ҳама конфигуратсияҳои лоиҳаҳои зарардида ба таври худкор тоза карда мешаванд, агар шумо Лоиҳаҳоро тоза накунед. Агар шумо интихоб накунед, ки лоиҳаҳоро тоза накунед, ба шумо лозим меояд, ки лоиҳаҳои навшударо аз нав созед, то тамоми манбаъро таъмин кунед fileс бо компилятори нав тартиб дода мешаванд.
Аз сатри фармон барнома созед
Барои санҷидани насби компилятор ва сохтани барнома қадамҳои зеринро истифода баред.
- Барои эҷод кардани муҳаррири матн истифода баред file номи hello-world.cpp бо мазмуни зерин:
#дарбар мегирад int main() std::cout << “Салом, ҷаҳон!\n”; баргардонидани 0; - hello-world.cpp тартиб диҳед:
icx hello-world.cpp - Ҳоло шумо файли иҷрошавандае доред, ки hello-world.exe ном дорад, ки онро иҷро кардан мумкин аст ва фавран фикру мулоҳизаҳои худро медиҳад:
hello-world.exe
Кадом натиҷаҳо:
Салом Ҷаҳон!
Шумо метавонед компиляцияро бо имконоти компилятор роҳнамоӣ ва назорат кунед. Барои мисолample, шумо метавонед объектро эҷод кунед file ва бинарии ниҳоиро дар ду қадам баровардан:
- hello-world.cpp тартиб диҳед:
icx hello-world.cpp /c /Fohello-world.obj
Опсияи /c пайвандро дар ин қадам пешгирӣ мекунад ва /Fo номи объектро муайян мекунад file. - Компилятори icx-ро барои пайваст кардани коди объекти замимаи натиҷавӣ ва баровардани файли иҷрошаванда истифода баред:
icx hello-world.obj /Fehello-world.exe - Опсияи /Fe файли иҷрошавандаи тавлидшударо муайян мекунад file ном. Барои тафсилот дар бораи имконоти дастрас ба Имконотҳои Compiler муроҷиат кунед.
Тартиб додан ва иҷро кардани Сample Кодекс
Рамзи сершумор сamples барои Intel® oneAPI DPC++/C++ Compiler пешниҳод карда шудаанд, то шумо метавонед хусусиятҳои компиляторро омӯзед ва бо тарзи кори он шинос шавед. Барои мисолampле:
Қадамҳои оянда
- Яке аз охирини API Code S -ро истифода баредamples ва якҷоя бо захираҳои таълимии Intel® oneAPI пайравӣ кунед.
- Дастури таҳиякунанда ва истинод ба Intel® oneAPI DPC++/C++-ро дар минтақаи таҳиягари Intel® омӯзед.
Ҳуҷҷатҳо / Сарчашмаҳо
![]() |
intel Бо компилятори oneAPI DPC ++/C++ оғоз кунед [pdf] Дастури корбар Бо компилятори oneAPI DPC C оғоз кунед, Бо компилятори oneAPI DPC C оғоз кунед |