Intel DPC++ Zana ya Utangamano 

Intel DPC++ Zana ya Utangamano

Anza na Intel® DPC+ + Zana ya Upatanifu

Zana ya Upatanifu ya Intel® DPC++ husaidia katika uhamishaji wa programu ya msanidi programu ambayo imeandikwa katika CUDA* hadi programu iliyoandikwa katika Data Parallel C++ (DPC++), ambayo inategemea C++ ya kisasa na inayojumuisha viwango vya sekta inayobebeka kama vile SYCL*.

  • Tembelea Mwongozo wa Wasanidi Programu wa Zana ya Upatanifu ya Intel® DPC++ na Rejeleo kwa maelezo zaidi kuhusu zana.
  • Tembelea Vidokezo vya Toleo kwa masuala yanayojulikana na maelezo ya kisasa zaidi.

KUMBUKA Matumizi ya Zana ya Upatanifu ya Intel® DPC++ itasababisha mradi ambao haujahamishwa kabisa. Kazi ya ziada, kama ilivyoainishwa na matokeo ya Zana ya Upatanifu ya Intel® DPC++, inahitajika ili kukamilisha uhamishaji.

Kabla Hujaanza

Zana ya Upatanifu ya Intel® DPC++ imejumuishwa kwenye Zana ya Msingi ya Intel® oneAPI. Ikiwa hujasakinisha Intel® oneAPI Base Toolkit, fuata maagizo katika Mwongozo wa Usakinishaji.

Baadhi ya kichwa cha CUDA files (maalum kwa mradi wako) inaweza kuhitaji kupatikana kwa Intel® DPC++
Zana ya Utangamano. Zana ya Upatanifu ya Intel® DPC++ hutafuta vichwa hivi vya CUDA files katika maeneo chaguo-msingi:

  • /usr/local/cuda/include
  • /usr/local/cuda-xy/include, ambapo xy ni mojawapo ya thamani hizi: 8.0, 9.x, 10.x, na 11.0–11.6.

Unaweza kurejelea maeneo maalum kwa kuyaelekeza kwa -cuda-include-path= chaguo katika safu ya amri ya Zana ya Upatanifu ya Intel® DPC++.

KUMBUKA CUDA inajumuisha njia haipaswi kuwa sawa na, au njia ya mtoto ya, saraka ambapo msimbo wa chanzo unaohitaji kuhamishwa iko.

Kwa sasa, Zana ya Upatanifu ya Intel® DPC++ inasaidia uhamishaji wa programu zinazotekelezwa na matoleo ya CUDA 8.0, 9.x, 10.x, na 11.0–11.6. Orodha ya lugha na matoleo yanayotumika inaweza kupanuliwa katika siku zijazo.

Ili kusanidi mazingira ya Zana ya Upatanifu ya Intel® DPC++, endesha yafuatayo:

  • Kwenye Linux (sudo): chanzo /opt/intel/oneapi/setvars.sh
  • Kwenye Linux (mtumiaji): chanzo ~/intel/oneapi/setvars.sh
  • Kwenye Windows :Hifadhi:\ Mpango Files (x86)\Intel\oneAPI\setvars.bat

Sintaksia ya jumla ya ombi kutoka kwa ganda la mfumo wa uendeshaji ni:

dpct [chaguzi] [ … ]

KUMBUKA c2s ni pak kwa amri ya dpct na inaweza kutumika mahali pake.

Taarifa ya Matumizi Iliyojumuishwa 

Ili kuona orodha ya chaguo mahususi za Intel® DPC++ Compatibility Tool–mahususi, tumia –help:

dpct -msaada

Ili kuona orodha ya chaguzi za kichanganuzi cha lugha (Clang*), pass -help kama chaguo la Clang:

dpct - -saidia
Maonyo Yanayotolewa

Zana ya Utangamano ya Intel® DPC++ hutambua maeneo katika msimbo ambayo yanaweza kuhitaji usikivu wako wakati wa uhamishaji wa files ili kufanya msimbo SYCL uambatane au sahihi.
Maoni yanaingizwa kwenye chanzo kilichozalishwa files na kuonyeshwa kama maonyo kwenye matokeo. Kwa mfanoample:

/njia/kwenda/file.hpp:26:1: onyo: DPCT1003:0: API Iliyohamishwa hairejeshi msimbo wa hitilafu. (*,0) imeingizwa. Huenda ukahitaji kuandika tena msimbo huu. // mstari wa msimbo wa chanzo ambao onyo lilitolewa ^

Kwa maelezo zaidi juu ya maana ya onyo maalum, rejelea Rejea ya Utambuzi.

Kwa maelezo zaidi kuhusu maana ya onyo mahususi, rejelea Rejeleo la Uchunguzi.

Hamisha Mradi Rahisi wa Mtihani

Zana ya Upatanifu ya Intel® DPC++ inakuja na s kadhaaample miradi ili uweze kuchunguza zana na kujifahamisha jinsi inavyofanya kazi:

Sampna Mradi Maelezo
 Vekta Ongeza DPCT
  • vekta_add.cu
