Orodje za združljivost intel DPC++

Začnite z orodjem za združljivost Intel® DPC+ +
Orodje za združljivost Intel® DPC++ pomaga pri selitvi programa razvijalca, ki je napisan v CUDA*, v program, napisan v Data Parallel C++ (DPC++), ki temelji na sodobnem C++ in vključuje prenosne industrijske standarde, kot je SYCL*.
- Za dodatne informacije o orodju obiščite vodnik in reference za razvijalce orodja za združljivost Intel® DPC++.
- Obiščite Opombe ob izdaji za znane težave in najnovejše informacije.
OPOMBA Uporaba orodja za združljivost Intel® DPC++ bo povzročila projekt, ki ni v celoti preseljen. Za dokončanje selitve je potrebno dodatno delo, kot je navedeno v rezultatu združljivega orodja Intel® DPC++.
Preden začnete
Orodje za združljivost Intel® DPC++ je vključeno v osnovni komplet orodij Intel® oneAPI. Če niste namestili osnovnega kompleta orodij Intel® oneAPI, sledite navodilom v priročniku za namestitev.
Določena glava CUDA files (specifično za vaš projekt) bo morda moral biti dostopen za Intel® DPC++
Orodje za združljivost. Orodje za združljivost Intel® DPC++ išče te glave CUDA files na privzetih lokacijah:
- /usr/local/cuda/include
- /usr/local/cuda-xy/include, kjer je xy ena od teh vrednosti: 8.0, 9.x, 10.x in 11.0–11.6.
Lokacije po meri se lahko sklicujete tako, da nanje pokažete z –cuda-include-path= možnost v ukazni vrstici orodja za združljivost Intel® DPC++.
OPOMBA Vključna pot CUDA ne sme biti enaka ali podrejena pot imenika, kjer se nahaja izvorna koda, ki jo je treba preseliti.
Trenutno orodje za združljivost Intel® DPC++ podpira selitev programov, implementiranih z različicami CUDA 8.0, 9.x, 10.x in 11.0–11.6. Seznam podprtih jezikov in različic bo morda v prihodnosti razširjen.
Če želite nastaviti okolje Intel® DPC++ Compatibility Tool, zaženite naslednje:
- V sistemu Linux (sudo): vir /opt/intel/oneapi/setvars.sh
- V sistemu Linux (uporabnik): vir ~/intel/oneapi/setvars.sh
- V sistemu Windows :Drive:\ Program Files (x86)\Intel\oneAPI\setvars.bat
Splošna sintaksa klicanja iz lupine operacijskega sistema je:
| dpct [možnosti] [ … ] |
OPOMBA c2s je vzdevek ukaza dpct in se lahko uporablja namesto njega.
Vgrajene informacije o uporabi
Če si želite ogledati seznam posebnih možnosti orodja za združljivost Intel® DPC++, uporabite –help:
| dpct –pomoč |
Če si želite ogledati seznam možnosti jezikovnega razčlenjevalnika (Clang*), podajte -help kot možnost Clang:
| dpct — -pomoč |
Oddana opozorila
Orodje za združljivost Intel® DPC++ prepozna mesta v kodi, ki bi morda zahtevala vašo pozornost med selitvijo files, da bo koda SYCL skladna ali pravilna.
Komentarji se vstavijo v ustvarjeni vir files in prikazano kot opozorilo v izhodu. Na primerample:
| /pot/do/file.hpp:26:1: opozorilo: DPCT1003:0: preseljeni API ne vrne kode napake. (*,0) je vstavljen. Morda boste morali znova napisati to kodo. // vrstica izvorne kode, za katero je bilo ustvarjeno opozorilo ^ |
Za več podrobnosti o tem, kaj pomeni določeno opozorilo, glejte Diagnostična referenca.
Za več podrobnosti o tem, kaj pomeni določeno opozorilo, glejte Diagnostični referenčni vir.
Preseli preprost preskusni projekt
Orodje za združljivost Intel® DPC++ ima več sampdatoteke, tako da lahko raziščete orodje in se seznanite z njegovim delovanjem:
| Sample Project | Opis |
Vektor Dodaj DPCT
|
Vector Add DPCT sample prikazuje, kako preseliti preprost program iz CUDA v SYCL. Vector Add ponuja preprost način za preverjanje, ali je vaše razvojno okolje pravilno nastavljeno za uporabo orodja za združljivost Intel® DPC++. |
Možnosti mape DPCT
|
Možnosti mape DPCT sample prikazuje, kako preseliti bolj zapletene projekte in uporabiti možnosti. |
Rodinia NW DPCT
|
Rodinia NW DPCT sampLe prikazuje, kako preseliti projekt Make/CMake iz CUDA v SYCL z uporabo orodja za združljivost Intel® DPC++. |
Review README file priložen vsakemu sample za podrobnejše informacije o namenu in uporabi sample projekt.
Za dostop do samples
- uporabite pripomoček oneapi-cli, da izberete kotampdatoteko iz kategorije orodja za združljivost Intel® DPC++ ali
- prenesite samples iz GitHub*.
Za podrobnejše informacije o prenosu in dostopu do sampobiščite vodnike za začetek uporabe osnovnega kompleta orodij Intel® oneAPI:
- Priročnik za začetek uporabe osnovnega orodja Intel® oneAPI za Windows*
- Začnite z osnovnim kompletom orodij Intel® oneAPI za Linux*
- Začnite z osnovnim kompletom orodij Intel® oneAPI za macOS*
Poskusi s Sample Project
Sledite tem korakom za selitev Vector Add DPCT sampprojekt z uporabo orodja za združljivost Intel® DPC++:
- Prenesite vector_add.cu sample.
- Zaženite orodje za združljivost Intel® DPC++ iz sample korenski imenik:
dpct –in-root=. src/vector_add.cu Vector_add.dp.cpp file se mora pojaviti v imeniku dpct_output. The file je zdaj vir SYCL file.
- Pomaknite se do novega vira SYCL file:
| cd dpct_izhod |
Preverite ustvarjeno izvorno kodo in popravite morebitno kodo, ki je orodje za združljivost Intel® DPC++ ni moglo preseliti. (Koda, uporabljena v tem primeruampje preprost, zato ročne spremembe morda ne bodo potrebne). Za najbolj natančna in podrobna navodila o obravnavanju opozoril, ki jih oddaja orodje za združljivost Intel® DPC++, glejte razdelek Naslavljanje opozoril v preseljeni kodi PREBERI ME files.
OPOMBA Za sestavljanje preseljenih sample dodajte -I/include svojemu ukazu za prevajanje.
Za kompleksnejše sample navodila, glejte Preseli projekt razdelek vodnika in referenčnih navodil za razvijalce orodja za združljivost Intel® DPC++.
Najdi več
| Vsebina | Opis |
| Združljivost z Intel® DPC++ | Konec podrobnostiview o funkcijah orodja za združljivost Intel® DPC++, poteku dela in uporabi. |
| Na zahtevo Webinar: | Kako preseliti kodo CUDA v Data Parallel C++ (DPC++) z uporabo Intel® DPC++ Compatibility Tool, mehanizma za enkratno selitev, ki prenaša tako jedra kot API klice. |
| Navodila za namestitev za Intel® | Podrobna navodila o tem, kako pridobiti in namestiti pakete Intel® oneAPI z uporabo različnih načinov namestitvenega programa in upraviteljev paketov. |
| Različica specifikacije SYCL | Specifikacija SYCL PDF. Pojasnjuje, kako SYCL integrira naprave OpenCL s sodobnim C++. |
| Specifikacija SYCL 2020 | Specifikacija SYCL 2020 PDF. |
| Khronos* SYCL konecview | Večview SYCL, ki ga zagotavlja skupina Khronos. |
| Prevajanje CUDA s klangom | Opis podpore CUDA v clang. |
| Razširitve Intel LLVM SYCL | Predlagane razširitve specifikacije SYCL. |
| Sloji za projekt Yocto* | Dodajte eno komponento API-ja v gradnjo projekta Yocto z uporabo plasti meta-intel. |

Dokumenti / Viri
![]() |
Orodje za združljivost intel DPC++ [pdf] Uporabniški priročnik Orodje za združljivost DPC, orodje za združljivost, orodje |




