HPVM คอมไพเลอร์ LLVM สำหรับ CPU, GPU, FPGA และตัวเร่งฮาร์ดแวร์

โครงการล่าสุด LLVM ประกาศเปิดตัว เวอร์ชั่นใหม่ของคอมไพเลอร์ เอชพีวีเอ็ม 2.0 (เครื่องเสมือนแบบขนานต่างกัน), ซึ่งมีเป้าหมายเพื่อลดความซับซ้อนของการเขียนโปรแกรมสำหรับระบบ และจัดเตรียมเครื่องมือสำหรับสร้างโค้ดสำหรับ CPU, GPU, FPGA และตัวเร่งฮาร์ดแวร์เฉพาะโดเมน

การเขียนโปรแกรมระบบขนานที่แตกต่างกันนั้นซับซ้อนเนื่องจากการมีอยู่ในระบบของส่วนประกอบที่ใช้แบบจำลองที่แตกต่างกันเพื่อให้เกิดความเท่าเทียมกัน (แกน CPU, คำสั่งเวกเตอร์, GPU เป็นต้น) ชุดคำสั่งที่แตกต่างกัน และลำดับชั้นหน่วยความจำที่แตกต่างกัน แต่ละระบบใช้ส่วนประกอบเหล่านี้ร่วมกัน

แนวคิดหลัก ของโครงการ HPVM คือการใช้การแทนค่าแบบรวมของโปรแกรมปฏิบัติการแบบคู่ขนานเมื่อทำการคอมไพล์ ซึ่งสามารถใช้ได้กับฮาร์ดแวร์ประเภทต่างๆ ที่รองรับการประมวลผลแบบขนาน เช่น GPU, vector instructions, multi-core processors, FPGAs และชิปเร่งความเร็วแบบพิเศษต่างๆ

ต่างจากระบบอื่นๆ HPVM พยายามรวมสามความเป็นไปได้ เพื่อจัดระเบียบการคำนวณที่แตกต่างกัน: การเป็นตัวแทนระดับกลาง (IR) สถาปัตยกรรมชุดคำสั่งเสมือน (V-ISA) และการเขียนโปรแกรมรันไทม์โดยไม่คำนึงถึงภาษาการเขียนโปรแกรมและฮาร์ดแวร์

การเป็นตัวแทนระดับกลางของ HPVM ขยายการแสดงระดับกลางของคำสั่ง LLVM โดยใช้กราฟการไหลของข้อมูลแบบลำดับชั้น เพื่อจับความขนานที่ระดับงาน ข้อมูล และไปป์ไลน์การคำนวณ การแสดงระดับกลางของ HPVM ยังรวมถึงคำแนะนำเวกเตอร์และหน่วยความจำที่ใช้ร่วมกัน เป้าหมายหลักของการใช้ตัวแทนระดับกลางคือการสร้างโค้ดที่มีประสิทธิภาพและการเพิ่มประสิทธิภาพสำหรับระบบที่ต่างกัน

สถาปัตยกรรมชุดคำสั่งเสมือน (V-ISA) ย่อฮาร์ดแวร์ระดับต่ำและรวมรูปแบบต่าง ๆ ของสถาปัตยกรรมคู่ขนานและหน่วยความจำโดยใช้เฉพาะแบบจำลองการทำงานพร้อมกันที่อยู่ภายใต้ กราฟการไหลของข้อมูล

V-ISA ช่วยให้พกพาระหว่างฮาร์ดแวร์ประเภทต่างๆ สำหรับการประมวลผลแบบขนาน และทำให้ไม่สามารถสูญเสียประสิทธิภาพได้เมื่อใช้องค์ประกอบต่างๆ ของระบบที่ต่างกัน นอกจากนี้ยังสามารถใช้ Virtual ISA เพื่อส่งรหัสโปรแกรมทั่วไปที่สามารถเรียกใช้บน CPU, GPU, FPGA และตัวเร่งความเร็วต่างๆ

