เจ๋ง! นักพัฒนาปลดล็อก Resizable BAR ให้ Intel Arc B580 บนเมนบอร์ดเก่าอายุ 10 ปี ดันแบนด์วิดท์จาก 15 เป็น 392 GB/s
ใครที่มีคอมพิวเตอร์รุ่นเก่าและอยากนำการ์ดจอ Intel Arc รุ่นใหม่มาใช้งาน อาจมีข่าวดี หลังนักพัฒนาสร้างเครื่องมือโอเพนซอร์สชื่อ arc-rebar สำหรับ Linux ที่ช่วยให้การ์ดจอ Intel Arc สามารถเข้าถึงหน่วยความจำ VRAM ได้เต็มความจุมากขึ้น แม้เมนบอร์ดจะไม่มีตัวเลือก Resizable BAR ใน BIOS มาให้ตั้งแต่แรกก็ตาม
ที่น่าสนใจคือ นักพัฒนาทดลองใช้งานกับเมนบอร์ดเซิร์ฟเวอร์ Supermicro X9DRH-7TF ซึ่งใช้ชิปเซ็ต Intel C602 พร้อมซีพียู Xeon E5-2670 v2 จำนวน 2 ตัว และ BIOS ที่เปิดตัวตั้งแต่ปี 2015 โดยติดตั้งการ์ดจอ Intel Arc B580 12GB เข้าไปใช้งานร่วมกับ Debian 13
ผลการทดสอบพบว่า ก่อนใช้เครื่องมือ ระบบเปิดให้ CPU เข้าถึงหน่วยความจำของการ์ดจอได้เพียง 256MB แต่หลังใช้ arc-rebar กลับสามารถจัดสรรพื้นที่ BAR ได้ถึง 16GiB ทำให้เข้าถึง VRAM ของการ์ดจอได้ครบทั้ง 12GB ตามความจุจริง (โครงการ arc-rebar บน GitHub)
Resizable BAR สำคัญกับการ์ดจอ Intel Arc อย่างไร?
Resizable BAR หรือ ReBAR เป็นเทคโนโลยีที่ช่วยให้ CPU เข้าถึงพื้นที่หน่วยความจำของการ์ดจอได้ในขนาดใหญ่ขึ้น แทนที่จะจำกัดอยู่ที่หน้าต่างหน่วยความจำขนาดเล็กตามการตั้งค่าดั้งเดิม
สำหรับการ์ดจอ Intel Arc นั้น ReBAR มีความสำคัญต่อประสิทธิภาพการทำงาน เพราะช่วยให้ระบบจัดการข้อมูลระหว่าง CPU และ GPU ได้เหมาะสมขึ้น โดย Intel เองก็แนะนำให้เปิดใช้งานคุณสมบัตินี้เพื่อประสิทธิภาพสูงสุดของการ์ดจอ Arc
ปัญหาคือ เมนบอร์ดรุ่นเก่าจำนวนมากไม่มีตัวเลือก ReBAR ใน BIOS หรือมีข้อจำกัดด้านการจัดสรรพื้นที่หน่วยความจำ PCIe ทำให้การ์ดจอรุ่นใหม่บางรุ่นทำงานได้ไม่เต็มประสิทธิภาพ แม้จะสามารถติดตั้งและใช้งานร่วมกันได้ก็ตาม (Intel Support)
แบนด์วิดท์เพิ่มจาก 15 เป็น 392 GB/s
ผลการทดสอบของผู้พัฒนาแสดงให้เห็นถึงความแตกต่างอย่างชัดเจนหลังใช้ arc-rebar โดยมีตัวเลขเปรียบเทียบดังนี้
|
รายการทดสอบ |
ก่อนใช้ arc-rebar |
หลังใช้ arc-rebar |
|---|---|---|
|
พื้นที่ VRAM ที่ CPU เข้าถึงได้ |
256MB |
หน้าต่าง BAR 16GiB |
|
แบนด์วิดท์หน่วยความจำในการทดสอบ |
15 GB/s |
392 GB/s |
|
ฟิลเตอร์เบลอภาพ 4K ผ่าน Vulkan |
ค้าง ไม่แสดงเฟรม |
39–50 FPS |
ตัวเลขแบนด์วิดท์ที่เพิ่มขึ้นจาก 15 เป็น 392 GB/s หรือประมาณ 26 เท่า มาจากการทดสอบเวิร์กโหลดของผู้พัฒนา ไม่ได้หมายความว่าแบนด์วิดท์ทางกายภาพของหน่วยความจำ GDDR6 บนการ์ดจอเพิ่มขึ้นจริง 26 เท่า แต่สะท้อนว่าระบบสามารถเข้าถึงและใช้ทรัพยากรของ GPU ได้มีประสิทธิภาพมากขึ้น เมื่อข้อจำกัดของ BAR ถูกแก้ไข
ส่วนการทดสอบฟิลเตอร์เบลอภาพ 4K ผ่าน Vulkan ที่ก่อนหน้านี้ไม่สามารถประมวลผลจนเกิดเฟรมได้ หลังแก้ไขกลับทำงานได้ประมาณ 39–50 FPS ถือเป็นตัวอย่างที่แสดงให้เห็นว่าข้อจำกัดด้านการเข้าถึงหน่วยความจำอาจส่งผลต่อประสิทธิภาพของงานกราฟิกอย่างมาก
ไม่ต้องแฟลช BIOS หรือแก้ไขไดรเวอร์การ์ดจอ
จุดเด่นของ arc-rebar คือไม่จำเป็นต้องแก้ไขเฟิร์มแวร์ BIOS ของเมนบอร์ด ไม่ต้องใช้ไดรเวอร์การ์ดจอที่ถูกดัดแปลง และไม่ต้องแพตช์ Linux Kernel โดยตรง
เครื่องมือทำงานในช่วงเริ่มต้นระบบก่อนที่ไดรเวอร์ GPU จะเข้าควบคุมอุปกรณ์ โดยปรับค่าระดับ PCIe ที่เกี่ยวข้องกับขนาด BAR และสั่งให้ระบบตรวจสอบการเชื่อมต่อ PCIe Root Port ใหม่ เพื่อให้ Linux สามารถจัดสรรพื้นที่หน่วยความจำขนาดใหญ่ให้กับการ์ดจอได้
สาเหตุที่ต้องทำเช่นนี้มาจากสวิตช์ PCIe ที่อยู่ภายในโครงสร้างของการ์ดจอ Intel Arc ซึ่งมี BAR ขนาด 8MB อยู่บนพอร์ตต้นทาง และอาจขัดขวางการขยายพื้นที่ BAR สำหรับ GPU หากการตั้งค่าเริ่มต้นไม่เหมาะสม
อย่างไรก็ตาม วิธีนี้ไม่ได้หมายความว่าจะใช้ได้กับเมนบอร์ดรุ่นเก่าทุกเครื่อง และไม่ใช่การเปิด Resizable BAR ให้กับการ์ดจอทุกค่ายโดยทั่วไป แต่เป็นแนวทางแก้ปัญหาเฉพาะสำหรับการ์ดจอ Intel Arc บนระบบ Linux ที่มีเงื่อนไขรองรับ
มีข้อจำกัดอะไรบ้าง?
แม้โครงการนี้จะช่วยให้การ์ดจอรุ่นใหม่ทำงานกับระบบเก่าได้ดีขึ้น แต่ผู้ใช้จำเป็นต้องตรวจสอบเงื่อนไขของระบบก่อน เนื่องจากเครื่องมือมีข้อกำหนดสำคัญหลายประการ
-
เมนบอร์ดต้องรองรับ Above 4G Decoding และมีพื้นที่ MMIO เหนือขอบเขต 4GB เพียงพอสำหรับจัดสรร BAR ขนาดใหญ่
-
การ์ดจอต้องเชื่อมต่อผ่าน PCIe Root Port ที่ไม่มีอุปกรณ์อื่นใช้งานร่วมกันในเส้นทางเดียวกัน
-
รองรับการใช้งานบน Debian และ Ubuntu โดยแนะนำ Linux Kernel เวอร์ชัน 6.12 ขึ้นไป
-
ผู้พัฒนายืนยันการทำงานกับสถาปัตยกรรม Battlemage ซึ่งรวมถึง Arc B580 แต่ยังไม่ได้ทดสอบกับ Alchemist อย่างเพียงพอ
นอกจากนี้ เครื่องมือยังทำงานในระดับการจัดการ PCIe ของระบบ จึงมีความเสี่ยงหากนำไปใช้กับฮาร์ดแวร์ที่ไม่รองรับ ผู้พัฒนาระบุชัดเจนว่าเป็นซอฟต์แวร์ที่ใช้งานโดยยอมรับความเสี่ยงเอง และควรอ่านคำเตือนกับสำรองข้อมูลก่อนติดตั้ง
ทางเลือกใหม่สำหรับคนที่ยังใช้ Xeon รุ่นเก่า
สิ่งที่ทำให้ข่าวนี้น่าสนใจไม่ใช่เพียงตัวเลขประสิทธิภาพ แต่เป็นการเปิดโอกาสให้คอมพิวเตอร์รุ่นเก่าที่ยังมีสมรรถนะเพียงพอสามารถนำการ์ดจอ Intel Arc รุ่นใหม่มาใช้ทำงานต่อได้ โดยไม่จำเป็นต้องเปลี่ยนเมนบอร์ดหรือแพลตฟอร์มทั้งหมด
ตัวอย่างจาก Supermicro X9DRH-7TF แสดงให้เห็นว่า แม้เมนบอร์ดจะมีอายุประมาณ 10 ปี ก็ยังสามารถใช้งานร่วมกับ Arc B580 ได้ดีขึ้น หากแก้ข้อจำกัดด้านการจัดสรร BAR ได้สำเร็จ
อย่างไรก็ตาม ไม่ควรนำผลการทดสอบนี้ไปเหมารวมว่าการ์ดจอ Intel Arc จะทำงานเต็มประสิทธิภาพบนเมนบอร์ดเก่าทุกตัว เพราะความสำเร็จยังขึ้นอยู่กับชิปเซ็ต BIOS การจัดสรรพื้นที่ PCIe และ Linux ที่ใช้ด้วย
ผู้สนใจสามารถติดตามรายละเอียด วิธีติดตั้ง และข้อควรระวังได้จาก GitHub: Intel-ARC-Rebar ซึ่งเป็นโครงการต้นทางของเครื่องมือนี้
ที่มา: VideoCardz



