โครงการ VeriGPU พัฒนา GPU แบบเปิดในภาษา Verilog

โครงการ VeriGPU มีวัตถุประสงค์เพื่อสร้าง GPU แบบเปิดที่พัฒนาในภาษา Verilog สำหรับการอธิบายและสร้างแบบจำลองระบบอิเล็กทรอนิกส์ ในขั้นต้น โครงการนี้กำลังได้รับการพัฒนาโดยใช้เครื่องจำลอง Verilog แต่เมื่อสร้างเสร็จแล้วก็สามารถนำไปใช้สำหรับการผลิตชิปจริงได้ การพัฒนาของโครงการได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT

VeriGPU อยู่ในตำแหน่งโปรเซสเซอร์เฉพาะแอปพลิเคชัน (ASIC) ที่ได้รับการปรับให้เหมาะสมสำหรับการเร่งการคำนวณที่เกี่ยวข้องกับระบบการเรียนรู้ของเครื่อง แผนต่างๆ รวมถึงความเข้ากันได้กับเฟรมเวิร์กการเรียนรู้ของเครื่องเชิงลึกของ PyTorch และความสามารถในการพัฒนาแอปพลิเคชันสำหรับ VeriGPU โดยใช้ HIP (Heterogeneous-Compute Interface) API ในอนาคต คุณสามารถเพิ่มการรองรับ API อื่นๆ ได้ เช่น SYCL และ NVIDIA CUDA

GPU พัฒนามาจากชุดคำสั่ง RISC-V แต่สถาปัตยกรรมภายในที่เป็นผลลัพธ์ของชุดคำสั่ง GPU นั้นเข้ากันได้กับ RISC-V ISA เพียงเล็กน้อย เนื่องจากในสถานการณ์ที่การออกแบบ GPU ไม่เข้ากับการแสดง RISC-V ไม่ได้ตั้งใจเพื่อรักษาความเข้ากันได้ของ RISC-V การพัฒนามุ่งเน้นไปที่ความสามารถที่จำเป็นสำหรับระบบการเรียนรู้ของเครื่อง ดังนั้นเพื่อลดขนาดและความซับซ้อนของเมทริกซ์ชิป จึงใช้เฉพาะรูปแบบจุดลอยตัว BF16 และเฉพาะการดำเนินการจุดลอยตัวที่จำเป็นสำหรับการเรียนรู้ของเครื่อง เช่น exp, log, มีทั้ง tanh และ sqrt

ส่วนประกอบที่มีอยู่แล้ว ได้แก่ ตัวควบคุม GPU, APU (หน่วยประมวลผลเร่งรัด) สำหรับการดำเนินการจำนวนเต็ม (“+”,”-“,”/,”,”*”) และหน่วยสำหรับการดำเนินการจุดลอยตัว (“+,” ”*”) และบล็อกการแตกแขนง ในการสร้างแอปพลิเคชัน มีแอสเซมเบลอร์และรองรับการคอมไพล์โค้ดในภาษา C++ ที่ใช้ LLVM ในบรรดาความสามารถที่วางแผนไว้ การดำเนินการคำสั่งแบบขนาน การแคชข้อมูลและหน่วยความจำคำสั่ง และการดำเนินการ SIMT (คำสั่งเดียวหลายเธรด) จะถูกเน้นไว้

โครงการ VeriGPU พัฒนา GPU แบบเปิดในภาษา Verilog


ที่มา: opennet.ru

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