1 คะแนน โดย GN⁺ 2023-12-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

สถาปัตยกรรมคอมพิวต์ 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 ความคิดเห็น

 
GN⁺ 2023-12-19
ความเห็นจาก Hacker News
  • เพิ่งรู้ว่า AMD แยกไปพัฒนาสถาปัตยกรรม GPU อย่าง CDNA และ RDNA ที่เชี่ยวชาญคนละด้านสำหรับงานคอมพิวต์และกราฟิก

    • เข้าใจแล้วว่าทำไมการ์ดจอสำหรับผู้บริโภคของ AMD จึงไม่เหมาะกับงานคอมพิวต์ น่าจะเป็นเพราะความแตกต่างของสถาปัตยกรรม ซึ่งดูคล้ายกับปัญหาทางด่วนที่ไม่มีทางขึ้น
  • คิดว่า AMD จะสู้กับ NVidia ได้ยากในอนาคตอันใกล้ เพราะนักวิทยาศาสตร์จำนวนมากได้รับ GPU ฟรีหรือราคาลดพิเศษจาก NVidia เพื่อพัฒนาไลบรารีหลักในสาย ML/AI

    • มีความเห็นว่าวิธีที่ NVidia แทรกซึมเข้าไปในแวดวงวิชาการนั้นไม่เป็นจริยธรรม
  • เพิ่งรู้จัก VLIW (Very long instruction word) เป็นครั้งแรก

    • VLIW หมายถึงสถาปัตยกรรมชุดคำสั่งที่ออกแบบมาเพื่อใช้ประโยชน์จาก instruction-level parallelism ขณะที่ CPU แบบดั้งเดิมอนุญาตให้รันคำสั่งได้แบบลำดับเท่านั้น แต่โปรเซสเซอร์ VLIW สามารถระบุการรันแบบขนานได้อย่างชัดเจน แนวคิดนี้มีเป้าหมายเพื่อให้ได้ประสิทธิภาพสูงขึ้นโดยไม่ต้องเพิ่มความซับซ้อนแบบแนวทางอื่น
  • แสดงความคิดเห็นเกี่ยวกับการที่ตนเคยคาดการณ์ว่า AMD จะกลับมาในสาย AI โดยอาศัยความรู้เรื่องชิปเล็ตและ bus fabric

    • ยอมรับว่าตัวเองไม่มั่นใจทั้งกับการอ่านบทความนี้หรือการอ่านเรื่องลักษณะนี้โดยทั่วไป แต่อยากแสดงมุมมองของตนเองเท่านั้น
  • ตั้งคำถามว่าคำว่า "compute" เริ่มถูกใช้เป็นคำนามตั้งแต่เมื่อไร

    • บอกว่ารู้สึกขัดใจกับการใช้คำว่า "compute" ในฐานะคำนาม
  • ตลอดหลายทศวรรษที่ผ่านมา ฝั่งคอมพิวต์วิ่งนำหน้าเมมโมรีอยู่เสมอ และ GPU ก็เหมือน CPU ตรงที่กำลังรับมือเรื่องนี้ด้วยกลยุทธ์การแคชที่ซับซ้อนขึ้นเรื่อย ๆ

    • แต่ต่างจาก CPU ตรงที่ GPU ไม่ได้พยายามแก้ตรง ๆ กลับยอมรับ latency ที่สูงกว่า แล้วทำงานแบบขนานในวงกว้างมากขึ้นเพื่อให้เกิดผลของการ 'ซ่อน latency' ซึ่งอาจใช้เป็นตัวอย่างในงานนำเสนอเกี่ยวกับการปรับแต่งโค้ด GPU ได้