ឧបករណ៍ភាពឆបគ្នារបស់ Intel DPC ++ 

ឧបករណ៍ភាពឆបគ្នារបស់ Intel DPC ++

ចាប់ផ្តើមជាមួយ Intel® DPC + + ឧបករណ៍ភាពឆបគ្នា។

ឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC++ ជួយក្នុងការធ្វើចំណាកស្រុកនៃកម្មវិធីរបស់អ្នកអភិវឌ្ឍន៍ដែលត្រូវបានសរសេរក្នុង CUDA* ទៅកាន់កម្មវិធីដែលសរសេរក្នុង Data Parallel C++ (DPC++) ដែលផ្អែកលើ C++ ទំនើប និងរួមបញ្ចូលស្តង់ដារឧស្សាហកម្មចល័តដូចជា SYCL*។

  • សូមចូលទៅកាន់មគ្គុទ្ទេសក៍អ្នកបង្កើតឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC++ និងឯកសារយោងសម្រាប់ព័ត៌មានបន្ថែមអំពីឧបករណ៍។
  • ចូលទៅកាន់កំណត់ចំណាំចេញផ្សាយសម្រាប់បញ្ហាដែលគេស្គាល់ និងព័ត៌មានចុងក្រោយបំផុត។

ចំណាំ ការប្រើប្រាស់ឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC++ នឹងមានលទ្ធផលនៅក្នុងគម្រោងដែលមិនត្រូវបានផ្លាស់ប្តូរទាំងស្រុង។ ការងារបន្ថែម ដូចដែលបានគូសបញ្ជាក់ដោយលទ្ធផលនៃឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC++ គឺត្រូវបានទាមទារ ដើម្បីបញ្ចប់ការធ្វើចំណាកស្រុក។

មុនពេលអ្នកចាប់ផ្តើម

ឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC++ ត្រូវបានរួមបញ្ចូលនៅក្នុងប្រអប់ឧបករណ៍មូលដ្ឋាន Intel® oneAPI ។ ប្រសិនបើអ្នកមិនបានដំឡើង Intel® oneAPI Base Toolkit ទេ សូមធ្វើតាមការណែនាំនៅក្នុងការណែនាំអំពីការដំឡើង។

បឋមកថា CUDA ជាក់លាក់ files (ជាក់លាក់ចំពោះគម្រោងរបស់អ្នក) ប្រហែលជាចាំបាច់ត្រូវចូលប្រើ Intel® DPC++
ឧបករណ៍ភាពឆបគ្នា។ ឧបករណ៍ភាពឆបគ្នា Intel® DPC ++ រកមើលបឋមកថា CUDA ទាំងនេះ files នៅក្នុងទីតាំងលំនាំដើម៖

  • /usr/local/cuda/include
  • /usr/local/cuda-xy/include ដែល xy ជាតម្លៃមួយក្នុងចំណោមតម្លៃទាំងនេះ៖ 8.0, 9.x, 10.x, និង 11.0–11.6។

អ្នកអាចយោងទីតាំងផ្ទាល់ខ្លួនដោយចង្អុលទៅពួកវាជាមួយ –cuda-include-path= ជម្រើសនៅក្នុងបន្ទាត់ពាក្យបញ្ជា Intel® DPC++ Compatibility Tool ។

ចំណាំ CUDA រួមបញ្ចូលផ្លូវមិនគួរដូចគ្នានឹង ឬផ្លូវកូននៃថតដែលកូដប្រភពដែលត្រូវការផ្ទេរមានទីតាំងនៅ។

បច្ចុប្បន្ន ឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC ++ គាំទ្រការផ្ទេរកម្មវិធីដែលត្រូវបានអនុវត្តជាមួយ CUDA កំណែ 8.0, 9.x, 10.x និង 11.0–11.6 ។ បញ្ជីភាសា និងកំណែដែលគាំទ្រអាចនឹងត្រូវបានពង្រីកនាពេលអនាគត។

ដើម្បីដំឡើងបរិស្ថានឧបករណ៍ភាពឆបគ្នា Intel® DPC++ សូមដំណើរការដូចខាងក្រោម៖

  • នៅលើលីនុច (sudo)៖ ប្រភព /opt/intel/oneapi/setvars.sh
  • នៅលើលីនុច (អ្នកប្រើប្រាស់)៖ ប្រភព ~/intel/oneapi/setvars.sh
  • នៅលើវីនដូ :Drive:\ កម្មវិធី Files (x86)\Intel\oneAPI\setvars.bat

វាក្យសម្ព័ន្ធការហៅទូទៅពីសែលប្រព័ន្ធប្រតិបត្តិការគឺ៖

dpct [ជម្រើស] [ … ]

ចំណាំ c2s គឺជាឈ្មោះក្លែងក្លាយនៃពាក្យបញ្ជា dpct ហើយអាចត្រូវបានគេប្រើនៅកន្លែងរបស់វា។