Vekta Ongeza DPCT sample inaonyesha jinsi ya kuhamisha programu rahisi kutoka CUDA hadi SYCL. Vekta Add hutoa njia rahisi ya kuthibitisha kuwa mazingira yako ya usanidi yamesanidiwa ipasavyo ili kutumia Zana ya Upatanifu ya Intel® DPC++.
Chaguzi za Folda DPCT
  • kuu.cu
  • bar/util.cu
  • bar/util.h
Chaguzi za Folda DPCT sample inaonyesha jinsi ya kuhamisha miradi ngumu zaidi na kutumia chaguo.
Rodinia NW DPCT
  • sindano.cu
  • sindano.h
  • sindano_kernel.cu
Rodinia NW DPCT sample huonyesha jinsi ya kuhamisha mradi wa Make/CMake kutoka CUDA hadi SYCL kwa kutumia Zana ya Upatanifu ya Intel® DPC++.

Review SOMA file zinazotolewa na kila sample kwa maelezo zaidi kuhusu madhumuni na matumizi ya sampmradi le.

Ili kufikia sampchini

  • tumia matumizi ya oneapi-cli kuchagua kamaample kutoka kitengo cha Zana ya Upatanifu ya Intel® DPC++, au
  • pakua sampchini kutoka GitHub*.

Kwa habari zaidi juu ya jinsi ya kupakua na kufikia samples, tembelea Miongozo ya Kuanza ya Intel® oneAPI Base Toolkit:

Jaribu Sampna Mradi 

Fuata hatua hizi ili kuhamisha Vekta Ongeza DPCT sample mradi kwa kutumia Zana ya Utangamano ya Intel® DPC++:

  1. Pakua vector_add.cu sample.
  2. Endesha Zana ya Upatanifu ya Intel® DPC++ kutoka kwa sampsaraka ya mizizi:
    dpct -ndani-mzizi=. src/vector_add.cu

     

    Vekta_add.dp.cpp file inapaswa kuonekana kwenye saraka ya dpct_output. The file sasa ni SYCLsource file.

  3. Nenda kwenye chanzo kipya cha SYCL file:
cd dpct_pato

Thibitisha msimbo wa chanzo uliozalishwa na urekebishe msimbo wowote ambao Zana ya Upatanifu ya Intel® DPC++ haikuweza kuhamisha. (Nambari iliyotumika katika mfano huuample ni rahisi, kwa hivyo mabadiliko ya mwongozo yanaweza yasihitajike). Kwa maagizo sahihi na ya kina zaidi kuhusu kushughulikia maonyo yanayotolewa kutoka kwa Zana ya Upatanifu ya Intel® DPC++, angalia sehemu ya Maonyo ya Kushughulikia katika Msimbo Uliohamishwa wa SOMA files.

KUMBUKA Kukusanya waliohama sample, ongeza -I/include kwa amri yako ya kukusanya.

Kwa ngumu zaidi sample maelekezo, tazama Hamisha Mradi sehemu ya Mwongozo na Marejeleo ya Wasanidi Programu wa Zana ya Upatanifu ya Intel® DPC++.

Tafuta Zaidi

Maudhui Maelezo
Utangamano wa Intel® DPC++

Mwongozo wa Msanidi wa Zana na

Rejea

Kina juuview ya vipengele vya Zana ya Upatanifu ya Intel® DPC++, mtiririko wa kazi na matumizi.
Inapohitajika Webndani:

Kuhamisha CUDA Yako Iliyopo

Msimbo kwa Msimbo wa DPC++

Jinsi ya kuhamishia msimbo wa CUDA hadi Data Sambamba C++ (DPC++) kwa kutumia Zana ya Upatanifu ya Intel® DPC++, injini ya uhamiaji ya mara moja ambayo hubeba viini na simu za API.
Miongozo ya Usakinishaji ya Intel®

OneAPI Toolkits

Maagizo ya kina kuhusu jinsi ya kupata na kusakinisha vifurushi vya Intel® oneAPI kwa kutumia hali tofauti za kisakinishi na wasimamizi wa vifurushi.
Toleo la vipimo vya SYCL

1.2.1 PDF

Maelezo ya SYCL PDF. Inaeleza jinsi SYCL inavyounganisha vifaa vya OpenCL na C++ ya kisasa.
Maelezo ya SYCL 2020 PDF ya Maelezo ya SYCL 2020.
Khronos* SYCL juuview Juuview ya SYCL iliyotolewa na Khronos Group.
Kukusanya CUDA na clang Maelezo ya msaada wa CUDA katika clang.
Viendelezi vya Intel LLVM SYCL Viendelezi vilivyopendekezwa kwa vipimo vya SYCL.
Tabaka za Mradi wa Yocto* Ongeza sehemu moja ya API kwenye ujenzi wa mradi wa Yocto kwa kutumia tabaka za meta-intel.

nembo ya Intel

Nyaraka / Rasilimali

Intel DPC++ Zana ya Utangamano [pdf] Mwongozo wa Mtumiaji
Zana ya Utangamano ya DPC, Zana ya Utangamano, Zana

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *