สถาปัตยกรรมคอมพิวต์ CDNA 3 ของ AMD
- AMD มีประวัติอันยาวนานในการพยายามเพิ่มส่วนแบ่งตลาด GPU สำหรับงานคอมพิวต์
- หลังจากสถาปัตยกรรม Tesla ของ Nvidia แล้ว AMD ก็ยังคงไล่ตามมาอย่างต่อเนื่อง
- Terascale 3 เปลี่ยนจาก VLIW5 ไปเป็น VLIW4 เพื่อเพิ่มการใช้ประโยชน์ของหน่วยประมวลผลในเวิร์กโหลดคอมพิวต์
- GCN เข้ามาแทนที่ Terascale และเน้นประสิทธิภาพที่สม่ำเสมอทั้งสำหรับ GPGPU และแอปพลิเคชันกราฟิก
- AMD แยกการพัฒนาสถาปัตยกรรม GPU ออกเป็นสาย CDNA และ RDNA โดยเฉพาะสำหรับงานคอมพิวต์และกราฟิกตามลำดับ
- CDNA 2 นำความสำเร็จที่น่าจับตามาให้ AMD โดย GPU รุ่น MI250X และ MI210 คว้าสัญญาซูเปอร์คอมพิวเตอร์หลายรายการ
- CDNA 3 นำทุกสิ่งที่ AMD มีออกมาใช้เพื่อลดช่องว่าง โดย MI300X แสดงเทคโนโลยีแพ็กเกจจิ้งขั้นสูงผ่านการจัดวางชิปเล็ตที่ซับซ้อน
- ในด้านหน่วยความจำ Infinity Cache จากสาย RDNA ถูกนำเข้าสู่โลกของ CDNA เพื่อบรรเทาปัญหาแบนด์วิดท์
- สถาปัตยกรรมคอมพิวต์ของ CDNA 3 ได้รับการปรับปรุงข้ามรุ่นที่สำคัญเพื่อเพิ่ม throughput และการใช้ทรัพยากร
เลย์เอาต์ของ GPU
- AMD มีธรรมเนียมการใช้ชิปเล็ตเพื่อขยายจำนวนคอร์ใน CPU Ryzen และ Epyc อย่างคุ้มค่า
- MI300X ใช้กลยุทธ์คล้ายกัน โดยแยกส่วนคอมพิวต์ออกเป็น Accelerator Complex Dies หรือ XCD
- XCD แต่ละตัวมีชุดคอร์และแคชที่ใช้ร่วมกัน โดย MI300X มี XCD ทั้งหมด 8 ตัว รวมเป็น 304 Compute Units
- H100 ของ Nvidia มี Streaming Multiprocessors (SMs) จำนวน 132 ชุด และนำเสนอให้โปรแกรมเมอร์เห็นเป็น GPU ขนาดใหญ่แบบรวมศูนย์หนึ่งตัว
- Ponte Vecchio (PVC) ของ Intel ใช้ Compute Tiles และ Base Tile เพื่อให้ได้ความสามารถคล้ายกัน แต่มีความท้าทายในฐานะ GPU แบบรวมศูนย์เนื่องจากข้อจำกัดด้านแบนด์วิดท์ของสะพาน EMIB
การแก้ปัญหาแบนด์วิดท์
- งานคอมพิวต์มีความเร็วแซงหน้าหน่วยความจำมาหลายทศวรรษ และ GPU ก็รับมือด้วยกลยุทธ์การแคชที่ซับซ้อนขึ้นเรื่อย ๆ
- CDNA 2 ใช้แคช L2 ขนาด 8 MB และพึ่งพา HBM2e แต่ AMD ได้เพิ่ม "Infinity Cache" ที่ใช้ใน RDNA(2) เข้ามา
- Infinity Cache เป็นแคชฝั่งหน่วยความจำ โดยทราฟฟิกหน่วยความจำทั้งหมดจะต้องผ่าน Infinity Cache
- Infinity Cache ของ CDNA 3 ถูกออกแบบมาเพื่อปรับแบนด์วิดท์ให้เหมาะสม โดยประกอบด้วย 128 slices และให้แบนด์วิดท์รวม 17.2 TB/s
ความท้าทายที่อาจเกิดขึ้นของแบนด์วิดท์แบบ Cross-Die
- Infinity Fabric ของ MI300X ประกอบด้วย IO die 4 ตัว โดยแต่ละตัวเชื่อมต่อกับ HBM สองสแตกและพาร์ทิชันแคชที่เกี่ยวข้อง
- แบนด์วิดท์ของการเชื่อมต่อระหว่าง die อาจจำกัดการเข้าถึงแบนด์วิดท์เชิงทฤษฎีของ Infinity Cache เมื่อทำงานเป็น GPU เชิงตรรกะเพียงตัวเดียว
Coherency ข้าม XCD
- Infinity Cache ไม่จำเป็นต้องกังวลเรื่อง coherency แต่แคช L2 จำเป็น
- AMD ใช้ Coherent Masters (CMs) และ Coherent Slaves (CS) ของ Infinity Fabric เพื่อเปิดเผย MI300X ให้เป็น GPU ขนาดใหญ่เพียงตัวเดียว
แคช L2
- XCD แต่ละตัวของ MI300X มีแคช L2 ขนาด 4 MB ซึ่งมีบทบาทสำคัญในฐานะแคช GPU แบบดั้งเดิม
แคช L1
- CDNA 3 เพิ่ม throughput ของแคช L1 เป็นสองเท่า และเพิ่มความจุจาก 16 KB เป็น 32 KB
การจัดตารางและหน่วยประมวลผล
- ด้วยโครงสร้างชิปเล็ตที่ซับซ้อนและลำดับชั้นแคชที่ปรับแก้ AMD จึงนำเสนอ MI300X ให้เป็น GPU เพียงตัวเดียว
- CDNA 3 ปรับปรุงแบบค่อยเป็นค่อยไปต่อสถาปัตยกรรม Compute Unit แกนหลักของ CDNA 2 ซึ่งก่อนหน้านี้มีปัญหาในการใช้ประโยชน์จากหน่วย FP32
การดำเนินการเมทริกซ์
- การคูณเมทริกซ์มีความสำคัญมากขึ้นเรื่อย ๆ ตามการเติบโตของแมชชีนเลิร์นนิง
- MI300X เพิ่ม throughput ด้านเมทริกซ์ต่อ CU เป็นสองเท่า ทำให้ประสิทธิภาพดีขึ้นเมื่อเทียบกับ CDNA รุ่นก่อนหน้า
แคชคำสั่ง
- CDNA 3 เพิ่มความจุของแคชคำสั่งเป็น 64 KB และเพิ่ม associativity เป็นสองเท่าจาก 4-way เป็น 8-way
คำกล่าวส่งท้าย
- การเปลี่ยนแปลงข้ามรุ่นที่ใหญ่ที่สุดของ CDNA 3 อยู่ที่ลำดับชั้นหน่วยความจำ โดยการเพิ่ม Infinity Cache คือจุดปรับปรุงสำคัญ
- AMD เพิ่มแบนด์วิดท์ระหว่าง die อย่างมากเพื่อทำให้ MI300 เป็นตัวเร่งความเร็วแบบรวมศูนย์ขนาดใหญ่เพียงตัวเดียว
ความเห็นของ GN⁺
- สถาปัตยกรรม CDNA 3 เป็นพัฒนาการสำคัญที่เสริมความสามารถในการแข่งขันของ AMD ในด้าน GPU computing
- การนำ Infinity Cache มาใช้เป็นแนวทางเชิงนวัตกรรมในการแก้ปัญหาแบนด์วิดท์หน่วยความจำ ซึ่งสำคัญอย่างยิ่งต่อแอปพลิเคชันคอมพิวต์สมรรถนะสูงที่ต้องจัดการชุดข้อมูลขนาดใหญ่
- กลยุทธ์ของ AMD ที่นำเสนอ MI300X เป็น GPU เพียงตัวเดียวช่วยลดความซับซ้อนในการเขียนโปรแกรม และทำให้นักพัฒนาสามารถใช้ทรัพยากรได้อย่างมีประสิทธิภาพมากขึ้น ส่งผลให้กลุ่มผลิตภัณฑ์ GPU ของ AMD น่าดึงดูดยิ่งขึ้นสำหรับตลาดที่กว้างขึ้น
1 ความคิดเห็น
ความเห็นจาก Hacker News