RISC-V 64 บิต IP สำหรับประสิทธิภาพสูง - Semiwiki

RISC-V 64 บิต IP สำหรับประสิทธิภาพสูง – Semiwiki

โหนดต้นทาง: 2855188

RISC-V ในฐานะสถาปัตยกรรมชุดคำสั่ง (ISA) เติบโตอย่างรวดเร็วในด้านความสำคัญเชิงพาณิชย์และความเกี่ยวข้องนับตั้งแต่เปิดตัวสู่ชุมชนเปิดในปี 2015 โดยดึงดูดผู้จำหน่าย IP จำนวนมากที่ปัจจุบันให้บริการคอร์ RTL ที่หลากหลาย โรเจอร์ เอสปาซา ซีอีโอและผู้ก่อตั้ง กึ่งไดนามิกส์ได้นำเสนอในงาน RISC-V เกี่ยวกับวิธีการปรับแต่ง IP ของตนสำหรับความท้าทายในการประมวลผลที่ต้องใช้แบนด์วิธสูงและแกนประมวลผลประสิทธิภาพสูงพร้อมหน่วยเวกเตอร์ Semidynamics ก่อตั้งขึ้นในปี 2016 โดยมีบาร์เซโลนาเป็นสำนักงานใหญ่ และมีลูกค้าอยู่ในสหรัฐอเมริกาและเอเชียแล้ว โดยนำเสนอ RISC-V IP ที่ปรับแต่งได้สองรายการ:

  • Avispado – RISCV64GCV ตามลำดับ รองรับ AXI และ CHI
  • Atrevido – RISCV64GC ที่ไม่อยู่ในลำดับ รองรับ AXI และ CHI

CPU ทั่วไปมีคอร์ขนาดใหญ่จำนวนหนึ่งและแคชขนาดใหญ่ ทำให้ง่ายต่อการตั้งโปรแกรมแม้ว่าจะไม่ได้มีประสิทธิภาพสูงก็ตาม

ในทางตรงกันข้าม GPU มีคอร์ขนาดเล็กจำนวนมากที่ให้ประสิทธิภาพสูงสำหรับโค้ดแบบขนาน แต่จะยากกว่าในการตั้งโปรแกรมและเพิ่มเวลาแฝงในการสื่อสารผ่านบัส PCIe เมื่อข้อมูลจำเป็นต้องส่งไปมาระหว่าง CPU และ GPU

CPU, GPU ขั้นต่ำ
เปรียบเทียบ CPU, GPU

แนวทางที่ Espasa คือการใช้คอร์ RISC-V ที่เชื่อมต่อกับคอร์ประมวลผล ซึ่งทำให้ง่ายต่อการตั้งโปรแกรม ประสิทธิภาพที่สูงขึ้นสำหรับโค้ดแบบขนาน และเสนอเวลาแฝงในการสื่อสารเป็นศูนย์ CPU และหน่วยเวกเตอร์มอบสิ่งที่ดีที่สุดของทั้งสองโลก

CPU RISC-V พร้อมหน่วย Vector ประสิทธิภาพสูงกว่า
CPU บวกหน่วยเวกเตอร์

ข้อกำหนด RISC-V บันทึกการลงทะเบียนเวกเตอร์ 32 รายการ และคุณสามารถเพิ่มแกนเวกเตอร์จำนวนหนึ่ง พร้อมกับการเชื่อมต่อกับแคชของคุณภายในหน่วยเวกเตอร์

หน่วยเวกเตอร์ขั้นต่ำ
หน่วยเวกเตอร์

ด้วย Semidynamics IP คุณสามารถปรับแต่งจำนวน Vector Cores ได้: 4, 8, 16, 32 อีกวิธีในการดูสิ่งนี้ก็คือ โปรดทราบว่า Vector Cores 4 ตัวเป็นแบบ 256 บิต สูงสุดถึง 32 Vector Cores ซึ่งเป็น 2,048 บิต

ผู้ใช้ IP ยังเลือกประเภทข้อมูล: FP64, FP32, FP16, BF16, INT64, INT32, INT16, INT8 สำหรับแอปพลิเคชัน AI พวกเขาอาจเลือกประเภทข้อมูล FP16, BF16 ในขณะที่แอปพลิเคชัน HPC สามารถเลือก FP64, FP32

การปรับแต่งประการที่สามคือ Vector Register Length ซึ่งเพื่อให้ได้ประสิทธิภาพที่มากขึ้นและพลังงานที่ต่ำกว่า คุณสามารถทำให้การลงทะเบียนเวกเตอร์มีขนาดใหญ่กว่าหน่วยเวกเตอร์ได้

นี่คือแผนภาพบล็อกของ Atrevideo 423-V8:

อเทรวิโด้ นาที
หน่วยเวกเตอร์ Atrevido 423 + V8

หน่วยเวกเตอร์ไม่อยู่ในลำดับโดยสิ้นเชิง ซึ่งเป็นลักษณะเฉพาะของผู้จำหน่าย IP RISC-V การรวมกันของหน่วยเวกเตอร์และหน่วย Gazzillion สามารถสตรีมข้อมูลที่มากกว่า 60 ไบต์/รอบ

Vector + Gazzillion ประสิทธิภาพไบต์/รอบ
แบนด์วิธสูง: Vector + Gazzillion

เส้นสีม่วงแสดงประสิทธิภาพการอ่าน และใน L1 Cache คือ 20-60 ไบต์/รอบ เครื่องอื่นๆ แสดงแบนด์วิดท์ลดลงอย่างรวดเร็วหลังจากออกจาก L1 Cache ในขณะที่วิธีการนี้ดำเนินต่อไป โดยแบนราบที่ 56 แม้แต่ไปที่หน่วยความจำ DDR แสดงแบนด์วิธ 40 ด้วยอัตรานาฬิกา 1.0GHz ที่ทำให้แบนด์วิธ 40 GB/s

ลูกค้า IP สามารถเพิ่มโค้ด RTL ของตนเองที่เชื่อมต่อกับ Vector Unit เพื่อวัตถุประสงค์ของตนเองได้

ประสิทธิภาพการคูณเมทริกซ์มีความสำคัญในปริมาณงาน AI และใน OOO V8 Vector Unit จะมีจุดสูงสุดที่ 16 FP64 FLOPS/รอบ และ 99% ของจุดสูงสุดสำหรับขนาดเมทริกซ์ >= 400 สำหรับเมทริกซ์ขนาดเล็กขนาด 24×24 ประสิทธิภาพคือ 7 FP64 FLOPS/รอบ หรือ 50% ของจุดสูงสุด การคูณเมทริกซ์สำหรับ FP16 โดยใช้หน่วยเวกเตอร์ที่มี 8 แกนเวกเตอร์มีจุดสูงสุดที่ 64 FP16 FLOPS/รอบ และ 99% ของจุดสูงสุดสำหรับ M >= 600

เกณฑ์มาตรฐานการตรวจจับวัตถุแบบเรียลไทม์ที่เรียกว่า YOLO (คุณดูเพียงครั้งเดียว) ทำงานบนแพลตฟอร์ม Atrevido 423-V8 และแสดงให้เห็นประสิทธิภาพต่อแกนเวกเตอร์ที่สูงขึ้น 58% มากกว่าคู่แข่ง ผลลัพธ์เหล่านี้มีไว้สำหรับวิดีโอที่มี 24 เลเยอร์ 5.56 Gops/frame และพารามิเตอร์ประมาณ 9M

การแสดงของโยโล
การเปรียบเทียบ YOLO

สรุป

การเลือกผู้จำหน่าย IP RISC-V นั้นเป็นงานที่ซับซ้อน ดังนั้นการทราบเกี่ยวกับผู้จำหน่ายเช่น Semidynamics สามารถช่วยให้คุณเข้าใจได้ดีขึ้นว่าแนวทางที่ปรับแต่งสามารถรันปริมาณงานเฉพาะของคุณได้อย่างมีประสิทธิภาพสูงสุดได้อย่างไร ด้วย Semidynamics คุณสามารถเลือกระหว่างตัวเลือกสถาปัตยกรรม เช่น เรียงลำดับหรือไม่เรียงลำดับ โดยมีหรือไม่มีหน่วยเวกเตอร์ก็ได้ ตัวเลขที่รายงานจากผู้ขาย IP รายนี้มีแนวโน้มที่ดี และฉันหวังว่าจะประกาศในอนาคตของพวกเขา

วิดีโอที่เกี่ยวข้อง

แชร์โพสต์นี้ผ่าน:

ประทับเวลา:

เพิ่มเติมจาก กึ่งวิกิ