ก่อนหน้านี้ NVIDIA เคยบอกว่าจะพัฒนาฟีเจอร์ให้ซีพียูเข้าถึงแรมจีพียูโดยตรง แบบเดียวกับ Smart Access Memory (SAM) ของ Radeon RX 6000
เมื่อคืนนี้ NVIDIA เปิดตัวฟีเจอร์นี้แล้วในชื่อว่า Resizable BAR มันเป็นการใช้อินเทอร์เฟซของ PCI Express ให้ซีพียูสามารถเข้ามาดึงข้อมูลจาก VRAM เพื่อให้โหลดไฟล์ asset ของเกมได้เร็วขึ้น
ฟีเจอร์นี้ใช้ได้กับ GeForce RTX Series 30 ได้ทุกตัว และใช้ได้กับทั้งซีพียู Intel-AMD โดยจีพียูรุ่นแรกที่ใช้งานได้เลยคือ GeForce RTX สำหรับโน้ตบุ๊ก และ GeForce RTX 3060 ที่เปิดตัวพร้อมกัน ส่วนจีพียูที่ออกขายไปก่อนแล้วจะทยอยอัพเดต BIOS ในเดือนมีนาคมเป็นต้นไป
ที่มา - NVIDIA
Comments
ต่อไปจะใช้เป็น RAM ของเครื่องได้ไหมครับ กรณี RAM เครื่องไม่พอและ VRAM เหลือเยอะ
ทำได้อยู่แรกแต่แล้วครับ ปรกติเวลาเราจะอัพโหลด texture จะเลือกได้ว่าให้ไปลง region ไหน (เลือกได้แต่ตัว hw ก็เลือกได้เหมือนกันว่าอยากทำตามเราหรือเปล่า)
ส่วนเรื่อง resizable BAR เป็นเรื่องของการเข้าถึง VRAM จากฝั่ง CPU ครับ น่าจะทำให้การก๊อปปี้ texture ทำได้ efficient มากขึ้น แต่คงจะเทียบกับ unified memory architecture แบบฝั่ง console ไม่ได้อยู่ดี
เค้าหมายถึงเอา Vram มาใช้เป็น system ram นะครับ ผมว่าไม่น่าได้นะ
ผู้ใช้ทั่วไปจะอัพไบออสเองง่าย ๆ ยังไงหว่า
กดอัปเดตไดรเวอร์? Windows Update?
ปกติพวกนี้สามารถอัพเดตไบออสได้ด้วยหรือครับ ?
laptop แบรนด์อเมริกันมีครับ แต่เดสก์ทอปประกอบเองผมไม่มีปสก.ครับ
laptop ผมก็กดอัพเดทได้ผ่าน Windows ครับ วิธีอัพเดทก็เหมือนคุณอัพเดท Windows ปกติเลย คือพอโหลดไฟล์อัพเดทเสร็จก็รีสตาร์ท แค่นั้น
ผ่านไดรเวอร์อัพเดต?
ชาวคริปโตฯยิ้ม
ของขาดแน่นอน
ของยังขาดไม่พอเหรอครับ หาซื้อไม่ได้เลยตอนนี้
ขออธิบายเพิ่มเติมเพื่อให้เห็นภาพ
จริงๆ MMIO ไม่ใช่เรื่องใหม่ มันเป็น Address ช่องทางสำหรับรับส่งข้อมูลกับ Device ต่างๆ
(อ้างอิงจากบทความนี้: https://lwn.net/Articles/698014/)
ยกตัวอย่าง
ถ้าเครื่องมีแรม 8GB แล้วมีการ์ดจอ 4GB 2ใบ
หน้าตาของ Address ก็จะประมาณนี้
- 0-8G -> RAM ของเครื่องคุณ
- 8G-12G -> GPU1
- 12G-16G -> GPU2
เวลาคุณรันโปรแกรมอะไร
ประกาศตัวแปร, เรียก malloc, memcpy() มันก็จะใช้งานในช่วง 0-8G ของแรมระบบ แต่ถ้ามีการส่งข้อมูลไปยัง PCIe Device เช่น cudaMemcpy(), ไลบรารี่, หรือ เกมต้องการส่งข้อมูลไปยัง GPU ระบบก็จะ Load/Store ข้อมูลไปยัง Address ที่นอกเหนือจาก 0-8G (เช่น 8G-12G ของ GPU1)
ปัญหาก็คือ
PCIe เวอร์ชั่นเก่าได้จำกัด MMIO ไว้ที่ 256MB
หมายความว่าระบบมองเห็น GPU Memory แค่ 256MB
- 0-8G -> RAM ของเครื่องคุณ
- 8.25G-8.50G -> GPU1
- 8.50G-8.75G -> GPU2
ถ้าเราโอนข้อมูล 1GB ไป GPU
ระบบก็จะต้องทำ 256MB x 4 รอบ แต่เป็น Driver, Kernel ที่จัดการ Map/Unmap/Remap Cpy ให้เรา ด้วย Resizable BAR/SAM (ซึ่งเป็นมาตรฐานของ PCIe 4.0) ทำให้ระบบสามารถเห็น GPU Memory ได้เต็มๆ ไม่ต้องทำหลายรอบ
จะเห็นว่ามันเป็นการลด Overhead
แน่นอนว่ารับส่งข้อมูล, ไฟล์, Asset ต่างๆ ได้เร็วขึ้น แต่คำว่า "เข้าถึง" ไม่ได้หมายความว่าคุณจะไปรันโปรแกรมในนั้นได้ เพราะมันเป็นช่องทางในการรับส่งข้อมูล (ไม่ได้หมายความว่าระบบคุณจะมีแรม 8+4+4 = 16GB) โดย Resizable BAR/SAM ทำให้สามารถรับส่งได้ทีละมากๆ
+1
8.0-8.25 ล่ะครับ
ผมลืมครับ 555