NVIDIA GPUs ได้รับการสนับสนุน SYCL หลังจาก Codeplay มีส่วนช่วยในการพัฒนามาตรฐาน DPC ++

ฮาร์ดแวร์ / NVIDIA GPUs ได้รับการสนับสนุน SYCL หลังจาก Codeplay มีส่วนช่วยในการพัฒนามาตรฐาน DPC ++ 2 นาทีอ่าน

Nvidia



หลังจากได้รับการสนับสนุนจาก บริษัท ชั้นนำเช่น Intel, Xilinx, Renesas และ Imagination Technologies, SYCL (อ่านว่า 'เคียว') นักพัฒนาที่ใช้ NVIDIA GPU จะได้รับประโยชน์เช่นกัน Codeplay ซึ่งเป็นองค์กรที่มีส่วนร่วมอย่างต่อเนื่องในชุมชน SYCL ได้ยุติการพัฒนาขั้นสูงของ DPC ++ (Data Parallel C ++) ซึ่งอำนวยความสะดวกในการรีไซเคิลและนำโค้ดกลับมาใช้ในแพลตฟอร์มฮาร์ดแวร์ต่างๆ ผลลัพธ์คือ ComputeCpp การใช้งาน SYCL ของ Codeplay เอง .

รุ่นล่าสุดของ ComputeCpp เสนอการสนับสนุนการทดลองสำหรับ NVIDIA GPU โดยใช้ OpenCL และ NVIDIA's PTX

เมื่อปีที่แล้ว Intel ได้ดำเนินการขั้นเด็ดขาดในการผลักดัน SYCL และยังเริ่มดำเนินการกับ OneAPI Standard oneAPI ประกอบด้วย DPC ++ (การใช้งาน SYCL พร้อมส่วนขยาย) สำหรับ CPU, GPU และ FPGA ของ Intel ในไม่ช้าการเคลื่อนไหวก็กลายเป็นเรื่องใหญ่และได้รับแรงผลักดันหลังจากการสนับสนุน SYCL เข้ามาจาก Xilinx, Renesas และ Imagination Technologies พูดง่ายๆก็คือตอนนี้นักพัฒนาซอฟต์แวร์สามารถกำหนดเป้าหมายอุปกรณ์ที่หลากหลายโดยใช้ SYCL



ComputeCpp เสนอการสนับสนุนรุ่นทดลองสำหรับ NVIDIA GPU โดยใช้ OpenCL และ NVIDIA's PTX แต่ DPC ++ (การใช้งาน SYCL ของ Intel) มอบโอกาสในการเพิ่มการสนับสนุนอย่างเต็มที่สำหรับ NVIDIA GPU ที่รวมอยู่ในคอมไพเลอร์ LLVM โดยไม่ต้องผ่าน OpenCL Codeplay ประกาศว่าพวกเขาเป็นโอเพนซอร์สในขั้นตอนการทดลองเริ่มต้นของการใช้งานซึ่งช่วยให้นักพัฒนา SYCL สามารถกำหนดเป้าหมาย NVIDIA GPU ได้ codebase สำหรับการใช้งานนี้ยังคงอยู่ ส้อมแยกต่างหาก จากทั้งโครงการคอมไพเลอร์ LLVM หลักและสาขา DPC ++ องค์กรเสริมว่าพวกเขาตั้งใจที่จะทำงานร่วมกับ Intel เพื่อรับการสนับสนุน NVIDIA GPU ที่เพิ่มเข้าไปในคอมไพเลอร์ Intel / LLVM ขั้นต้น

นักพัฒนาจะได้รับประโยชน์จากการรองรับ SYCL สำหรับ NVIDIA GPU ได้อย่างไร?

โครงการนี้ช่วยให้นักพัฒนาสามารถกำหนดเป้าหมาย NVIDIA GPU โดยใช้รหัส SYCL โดยไม่ต้องผ่านเลเยอร์ OpenCL ในระบบ กล่าวอีกนัยหนึ่งก็คือด้วย NVIDIA GPU นักพัฒนาสามารถเรียกใช้ DPC ++ บนระบบของพวกเขาเพื่อรวบรวมแอปพลิเคชัน SYCL ยิ่งไปกว่านั้นแอปพลิเคชัน CUDA ที่มีอยู่สามารถเพิ่มพอร์ตไปยัง SYCL โดยใช้การสนับสนุน CUDA จากนั้นเรียกใช้บนแพลตฟอร์มที่ไม่มี CUDA สิ่งนี้ช่วยประหยัดเวลาและความพยายามซ้ำ ๆ ได้มาก

Codeplay ได้เสนอคำแนะนำเกี่ยวกับไฟล์ README ของโปรเจ็กต์ที่อธิบายวิธีการใช้งาน NVIDIA back-end สำหรับ DPC ++ นักพัฒนาจำเป็นต้องใช้แฟล็กบางอย่างในการคอมไพล์และโค้ดบางตัวเพื่อตั้งค่าตัวเลือกอุปกรณ์เพื่อให้รันไทม์รู้ว่าจะกำหนดเป้าหมายอุปกรณ์ใด โดยเฉพาะอย่างยิ่งส่วน“ สร้าง SYCL toolchain พร้อมรองรับ NVIDIA CUDA ” และตัวเลือกคอมไพเลอร์เสียงดังมี คำแนะนำเฉพาะ .

Codeplay ยืนยันว่าประสบความสำเร็จในการรันโครงการด้วย Ubuntu 18.04 โดยใช้ CUDA 10.1 บน Titan RTX GPU (ความสามารถในการคำนวณ 7.5) ทีมงานรับรองว่าควรทำงานบน Linux เวอร์ชันอื่น ๆ ด้วย NVIDIA GPU ที่เข้ากันได้กับ SM 5.0 หรือสูงกว่า อย่างไรก็ตามแอปพลิเคชัน SYCL ที่คอมไพล์แล้วจะสามารถกำหนดเป้าหมาย CUDA หรือ OpenCL เท่านั้นไม่ใช่ทั้งสองอย่างในเวลาเดียวกัน