ព័ត៌មានអំពីការប្រើប្រាស់ដែលភ្ជាប់មកជាមួយ 

ដើម្បីមើលបញ្ជីនៃ Intel® DPC++ Compatibility Tool–ជម្រើសជាក់លាក់ សូមប្រើ –help៖

dpct - ជំនួយ

ដើម្បីមើលបញ្ជីនៃជម្រើសញែកភាសា (Clang*) សូមឆ្លងកាត់ -help ជាជម្រើស Clang៖

dpct — -ជំនួយ
ការព្រមានដែលបញ្ចេញ

ឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC ++ កំណត់ទីកន្លែងនៅក្នុងកូដ ដែលអាចទាមទារការយកចិត្តទុកដាក់របស់អ្នក កំឡុងពេលធ្វើចំណាកស្រុក។ files ដើម្បីធ្វើឱ្យកូដ SYCL អនុលោមតាម ឬត្រឹមត្រូវ។
មតិត្រូវបានបញ្ចូលទៅក្នុងប្រភពដែលបានបង្កើត files និងបង្ហាញជាការព្រមាននៅក្នុងលទ្ធផល។ សម្រាប់អតីតampលេ៖

/ ផ្លូវ / ទៅ /file.hpp:26:1: ការព្រមាន: DPCT1003:0: API ដែលបានផ្ទេរមិនត្រឡប់កូដកំហុសទេ។ (*,0) ត្រូវបានបញ្ចូល។ អ្នកប្រហែលជាត្រូវសរសេរកូដនេះឡើងវិញ។ // បន្ទាត់កូដប្រភពសម្រាប់ការព្រមានត្រូវបានបង្កើត ^

សម្រាប់ព័ត៌មានលម្អិតអំពីអត្ថន័យនៃការព្រមានជាក់លាក់ សូមមើល ឯកសារយោងរោគវិនិច្ឆ័យ។

សម្រាប់ព័ត៌មានលម្អិតបន្ថែមអំពីអត្ថន័យនៃការព្រមានជាក់លាក់ សូមមើលឯកសារយោងរោគវិនិច្ឆ័យ។

ផ្ទេរគម្រោងសាកល្បងសាមញ្ញ

ឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC ++ ភ្ជាប់មកជាមួយនូវ sampគម្រោង le ដូច្នេះអ្នកអាចស្វែងយល់ពីឧបករណ៍ និងស្គាល់ខ្លួនអ្នកពីរបៀបដែលវាដំណើរការ៖

Sampគម្រោងឡេ ការពិពណ៌នា
 វ៉ិចទ័របន្ថែម DPCT
  • vector_add.cu
វ៉ិចទ័របន្ថែម DPCT sample បង្ហាញពីរបៀបផ្ទេរកម្មវិធីសាមញ្ញពី CUDA ទៅ SYCL ។ Vector Add ផ្តល់នូវវិធីងាយស្រួលក្នុងការផ្ទៀងផ្ទាត់ថាបរិយាកាសអភិវឌ្ឍន៍របស់អ្នកត្រូវបានតំឡើងយ៉ាងត្រឹមត្រូវដើម្បីប្រើ Intel® DPC++ Compatibility Tool ។
ជម្រើសថតឯកសារ DPCT
  • main.cu
  • bar/util.cu
  • bar/util.h
ជម្រើសថតឯកសារ DPCT sample បង្ហាញពីរបៀបធ្វើចំណាកស្រុកគម្រោងស្មុគស្មាញ និងប្រើប្រាស់ជម្រើស។
Rodinia NW DPCT
  • needle.cu
  • needle.h
  • needle_kernel.cu
Rodinia NW DPCT sample បង្ហាញពីរបៀបផ្ទេរគម្រោង Make/CMake ពី CUDA ទៅ SYCL ដោយប្រើ Intel® DPC++ Compatibility Tool ។

Review README file ផ្តល់ជូនជាមួយ sample សម្រាប់ព័ត៌មានបន្ថែមអំពីគោលបំណង និងការប្រើប្រាស់ sampគម្រោង។

ដើម្បីចូលទៅកាន់ samples

  • ប្រើឧបករណ៍ប្រើប្រាស់ oneapi-cli ដើម្បីជ្រើសរើសជាample ពីប្រភេទឧបករណ៍ភាពឆបគ្នា Intel® DPC++ ឬ
  • ទាញយក samples ពី GitHub * ។

សម្រាប់ព័ត៌មានលម្អិតបន្ថែមអំពីរបៀបទាញយក និងចូលប្រើ samples, សូមចូលទៅកាន់ Intel® oneAPI Base Toolkit Get Started Guides៖

សាកល្បង Sampគម្រោងឡេ 

