การเปิดตัว PoCL 3.0 พร้อมการนำมาตรฐาน OpenCL 3.0 ไปใช้อย่างเป็นอิสระ

มีการนำเสนอการเปิดตัวโครงการ PoCL 3.0 (Portable Computing Language OpenCL) ซึ่งพัฒนาการใช้งานมาตรฐาน OpenCL ที่เป็นอิสระจากผู้ผลิตตัวเร่งกราฟิกและอนุญาตให้ใช้แบ็กเอนด์ที่หลากหลายเพื่อเรียกใช้แกน OpenCL บนกราฟิกและโปรเซสเซอร์กลางประเภทต่างๆ รหัสโครงการแจกจ่ายภายใต้ใบอนุญาต MIT รองรับการทำงานบนแพลตฟอร์ม X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU และ ASIP (Application-Specific Instruction-set Processor) และ TTA-processor (Transport Triggered Architecture) พิเศษต่างๆ พร้อมสถาปัตยกรรม VLIW

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

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

  • ชุดคุณลักษณะขั้นต่ำที่จำเป็นเพื่อรองรับข้อกำหนด OpenCL 3.0 ได้ถูกนำมาใช้แล้ว ขณะนี้การสนับสนุน OpenCL 3.0 พร้อมใช้งานบนแบ็กเอนด์ที่ใช้ CPU ที่มี LLVM 14 เท่านั้น (แบ็กเอนด์อื่นๆ และ LLVM เวอร์ชันเก่าให้การสนับสนุน OpenCL 1.2)
  • เพิ่มการรองรับ Clang/LLVM 14
  • ปรับปรุงการติดตามและการแสดงภาพ
  • เพิ่มการรองรับสำหรับการสร้างกลุ่มฟังก์ชันพิเศษและรวมไว้ในไฟล์ปฏิบัติการด้วยเคอร์เนล OpenCL

ที่มา: opennet.ru

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