- GPU มีพลังมากกว่า CPU 10~100 เท่า แต่จัดการงานแบบไดนามิกได้ยาก และ ขาดเครื่องมือสำหรับการเขียนโปรแกรมแบบขนาน ทำให้ ยังดึงประสิทธิภาพออกมาใช้กับงานทั่วไปได้ไม่เต็มที่
- ในอดีตเคยมีการออกแบบคอมพิวเตอร์แบบขนานอย่าง Connection Machine, Cell, Larrabee แต่ล้มเหลวเพราะความซับซ้อนของโมเดลการเขียนโปรแกรม เป็นต้น
- GPU สมัยใหม่ปรับแต่งประสิทธิภาพได้ยาก เพราะปัญหาการจัดการหน่วยความจำและโมเดลการทำงานที่ซับซ้อน จึงต้องการโครงสร้างส่งข้อมูลที่มีประสิทธิภาพแบบอิงคิว
- สถาปัตยกรรมใหม่อย่าง ตัวเร่ง AI และ ชุดคอร์แบบขนาน อาจมีศักยภาพในการก้าวข้ามข้อจำกัดของ GPU
- การพัฒนาคอมพิวเตอร์แบบขนานยังไม่เสร็จสมบูรณ์ และยังต้องการทั้งโมเดลการทำงานที่เรียบง่ายมีประสิทธิภาพและเครื่องมือเขียนโปรแกรมที่ดีขึ้น
พลังและข้อจำกัดของ GPU
- GPU มีพลังมากกว่า CPU ราว 10~100 เท่า (ขึ้นอยู่กับประเภทงาน)
- ประสิทธิภาพนี้ถูกใช้ได้ดีในงานเรนเดอร์กราฟิกแบบเรียลไทม์และแมชชีนเลิร์นนิง
- แต่ประสิทธิภาพของ GPU ยังไม่ถูกดึงมาใช้ได้เต็มที่กับ งานทั่วไป
สาเหตุของข้อจำกัดของ GPU
- โมเดลการทำงานที่อ่อนแอ
- GPU เก่งกับข้อมูลขนาดใหญ่ที่คาดเดาได้ (เช่น การคูณเมทริกซ์หนาแน่น) แต่ประสิทธิภาพตกกับ งานแบบไดนามิก
- ภาษาและเครื่องมือที่ไม่เพียงพอ
- การเขียนโปรแกรมคอมพิวเตอร์แบบขนานนั้นยากมากตั้งแต่ต้น
ความซับซ้อนที่เพิ่มขึ้น
- GPU รุ่นใหม่มี ความซับซ้อนเพิ่มขึ้นอย่างรวดเร็ว
- มีการเพิ่มฟีเจอร์ใหม่อย่าง mesh shaders, work graphs แต่บางงานพื้นฐานก็ยังไม่รองรับ
ปัญหาประสิทธิภาพหน่วยความจำของ GPU ที่ซับซ้อน
- ผู้เขียนกำลังพัฒนาเรนเดอเรอร์กราฟิกเวกเตอร์ 2D ระดับสูงชื่อ Vello
- CPU อัปโหลดคำอธิบายฉาก (ในรูปแบบ SVG) → compute shader ประมวลผลแล้วสร้างภาพ
- ปัญหา: ความยากในการจัดการหน่วยความจำ
- คาดเดาขนาดบัฟเฟอร์สำหรับเก็บผลลัพธ์ระหว่างทางได้ยาก
- หากบัฟเฟอร์ล้น การอ่านกลับจาก GPU ไปยัง CPU จะทำให้ประสิทธิภาพลดลง
ข้อเสนอแนวทางแก้ไข
- ปรับปรุงให้ส่งต่อผลลัพธ์ผ่าน คิว(queue) ภายใน GPU
การออกแบบคอมพิวเตอร์แบบขนานในอดีต
-
Connection Machine (1985)
- เป็นคอมพิวเตอร์แบบขนานที่มี โปรเซสเซอร์ 64k ตัว เชื่อมกันด้วยเครือข่ายไฮเปอร์คิวบ์
- โปรเซสเซอร์แต่ละตัวมีสมรรถนะต่ำ แต่รองรับงานขนานขนาดใหญ่ได้
- มีส่วนช่วยอย่างมากต่อการวิจัยอัลกอริทึมแบบขนาน
-
Cell (2006, PS3)
- เป็นคอมพิวเตอร์แบบขนานที่รวมอยู่ใน PS3 (จัดส่งประมาณ 87.4 ล้านเครื่อง)
- คอร์แบบขนาน 8 คอร์ สามารถคำนวณได้อย่างอิสระ
- สาเหตุที่ล้มเหลวคือความซับซ้อนของโมเดลการเขียนโปรแกรม
-
Larrabee (2008)
- พัฒนาในฐานะ คอมพิวเตอร์แบบขนานบนพื้นฐาน x86
- เหตุผลที่ล้มเหลว: การใช้พลังงาน และ การรองรับซอฟต์แวร์ที่ไม่เพียงพอ
- ต่อมาสืบทอดแนวคิดไปสู่ Xeon Phi และคำสั่ง AVX-512
ภาระงานที่เปลี่ยนไป
- แม้แต่ในเกม สัดส่วนของ งานคำนวณ ก็เพิ่มขึ้น
- ในกรณีของ Starfield เวลาทำงานรวมราว 50% เป็นงานคำนวณ
- เรนเดอเรอร์ Nanite ก็จัดการการแรสเตอร์ไรซ์สามเหลี่ยมขนาดเล็กด้วยการคำนวณเช่นกัน
ทิศทางการพัฒนาในอนาคต
-
1. ขยายชุดคอร์ (การกลับมาของ Cell)
- CPU ระดับสูงสมัยใหม่มีทรานซิสเตอร์มากกว่า 1 แสนล้านตัว
- จึงสามารถสร้างชิปที่มีคอร์ RISC แบบเรียบง่ายและใช้พลังงานต่ำได้หลายร้อยถึงหลายพันคอร์
- ตัวเร่ง AI ก็ใช้สถาปัตยกรรมคล้ายกันอยู่แล้ว
-
2. รันคำสั่ง Vulkan บน GPU
- รองรับให้ GPU รันคำสั่ง Vulkan ได้โดยตรง
- ปัจจุบันมีการใช้งานแบบจำกัดใน Vulkan extension บางตัว
-
3. Work Graph
- จัดโปรแกรมเป็นโหนด (เคอร์เนล) และเอดจ์ (คิว)
- แม้จะรันแบบขนานได้ แต่ยังมีข้อจำกัดดังนี้
- ทำงาน join ได้ยาก
- ไม่รับประกันลำดับการจัดเรียงขององค์ประกอบ
- ไม่รองรับองค์ประกอบขนาดแปรผัน
-
4. วิวัฒนาการสู่การหลอมรวมกับ CPU
- การออกแบบ CPU สมรรถนะสูงอาจพัฒนาไปในทิศทางที่เหมาะกับงานขนานมากขึ้น
- กำลังปรับปรุงทั้งงานคำนวณแบบขนานและประสิทธิภาพ SIMD (single instruction multiple data)
-
5. ฮาร์ดแวร์อาจพร้อมอยู่แล้ว
- GPU บางรุ่นมี command processor ที่รันโค้ดผู้ใช้ได้
- หาก command processor ถูกเปิดให้ใช้งานอย่างเต็มรูปแบบ ก็อาจมีโอกาสเพิ่มประสิทธิภาพได้
ปัญหาความซับซ้อน
- สถาปัตยกรรม GPU ซับซ้อนเกินไป
- มีทั้งคอมพิวเตอร์แบบขนาน + ฮาร์ดแวร์เฉพาะทาง + โครงสร้างประมวลผลคำสั่งปะปนกัน
- รวมถึงปัญหาความเข้ากันได้ของ API และไดรเวอร์ที่หลากหลาย
- ในทางกลับกัน CPU ยังคงเพิ่มประสิทธิภาพต่อเนื่องบนพื้นฐานของชุดคำสั่งที่เรียบง่าย
บทสรุป
- การพัฒนาคอมพิวเตอร์แบบขนานยังอยู่ในสภาพที่ไม่เสร็จสมบูรณ์
- เพื่อให้ GPU เหมาะกับงานทั่วไปนอกเหนือจากกราฟิกและงาน AI ยังต้องมีสิ่งต่อไปนี้
- โมเดลการทำงานที่เรียบง่าย
- ความง่ายในการเขียนโปรแกรม
- การใช้พลังงานต่ำ
- งานอย่างเรนเดอเรอร์ 2D ระดับสูงเช่น Vello จะสามารถใช้สมรรถนะของคอมพิวเตอร์แบบขนานได้อย่างเต็มที่
- จำเป็นต้องมี สถาปัตยกรรมคอมพิวเตอร์แบบขนานรูปแบบใหม่ เพื่อก้าวข้ามข้อจำกัดด้านประสิทธิภาพของ GPU
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
"เชื่อว่ามีปัจจัยหลักอยู่สองอย่างที่ขัดขวางสิ่งนี้"
โมเดลการเขียนโปรแกรมในปี 2025 ไม่มีประสิทธิภาพ
มีประสบการณ์ทำงานที่บริษัทซึ่ง "ใส่ CPU ขนาดเล็กหลายร้อยตัวลงบนชิปตัวเดียว"
GPU ทรงพลังกว่า CPU อยู่ 10–100 เท่า
ความเห็นเกี่ยวกับการสร้างซูเปอร์คอมพิวเตอร์จาก M4 Mac mini
ปัญหาของคอมพิวเตอร์แบบขนาน
ยังไม่ชัดเจนว่าทำไมตัวเรนเดอร์ 2D ถึงต้องใช้ GPU
มีการพูดถึง Larabee มาก แต่ไม่มีการพูดถึง Xeon Phis
สิ่งที่ต้องแลกเพื่อให้ GPU มี throughput สูง