អនុវត្តតាមជំហានទាំងនេះដើម្បីផ្លាស់ទីវ៉ិចទ័របន្ថែម DPCT sampគម្រោងដោយប្រើឧបករណ៍ភាពឆបគ្នា Intel® DPC ++៖

  1. ទាញយក vector_add.cu sampលេ
  2. ដំណើរការ Intel® DPC++ Compatibility Tool ពី sample ថត root:
    dpct –in-root=។ src/vector_add.cu

     

    វ៉ិចទ័រ_add.dp.cpp file គួរតែបង្ហាញនៅក្នុងថត dpct_output ។ នេះ។ file ឥឡូវនេះគឺជាប្រភព SYCL file.

  3. រុករកទៅប្រភព SYCL ថ្មី។ file:
ស៊ីឌី dpct_output

ផ្ទៀងផ្ទាត់កូដប្រភពដែលបានបង្កើត និងជួសជុលកូដណាមួយដែលឧបករណ៍ភាពឆបគ្នា Intel® DPC++ មិនអាចធ្វើចំណាកស្រុកបានទេ។ (លេខកូដដែលប្រើក្នុងឧample គឺសាមញ្ញ ដូច្នេះការផ្លាស់ប្តូរដោយដៃប្រហែលជាមិនត្រូវការទេ)។ សម្រាប់ការណែនាំដ៏ត្រឹមត្រូវ និងលម្អិតបំផុតស្តីពីការព្រមានអំពីអាសយដ្ឋានដែលបញ្ចេញចេញពីឧបករណ៍ភាពឆបគ្នារបស់ Intel® DPC++ សូមមើលការព្រមានអំពីអាសយដ្ឋាននៅក្នុងផ្នែកកូដដែលបានផ្ទេរទិន្នន័យនៃផ្នែក អានME files.

ចំណាំ ដើម្បីចងក្រង sample បន្ថែម -I/include ទៅពាក្យបញ្ជាចងក្រងរបស់អ្នក។

សម្រាប់ភាពស្មុគស្មាញបន្ថែមទៀត sampការណែនាំ សូមមើល ផ្ទេរគម្រោង ផ្នែកនៃ Intel® DPC++ Compatibility Tool Developer Guide and Reference។

ស្វែងរកច្រើនទៀត

មាតិកា ការពិពណ៌នា
ភាពឆបគ្នារបស់ Intel® DPC++

មគ្គុទ្ទេសក៍អ្នកអភិវឌ្ឍន៍ឧបករណ៍ និង

ឯកសារយោង

លម្អិតview នៃ Intel® DPC++ Compatibility Tool លក្ខណៈពិសេស ដំណើរការការងារ និងការប្រើប្រាស់។
តាមតម្រូវការ Webinar:

ការផ្លាស់ប្តូរ CUDA ដែលមានស្រាប់របស់អ្នក។

លេខកូដទៅ DPC++ លេខកូដ

របៀបផ្ទេរកូដ CUDA ទៅជា Data Parallel C++ (DPC++) ដោយប្រើ Intel® DPC++ Compatibility Tool ដែលជាម៉ាស៊ីនធ្វើចំណាកស្រុកតែមួយដងដែលច្រកទាំងខឺណែល និងការហៅ API ។
ការណែនាំអំពីការដំឡើងសម្រាប់ Intel®

កញ្ចប់ឧបករណ៍ OneAPI

ការណែនាំលម្អិតអំពីរបៀបទទួលបាន និងដំឡើងកញ្ចប់ Intel® oneAPI ដោយប្រើរបៀបដំឡើង និងកម្មវិធីគ្រប់គ្រងកញ្ចប់ផ្សេងៗគ្នា។
កំណែជាក់លាក់របស់ SYCL

1.2.1 PDF

ការបញ្ជាក់ SYCL PDF ។ ពន្យល់ពីរបៀបដែល SYCL រួមបញ្ចូលឧបករណ៍ OpenCL ជាមួយ C++ ទំនើប។
លក្ខណៈ​ពិសេស SYCL 2020 លក្ខណៈបច្ចេកទេស SYCL 2020 PDF ។
Khronos* SYCL ចប់view ជាងview នៃ SYCL ដែលផ្តល់ដោយ Khronos Group ។
ការចងក្រង CUDA ជាមួយ clang ការពិពណ៌នាអំពីការគាំទ្រ CUDA នៅក្នុង clang ។
ផ្នែកបន្ថែម Intel LLVM SYCL ផ្នែកបន្ថែមដែលបានស្នើទៅការបញ្ជាក់ SYCL ។
ស្រទាប់សម្រាប់គម្រោង Yocto* បន្ថែមសមាសធាតុ API មួយទៅការបង្កើតគម្រោង Yocto ដោយប្រើស្រទាប់មេតា Intel ។

និមិត្តសញ្ញា Intel

ឯកសារ/ធនធាន

ឧបករណ៍ភាពឆបគ្នារបស់ Intel DPC ++ [pdf] ការណែនាំអ្នកប្រើប្រាស់
ឧបករណ៍ភាពឆបគ្នា DPC ឧបករណ៍ភាពឆបគ្នា ឧបករណ៍

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *