Orodje za združljivost intel DPC++ 

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.cu
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
  • main.cu
  • bar/util.cu
  • bar/util.h
Možnosti mape DPCT sample prikazuje, kako preseliti bolj zapletene projekte in uporabiti možnosti.
Rodinia NW DPCT
  • igla.cu
  • igla.h
  • needle_kernel.cu
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:

Poskusi s Sample Project 

Sledite tem korakom za selitev Vector Add DPCT sampprojekt z uporabo orodja za združljivost Intel® DPC++:

  1. Prenesite vector_add.cu sample.
  2. 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.

  3. 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++

Vodnik za razvijalce orodja in

Referenca

Konec podrobnostiview o funkcijah orodja za združljivost Intel® DPC++, poteku dela in uporabi.
Na zahtevo Webinar:

Selitev vaše obstoječe CUDA

Koda v kodo DPC++

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®

kompleti orodij oneAPI

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

1.2.1 PDF

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.

logotip intel

Dokumenti / Viri

Orodje za združljivost intel DPC++ [pdf] Uporabniški priročnik
Orodje za združljivost DPC, orodje za združljivost, orodje

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *