
intel DPC++ Kompatibiliteitsark

Begjin mei it Intel® DPC+ + Kompatibiliteitsark
It Intel® DPC++ Compatibility Tool helpt by de migraasje fan in programma fan in ûntwikkelder dat is skreaun yn CUDA* nei in programma skreaun yn Data Parallel C++ (DPC++), dat is basearre op moderne C++ en draachbere yndustrynormen omfettet lykas SYCL*.
- Besykje de Intel® DPC++ Compatibility Tool Developer Guide and Reference foar oanfoljende ynformaasje oer it ark.
- Besykje de Release Notes foar bekende problemen en de meast aktuele ynformaasje.
NOAT Gebrûk fan it Intel® DPC++ Compatibility Tool sil resultearje yn in projekt dat net folslein migrearre is. Oanfoljende wurk, lykas sketst troch de útfier fan it Intel® DPC++ Compatibility Tool, is nedich om de migraasje te foltôgjen.
Foardat jo begjinne
It Intel® DPC++ Compatibility Tool is opnommen yn 'e Intel® oneAPI Base Toolkit. As jo de Intel® oneAPI Base Toolkit net ynstalleare hawwe, folgje dan de ynstruksjes yn 'e ynstallaasjegids.
Bepaalde CUDA-koptekst files (spesifyk foar jo projekt) moat mooglik tagonklik wêze foar de Intel® DPC++
Kompatibiliteit Tool. It Intel® DPC++-kompatibiliteitsark siket nei dizze CUDA-header files op de standert lokaasjes:
- /usr/local/cuda/include
- /usr/local/cuda-xy/include, wêrby't xy ien fan dizze wearden is: 8.0, 9.x, 10.x, en 11.0–11.6.
Jo kinne ferwize nei oanpaste lokaasjes troch te wizen nei harren mei de –cuda-include-path= opsje yn 'e kommandorigel fan Intel® DPC++ Compatibility Tool.
NOAT It CUDA-ynklusyfpaad moat net itselde wêze as, of in bernpaad fan, de map wêr't de boarnekoade dy't migrearre wurde moat, leit.
Op it stuit stipet it Intel® DPC++-kompatibiliteitsark de migraasje fan programma's ymplementearre mei CUDA-ferzjes 8.0, 9.x, 10.x, en 11.0–11.6. De list mei stipe talen en ferzjes kin yn 'e takomst útwreide wurde.
Om de Intel® DPC++ Compatibility Tool-omjouwing yn te stellen, útfiere de folgjende:
- Op Linux (sudo): boarne /opt/intel/oneapi/setvars.sh
- Op Linux (brûker): boarne ~/intel/oneapi/setvars.sh
- Op Windows :Drive:\ Program Files (x86)\Intel\oneAPI\setvars.bat
De algemiene oanropsyntaksis fan 'e shell fan it bestjoeringssysteem is:
| dpct [opsjes] [ … ] |
NOAT c2s is in alias foar it kommando dpct en kin op syn plak brûkt wurde.
Ynboude gebrûksynformaasje
Om de list te sjen mei Intel® DPC++ Compatibility Tool-spesifike opsjes, brûk -help:
| dpct -help |
Om de list mei de opsjes foar taalparser (Clang*) te sjen, pass -help as de Clang-opsje:
| dpct — -help |
Emitted warskôgings
It Intel® DPC++ Compatibility Tool identifisearret de plakken yn 'e koade dy't jo oandacht fereaskje kinne by de migraasje fan de files om de koade SYCL konform of korrekt te meitsjen.
Opmerkings wurde ynfoege yn de oanmakke boarne files en werjûn as warskôgings yn de útfier. Bygelyksample:
| /paad/nei/file.hpp: 26: 1: warskôging: DPCT1003: 0: Migrearre API jout gjin flaterkoade. (*,0) wurdt ynfoege. Jo moatte miskien dizze koade opnij skriuwe. // boarnekoade rigel wêrfoar warskôging waard oanmakke ^ |
Foar mear details oer wat in spesifike warskôging betsjut, ferwize nei de Diagnostyske Referinsje.
Foar mear details oer wat in spesifike warskôging betsjut, ferwize nei de Diagnostic Reference.
Migrearje in ienfâldich testprojekt
It Intel® DPC++ Compatibility Tool komt mei ferskate sample projekten sadat jo it ark kinne ferkenne en josels fertroud meitsje kinne mei hoe't it funksjonearret:
| Sampit projekt | Beskriuwing |
Vector Add DPCT
|
De Vector Add DPCT sample demonstrearret hoe't jo in ienfâldich programma fan CUDA nei SYCL migrearje kinne. Vector Add jout in maklike manier om te kontrolearjen dat jo ûntwikkelingsomjouwing goed is ynsteld om it Intel® DPC++-kompatibiliteitsark te brûken. |
Mapopsjes DPCT
|
De mapopsjes DPCT sample lit sjen hoe't kompleksere projekten migrearje en opsjes brûke. |
Rodinia NW DPCT
|
De Rodinia NW DPCT sample demonstrearret hoe't jo in Make/ CMake-projekt fan CUDA nei SYCL migrearje kinne mei it Intel® DPC++-kompatibiliteitsark. |
Review de README file foarsjoen fan elk sample foar mear detaillearre ynformaasje oer it doel en gebrûk fan 'e sampit projekt.
Om tagong te krijen ta de samples
- brûk it helpprogramma oneapi-cli om te selektearjen asample út de kategory Intel® DPC++ Compatibility Tool, of
- download samples fan GitHub*.
Foar mear detaillearre ynformaasje oer hoe te downloaden en tagong ta de samples, besykje de Intel® oneAPI Base Toolkit Get Started Guides:
- Begjingids mei de Intel® oneAPI Base Toolkit foar Windows*
- Te begjinnen mei de Intel® oneAPI Base Toolkit foar Linux*
- Te begjinnen mei de Intel® oneAPI Base Toolkit foar macOS*
Besykje in Sampit projekt
Folgje dizze stappen om de Vector Add DPCT s te migrearjenampLe projekt mei it Intel® DPC++ Kompatibiliteitsark:
- Download de vector_add.cu sample.
- Run de Intel® DPC++ Kompatibiliteitsark út de sample root map:
dpct –in-root=. src/vector_add.cu De vector_add.dp.cpp file moat ferskine yn 'e map dpct_output. De file is no in SYCLsource file.
- Gean nei de nije SYCL-boarne file:
| cd dpct_útfier |
Ferifiearje de oanmakke boarnekoade en reparearje elke koade dy't it Intel® DPC++ Kompatibiliteitsark net koe migrearje. (De koade brûkt yn dizze eksample is ienfâldich, dus hânmjittige wizigingen binne miskien net nedich). Foar de meast krekte en detaillearre ynstruksjes oer it oanpakken fan warskôgings útstjoerd fan it Intel® DPC++-kompatibiliteitsark, sjoch de seksje Addressing warskôgings yn migrearre koade fan de README files.
NOAT Om kompilearje de migrearre sample, add -I/include oan jo kompilearje kommando.
Foar mear komplekse sample ynstruksjes, sjoch de Migrearje in projekt seksje fan 'e Intel® DPC++ Compatibility Tool Developer Guide and Reference.
Mear fine
| Ynhâld | Beskriuwing |
| Intel® DPC++ Kompatibiliteit | Detaillearre oerview fan Intel® DPC++ Compatibility Tool funksjes, workflow, en gebrûk. |
| On-Demand Webynar: | Hoe kinne jo CUDA-koade migrearje nei Data Parallel C++ (DPC++) mei it Intel® DPC++ Compatibility Tool, in ienmalige migraasjemotor dy't sawol kernels as API-oproppen porteart. |
| Ynstallaasjegids foar Intel® | Detaillearre ynstruksjes oer hoe't jo Intel® oneAPI-pakketten kinne krije en ynstallearje mei ferskate ynstallearmodi en pakketbehearders. |
| SYCL spesifikaasje ferzje | De SYCL-spesifikaasje PDF. Ferklearret hoe't SYCL OpenCL-apparaten yntegreart mei moderne C ++. |
| SYCL 2020 spesifikaasje | De SYCL 2020-spesifikaasje PDF. |
| Khronos* SYCL oerview | In oerview fan SYCL fersoarge troch de Khronos Group. |
| Compiling CUDA mei clang | Beskriuwing fan CUDA-stipe yn clang. |
| Intel LLVM SYCL útwreidings | Foarstelde tafoegings oan 'e SYCL-spesifikaasje. |
| Lagen foar Yocto * Project | Foegje ien API-komponint ta oan in Yocto-projektbou mei de meta-intel-lagen. |

Dokuminten / Resources
![]() | DPC++ Compatibility Tool |
Referinsjes
- llvm/sycl/doc/extensions at sycl · intel/llvm · GitHubgithub.com
- oneapi-samples/Tools/Migraasje by master · oneapi-src/oneAPI-samples · gitHubgithub.com
- CUDA kompilearje mei clang - LLVM 17.0.0git dokumintaasjellvm.org
- main.cumain.cu
- needle.cuneedle.cu
- setvars.shsetvars.sh
- Intel® DPC++ Compatibility Tool Release Notessoftware.intel.com
- Begjin mei de Intel® oneAPI Base Toolkit (Base Kit) en Intel®...software.intel.com
- Intel® DPC++ Compatibility Tool Untwikkeldersgids en referinsjesoftware.intel.com
- Diagnostyk Referinsjesoftware.intel.com
- User Manualmanual.tools
