เครื่องมือความเข้ากันได้ของ Intel DPC++

เริ่มต้นด้วยเครื่องมือความเข้ากันได้ของ Intel® DPC+ +
เครื่องมือความเข้ากันได้ของ Intel® DPC++ ช่วยในการย้ายโปรแกรมของนักพัฒนาที่เขียนด้วย CUDA* ไปยังโปรแกรมที่เขียนด้วย Data Parallel C++ (DPC++) ซึ่งมีพื้นฐานมาจาก C++ สมัยใหม่และรวมเอามาตรฐานอุตสาหกรรมแบบพกพา เช่น SYCL*
- ไปที่คู่มือนักพัฒนาเครื่องมือความเข้ากันได้ของ Intel® DPC++ และข้อมูลอ้างอิงสำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือ
- ไปที่ Release Notes สำหรับปัญหาที่ทราบและข้อมูลล่าสุด
บันทึก การใช้เครื่องมือความเข้ากันได้ของ Intel® DPC++ จะทำให้โครงการไม่ถูกโอนย้ายทั้งหมด จำเป็นต้องมีงานเพิ่มเติมตามที่ระบุไว้ในเอาต์พุตของเครื่องมือความเข้ากันได้ของ Intel® DPC++ เพื่อให้การย้ายข้อมูลเสร็จสมบูรณ์
ก่อนที่คุณจะเริ่มต้น
เครื่องมือความเข้ากันได้ของ Intel® DPC++ รวมอยู่ใน Intel® oneAPI Base Toolkit หากคุณยังไม่ได้ติดตั้ง 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++
บันทึก พาธรวม CUDA ไม่ควรเหมือนกับหรือพาธย่อยของไดเร็กทอรีซึ่งมีซอร์สโค้ดที่ต้องโอนย้ายอยู่
ปัจจุบัน เครื่องมือความเข้ากันได้ของ Intel® DPC++ สนับสนุนการย้ายข้อมูลของโปรแกรมที่ใช้ CUDA เวอร์ชัน 8.0, 9.x, 10.x และ 11.0–11.6 รายการภาษาและเวอร์ชันที่รองรับอาจมีการขยายเพิ่มเติมในอนาคต
ในการตั้งค่าสภาพแวดล้อมเครื่องมือความเข้ากันได้ของ Intel® DPC++ ให้รันดังต่อไปนี้:
- บน Linux (sudo): ที่มา /opt/intel/oneapi/setvars.sh
- บน Linux (ผู้ใช้): ที่มา ~/intel/oneapi/setvars.sh
- บนระบบปฏิบัติการ Windows :ไดรฟ์:\ โปรแกรม Files (x86)\Intel\oneAPI\setvars.bat
ไวยากรณ์การเรียกใช้ทั่วไปจากเชลล์ระบบปฏิบัติการคือ:
| dpct [ตัวเลือก] [ … ] |
บันทึก c2s เป็นนามแฝงของคำสั่ง dpct และอาจใช้แทนได้
ข้อมูลการใช้งานในตัว
หากต้องการดูรายการตัวเลือกเฉพาะของเครื่องมือความเข้ากันได้ของ Intel® DPC++ ให้ใช้ –help:
| dpct – ช่วยด้วย |
หากต้องการดูรายการตัวเลือกตัวแยกวิเคราะห์ภาษา (Clang*) ให้ส่ง -help เป็นตัวเลือก Clang:
| dpct — - ช่วยด้วย |
คำเตือนที่ปล่อยออกมา
เครื่องมือความเข้ากันได้ของ Intel® DPC++ ระบุตำแหน่งในโค้ดที่อาจต้องให้ความสนใจระหว่างการโยกย้าย fileเพื่อให้รหัส SYCL สอดคล้องหรือถูกต้อง
ความคิดเห็นถูกแทรกลงในแหล่งที่สร้างขึ้น files และแสดงเป็นคำเตือนในเอาต์พุต สำหรับอดีตampเลอ:
| /เส้นทาง/ไป/file.hpp:26:1: คำเตือน: DPCT1003:0: API ที่โอนย้ายไม่ส่งคืนรหัสข้อผิดพลาด ใส่ (*,0) คุณอาจต้องเขียนโค้ดนี้ใหม่ // บรรทัดซอร์สโค้ดที่สร้างคำเตือน ^ |
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับความหมายของคำเตือน โปรดดูที่ การอ้างอิงการวินิจฉัย
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับความหมายของคำเตือน โปรดดูที่ข้อมูลอ้างอิงการวินิจฉัย
โยกย้ายโครงการทดสอบอย่างง่าย
เครื่องมือความเข้ากันได้ของ Intel® DPC++ มาพร้อมกับหลาย sampโครงการ le เพื่อให้คุณสามารถสำรวจเครื่องมือและทำความคุ้นเคยกับวิธีการทำงานของมัน:
| Sampเลอ โปรเจ็กต์ | คำอธิบาย |
เวกเตอร์เพิ่ม DPCT
|
เวกเตอร์เพิ่ม DPCT sample สาธิตวิธีโอนย้ายโปรแกรมอย่างง่ายจาก CUDA ไปยัง SYCL Vector Add เป็นวิธีง่ายๆ ในการตรวจสอบว่าสภาพแวดล้อมการพัฒนาของคุณได้รับการตั้งค่าอย่างถูกต้องเพื่อใช้ Intel® DPC++ Compatibility Tool |
ตัวเลือกโฟลเดอร์ DPCT
|
ตัวเลือกโฟลเดอร์ DPCT sampไฟล์แสดงวิธีการโอนย้ายโครงการที่ซับซ้อนมากขึ้นและการใช้ตัวเลือกต่างๆ |
โรดิเนีย นอร์ธเวสต์ DPCT
|
Rodinia NW DPCT sampสาธิตวิธีการโอนย้ายโครงการ Make/ CMake จาก CUDA ไปยัง SYCL โดยใช้เครื่องมือความเข้ากันได้ของ Intel® DPC++ |
Review README file ให้มาพร้อมกับแต่ละ sample สำหรับข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับวัตถุประสงค์และการใช้งานของ sampโครงการเลอ
ในการเข้าถึงสampเลส
- ใช้ยูทิลิตี oneapi-cli เพื่อเลือกเป็นampจากหมวดเครื่องมือความเข้ากันได้ของ Intel® DPC++ หรือ
- ดาวน์โหลด sampจาก GitHub*.
สำหรับข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับวิธีดาวน์โหลดและเข้าถึง sampไปที่คู่มือเริ่มต้นใช้งาน Intel® oneAPI Base Toolkit:
- รับคู่มือเริ่มต้นใช้งาน Intel® oneAPI Base Toolkit สำหรับ Windows*
- เริ่มต้นใช้งาน Intel® oneAPI Base Toolkit สำหรับ Linux*
- เริ่มต้นใช้งาน Intel® oneAPI Base Toolkit สำหรับ macOS*
ลองเอสampเลอ โปรเจ็กต์
ทำตามขั้นตอนเหล่านี้เพื่อย้าย Vector Add DPCT sampโครงการโดยใช้เครื่องมือความเข้ากันได้ของ Intel® DPC++:
- ดาวน์โหลด vector_add.cu sampเล.
- เรียกใช้เครื่องมือความเข้ากันได้ของ Intel® DPC++ จาก sampไดเรกทอรีราก:
dpct –ในรูท =. src/vector_add.cu vector_add.dp.cpp file ควรปรากฏในไดเร็กทอรี dpct_output เดอะ file ตอนนี้เป็น SYCLsource file.
- นำทางไปยังแหล่ง SYCL ใหม่ file:
| ซีดี dpct_output |
ตรวจสอบซอร์สโค้ดที่สร้างขึ้นและแก้ไขโค้ดใดๆ ที่เครื่องมือความเข้ากันได้ของ Intel® DPC++ ไม่สามารถโอนย้ายได้ (รหัสที่ใช้ในตัวอย่างนี้ample นั้นเรียบง่าย ดังนั้นอาจไม่จำเป็นต้องทำการเปลี่ยนแปลงด้วยตนเอง) สำหรับคำแนะนำที่ถูกต้องและละเอียดที่สุดเกี่ยวกับการจัดการกับคำเตือนที่ปล่อยออกมาจากเครื่องมือความเข้ากันได้ของ Intel® DPC++ โปรดดูส่วนคำเตือนในการแก้ไขที่อยู่ในส่วน Migrated Code ของ อ่านฉัน files.
บันทึก ในการรวบรวม s ที่โยกย้ายample เพิ่ม -I/include ในคำสั่งคอมไพล์ของคุณ
สำหรับ s ที่ซับซ้อนมากขึ้นampคำแนะนำดูที่ โยกย้ายโครงการ ส่วนของคู่มือนักพัฒนาเครื่องมือความเข้ากันได้ Intel® DPC++ และข้อมูลอ้างอิง
ค้นหาเพิ่มเติม
| เนื้อหา | คำอธิบาย |
| ความเข้ากันได้ของ Intel® DPC++ | รายละเอียดมากกว่าview ของคุณลักษณะ Intel® DPC++ Compatibility Tool เวิร์กโฟลว์ และการใช้งาน |
| ตามความต้องการ Webอินาร์: | วิธีโอนย้ายรหัส CUDA ไปยัง Data Parallel C++ (DPC++) โดยใช้เครื่องมือความเข้ากันได้ของ Intel® DPC++ ซึ่งเป็นกลไกการย้ายข้อมูลแบบครั้งเดียวที่พอร์ตทั้งเคอร์เนลและการเรียก API |
| คู่มือการติดตั้งสำหรับ Intel® | คำแนะนำโดยละเอียดเกี่ยวกับวิธีรับและติดตั้งแพ็คเกจ Intel® oneAPI โดยใช้โหมดตัวติดตั้งและตัวจัดการแพ็คเกจที่แตกต่างกัน |
| รุ่นข้อกำหนด SYCL | ข้อกำหนด SYCL PDF อธิบายว่า SYCL รวมอุปกรณ์ OpenCL เข้ากับ C++ สมัยใหม่ได้อย่างไร |
| ข้อกำหนด SYCL 2020 | PDF ข้อมูลจำเพาะ SYCL 2020 |
| Khronos* SYCL จบแล้วview | โอเวอร์view ของ SYCL ที่จัดทำโดย Khronos Group |
| รวบรวม CUDA ด้วยเสียงดังกราว | คำอธิบายของการสนับสนุน CUDA ในเสียงดังกราว |
| ส่วนขยาย Intel LLVM SYCL | ส่วนขยายที่เสนอไปยังข้อกำหนด SYCL |
| เลเยอร์สำหรับโครงการ Yocto* | เพิ่มหนึ่งคอมโพเนนต์ API ให้กับการสร้างโครงการ Yocto โดยใช้เมตา-อินเทลเลเยอร์ |

เอกสาร / แหล่งข้อมูล
![]() |
เครื่องมือความเข้ากันได้ของ Intel DPC++ [พีดีเอฟ] คู่มือการใช้งาน เครื่องมือความเข้ากันได้ของ DPC, เครื่องมือความเข้ากันได้, เครื่องมือ |




