ปล่อย PoCL 5.0 พร้อมการนำมาตรฐาน OpenCL ไปใช้อย่างอิสระ

การเปิดตัวโครงการ PoCL 5.0 (Portable Computing Language OpenCL) ได้รับการเผยแพร่ โดยพัฒนาการใช้งานมาตรฐาน OpenCL ที่ไม่ขึ้นอยู่กับผู้ผลิตตัวเร่งกราฟิก และอนุญาตให้ใช้แบ็กเอนด์ต่างๆ เพื่อเรียกใช้เคอร์เนล OpenCL บนกราฟิกและโปรเซสเซอร์กลางประเภทต่างๆ . รหัสโครงการเผยแพร่ภายใต้ใบอนุญาต MIT รองรับการทำงานบนแพลตฟอร์ม X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU และโปรเซสเซอร์ ASIP (ตัวประมวลผลชุดคำสั่งเฉพาะแอปพลิเคชัน) และ TTA (สถาปัตยกรรมทริกเกอร์การขนส่ง) พร้อมสถาปัตยกรรม VLIW

การใช้งานคอมไพเลอร์หลักของ OpenCL ขึ้นอยู่กับ LLVM และ Clang ใช้เป็นฟรอนต์เอนด์สำหรับ OpenCL C เพื่อให้แน่ใจว่าสามารถพกพาได้และประสิทธิภาพที่เหมาะสม เคอร์เนลคอมไพเลอร์ของ OpenCL สามารถสร้างฟังก์ชันแบบรวมที่สามารถใช้ทรัพยากรฮาร์ดแวร์ต่างๆ เพื่อดำเนินการโค้ดแบบขนาน เช่น VLIW, ซูเปอร์สเกลาร์, SIMD, SIMT, มัลติคอร์ และมัลติเธรด มีการรองรับไดรเวอร์ ICD (ไดรเวอร์ไคลเอนต์ที่ติดตั้งได้) มีแบ็กเอนด์เพื่อรองรับการทำงานผ่าน CPU, ASIP (TCE/TTA), GPU ตามสถาปัตยกรรม HSA และ NVIDIA GPU (ผ่าน libcuda)

ในเวอร์ชันใหม่:

  • มีการนำแบ็กเอนด์ “ระยะไกล” ใหม่มาใช้ ซึ่งออกแบบมาเพื่อจัดระเบียบการประมวลผลแบบกระจายโดยการถ่ายโอนการประมวลผลคำสั่ง OpenCL ไปยังโฮสต์อื่นๆ บนเครือข่ายที่รันกระบวนการ pocld พื้นหลัง
  • ไดรเวอร์ CUDA ใช้คุณลักษณะและส่วนขยาย OpenCL 3.0 เพิ่มเติม เช่น การดำเนินการแบบอะตอมมิก ตัวแปรที่มีขอบเขต intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier และ sub_group_ballot
  • ปรับปรุงการรองรับ CPU ตามสถาปัตยกรรม RISC-V การทำงานของ PoCL ได้รับการทดสอบบนบอร์ด Starfive VisionFive 2 ที่โหลดด้วยสภาพแวดล้อม Ubuntu 23.10 พร้อมด้วย LLVM 17 และ GCC 13.2
  • ส่วนขยาย cl_ext_float_atomics ได้รับการปรับใช้โดยรองรับ FP32 และ FP64
  • การใช้งานส่วนขยาย cl_khr_command_buffer ได้รับการอัพเดตเป็นเวอร์ชัน 0.9.4
  • มีการเสนอแบ็กเอนด์ AlmaIF แบบทดลองสำหรับ FPGA
  • ลบการสนับสนุนที่ไม่สมบูรณ์สำหรับการแสดงระดับกลางของ SPIR 1.x/2.0 shaders SPIR-V ได้รับการประกาศให้เป็นภาษาเชเดอร์ระดับกลางที่แนะนำ
  • เพิ่มการรองรับสำหรับ Clang/LLVM 17.0 การสนับสนุนสำหรับ Clang/LLVM 10-13 เลิกใช้แล้ว

ที่มา: opennet.ru

เพิ่มความคิดเห็น