นโยบายการกำหนดตารางเวลาการประมวลผลที่ยืดหยุ่นจะนำไปใช้ที่รันไทม์และดำเนินการตามข้อมูลเกี่ยวกับโปรแกรม (โครงสร้างกราฟิก) และโดยการรวบรวมโหนดโปรแกรมแต่ละรายการเพื่อดำเนินการบนอุปกรณ์ประมวลผลเป้าหมายใดๆ ที่มีอยู่ในระบบ

ตัวสร้างโค้ดที่พัฒนาโดยโครงการนี้มีความสามารถในการแปลโหนดแอปพลิเคชันที่กำหนดโดย ISA เสมือนเพื่อทำงานบน NVIDIA GPU (cuDNN และ OpenCL), คำแนะนำเวกเตอร์ Intel AVX, FPGA และ x86 multicore CPU มีข้อสังเกตว่าประสิทธิภาพเอาต์พุตของตัวแปล HPVM เทียบได้กับโค้ด OpenCL ที่เขียนด้วยมือสำหรับอุปกรณ์ GPU และอุปกรณ์คำนวณแบบเวกเตอร์

คุณสมบัติใหม่หลักของ HPVM 2.0

สำหรับส่วน ของความแปลกใหม่ที่นำเสนอ ในเวอร์ชันใหม่นี้ มีความโดดเด่นดังต่อไปนี้:

  • มีการเสนอส่วนหน้าของภาษา Hetero-C++ ซึ่งทำให้การขนานของรหัสแอปพลิเคชันในภาษา C/C++ ง่ายขึ้นสำหรับการคอมไพล์ใน HPVM Hetero-C++ กำหนดส่วนขยายสำหรับการขนานระดับข้อมูลและงานตามลำดับชั้นที่แมปกับกราฟเธรด HPVM
  • เพิ่มแบ็กเอนด์ FPGA เพื่อรองรับการรันโค้ดบน Intel FPGA เพื่อจัดการการดำเนินการ ใช้ Intel FPGA SDK สำหรับ OpenCL
  • เพิ่มเฟรมเวิร์ก DSE (Design Space Exploration) ซึ่งรวมถึงการปรับแต่งคอมไพเลอร์และกลไกการตรวจจับคอขวดเพื่อปรับแต่งแอปพลิเคชันโดยอัตโนมัติสำหรับแพลตฟอร์มฮาร์ดแวร์ที่กำหนด
  • เฟรมเวิร์กประกอบด้วยโมเดลประสิทธิภาพที่พร้อมใช้งานทันทีสำหรับ Intel FPGA และช่วยให้คุณสามารถเชื่อมต่อโปรเซสเซอร์ของคุณเองเพื่อปรับแต่งอุปกรณ์ที่เปิดใช้งาน HPVM ได้
  • การเพิ่มประสิทธิภาพสามารถใช้ได้ทั้งในระดับกราฟการไหลของข้อมูล HPVM และระดับ LLVM
  • อัปเดตคอมโพเนนต์ LLVM เป็นเวอร์ชัน 13.0
  • โค้ดได้รับการจัดระเบียบใหม่เพื่อให้นำทางผ่านฐานโค้ด ไลบรารี และยูทิลิตี้ได้ง่ายขึ้น
  • โครงสร้างพื้นฐานสำหรับการทดสอบได้รับการปรับปรุง มีการเพิ่มการทดสอบใหม่สำหรับส่วนประกอบ HPVM ต่างๆ

ในที่สุด หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ HPVM คุณสามารถตรวจสอบรายละเอียดได้ใน ลิงค์ต่อไปนี้


เนื้อหาของบทความเป็นไปตามหลักการของเรา จรรยาบรรณของบรรณาธิการ. หากต้องการรายงานข้อผิดพลาดให้คลิก ที่นี่.

เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา