Skip to content

Nvidia

Ollama รองรับการ์ดจอ Nvidia ที่มี compute capability 5.0 ขึ้นไป และรุ่นไดรเวอร์ 550 ขึ้นไป การ์ดจอ Nvidia ที่มี compute capability 5.0 ถึง 6.2 ต้องการรุ่นไดรเวอร์ 570 ขึ้นไป

ตรวจสอบความเข้ากันได้ของ compute capability ของคุณเพื่อดูว่าการ์ดจอของคุณได้รับการรองรับหรือไม่: https://developer.nvidia.com/cuda-gpus

Compute Capabilityตระกูลการ์ดจอ
12.1NVIDIAGB10 (DGX Spark)
12.0GeForce RTX 50xxRTX 5060 RTX 5060 Ti RTX 5070 RTX 5070 Ti RTX 5080 RTX 5090
NVIDIA ProfessionalRTX PRO 4000 Blackwell RTX PRO 4500 Blackwell RTX PRO 5000 Blackwell RTX PRO 6000 Blackwell
9.0NVIDIAH200 H100
8.9GeForce RTX 40xxRTX 4090 RTX 4080 SUPER RTX 4080 RTX 4070 Ti SUPER RTX 4070 Ti RTX 4070 SUPER RTX 4070 RTX 4060 Ti RTX 4060
NVIDIA ProfessionalL4 L40 RTX 6000
8.6GeForce RTX 30xxRTX 3090 Ti RTX 3090 RTX 3080 Ti RTX 3080 RTX 3070 Ti RTX 3070 RTX 3060 Ti RTX 3060 RTX 3050 Ti RTX 3050
NVIDIA ProfessionalA40 RTX A6000 RTX A5000 RTX A4000 RTX A3000 RTX A2000 A10 A16 A2
8.0NVIDIAA100 A30
7.5GeForce GTX/RTXGTX 1650 Ti TITAN RTX RTX 2080 Ti RTX 2080 RTX 2070 RTX 2060
NVIDIA ProfessionalT4 RTX 5000 RTX 4000 RTX 3000 T2000 T1200 T1000 T600 T500
QuadroRTX 8000 RTX 6000 RTX 5000 RTX 4000
7.0NVIDIATITAN V V100 Quadro GV100
6.1NVIDIA TITANTITAN Xp TITAN X
GeForce GTXGTX 1080 Ti GTX 1080 GTX 1070 Ti GTX 1070 GTX 1060 GTX 1050 Ti GTX 1050
QuadroP6000 P5200 P4200 P3200 P5000 P4000 P3000 P2200 P2000 P1000 P620 P600 P500 P520
TeslaP40 P4
6.0NVIDIATesla P100 Quadro GP100
5.2GeForce GTXGTX TITAN X GTX 980 Ti GTX 980 GTX 970 GTX 960 GTX 950
QuadroM6000 24GB M6000 M5000 M5500M M4000 M2200 M2000 M620
TeslaM60 M40
5.0GeForce GTXGTX 750 Ti GTX 750 NVS 810
QuadroK2200 K1200 K620 M1200 M520 M5000M M4000M M3000M M2000M M1000M K620M M600M M500M

หากต้องการคอมไพล์ในเครื่องเพื่อรองรับการ์ดจอรุ่นเก่า กรุณาดูที่ สำหรับนักพัฒนา

การเลือก GPU

หากคุณมีการ์ดจอ Nvidia หลายใบในระบบและต้องการจำกัดให้ Ollama ใช้เฉพาะบางใบ คุณสามารถตั้งค่า CUDA_VISIBLE_DEVICES เป็นรายการการ์ดจอที่คั่นด้วยเครื่องหมายจุลภาค ใช้รหัสตัวเลขก็ได้ แต่ลำดับอาจแตกต่างกันไป ดังนั้นการใช้ UUID จึงน่าเชื่อถือกว่า คุณสามารถค้นหา UUID ของการ์ดจอได้โดยรันคำสั่ง nvidia-smi -L หากต้องการไม่ใช้งานการ์ดจอและบังคับให้ใช้ CPU แทน ให้ใช้รหัสการ์ดจอที่ไม่ถูกต้อง (เช่น "-1")

การพักเครื่องและกลับมาทำงานบน Linux

บน Linux หลังจากผ่านรอบการพักเครื่อง/กลับมาทำงาน บางครั้ง Ollama จะไม่พบการ์ดจอ Nvidia ของคุณ และจะเปลี่ยนไปรันบน CPU แทน คุณสามารถใช้วิธีแก้ไขชั่วคราวสำหรับข้อผิดพลาดของไดรเวอร์นี้โดยโหลดไดรเวอร์ NVIDIA UVM ใหม่ด้วยคำสั่ง sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm

AMD Radeon

Ollama รองรับการ์ดจอ AMD ต่อไปนี้ผ่านไลบรารี ROCm:

ข้อควรทราบ: การรองรับการ์ดจอ AMD เพิ่มเติมจัดทำโดยไลบรารี Vulkan - กรุณาดูด้านล่าง

การรองรับบน Linux

Ollama ต้องการไดรเวอร์ AMD ROCm v7 บน Linux คุณสามารถติดตั้งหรืออัปเกรดได้โดยใช้เครื่องมือ amdgpu-install จาก เอกสาร ROCm ของ AMD.

ตระกูลการ์ดจอและอัคเซเลอเรเตอร์
AMD Radeon RX9070 XT 9070 GRE 9070 9060 XT 9060 XT LP 9060 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7700 7600 XT 7600 6950 XT 6900 XTX 6900XT 6800 XT 6800
AMD Radeon AI PROR9700 R9600D
AMD Radeon PROW7900 W7800 W7700 W7600 W7500 W6900X W6800X Duo W6800X W6800 V620
AMD Ryzen AIRyzen AI Max+ 395 Ryzen AI Max 390 Ryzen AI Max 385 Ryzen AI 9 HX 475 Ryzen AI 9 HX 470 Ryzen AI 9 465 Ryzen AI 9 HX 375 Ryzen AI 9 HX 370 Ryzen AI 9 365
AMD InstinctMI350X MI300X MI300A MI250X MI250 MI210 MI100

การรองรับบน Windows

Ollama ต้องการสแต็กไดรเวอร์ที่รองรับ AMD ROCm v7 / HIP7 บน Windows

ตระกูลการ์ดจอและอัคเซเลอเรเตอร์
AMD Radeon RX7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7600 XT 7600
AMD Radeon PROW7900 W7800 W7700 W7600 W7500

การปรับค่าแทนที่บน Linux

Ollama ใช้ไลบรารี AMD ROCm ซึ่งไม่รองรับการ์ดจอ AMD ทั้งหมด ในบางกรณีคุณสามารถบังคับระบบให้ลองใช้ LLVM target ที่ใกล้เคียงกันได้ ตัวอย่างเช่น การ์ดจอ Radeon RX 5400 มี gfx1034 (อีกชื่อคือ 10.3.4) แต่ ROCm ยังไม่รองรับ target นี้ในปัจจุบัน การรองรับที่ใกล้เคียงที่สุดคือ gfx1030 คุณสามารถใช้ตัวแปรสภาพแวดล้อม HSA_OVERRIDE_GFX_VERSION ด้วยไวยากรณ์ x.y.z ดังนั้นตัวอย่างเช่น หากต้องการบังคับระบบให้รันบน RX 5400 คุณควรตั้งค่า HSA_OVERRIDE_GFX_VERSION="10.3.0" เป็นตัวแปรสภาพแวดล้อมสำหรับเซิร์ฟเวอร์ หากคุณมีการ์ดจอ AMD ที่ไม่ได้รับการรองรับ คุณสามารถทดลองใช้ด้วยรายการประเภทที่รองรับด้านล่าง

หากคุณมีการ์ดจอหลายใบที่มีรุ่น GFX แตกต่างกัน ให้เพิ่มเลขอุปกรณ์ที่เป็นตัวเลขต่อท้ายตัวแปรสภาพแวดล้อมเพื่อตั้งค่าแต่ละใบแยกกัน ตัวอย่างเช่น HSA_OVERRIDE_GFX_VERSION_0=10.3.0 และ HSA_OVERRIDE_GFX_VERSION_1=11.0.0

ในปัจจุบัน ประเภทการ์ดจอที่รู้จักว่า�ได้รับการรองรับบน Linux คือ LLVM Targets ต่อไปนี้ ตารางนี้แสดงการ์ดจอตัวอย่างบางส่วนที่ตรงกับ LLVM targets เหล่านี้:

LLVM Targetการ์ดจอตัวอย่าง
gfx908Radeon Instinct MI100
gfx90aRadeon Instinct MI210/MI250
gfx942Radeon Instinct MI300X/MI300A
gfx950Radeon Instinct MI350X
gfx1030Radeon PRO V620
gfx1100Radeon PRO W7900
gfx1101Radeon PRO W7700
gfx1102Radeon RX 7600
gfx1150Ryzen AI 9 HX 375
gfx1151Ryzen AI Max+ 395
gfx1200Radeon RX 9070
gfx1201Radeon RX 9070 XT

หากต้องการความช่วยเหลือเพิ่มเติม กรุณาติดต่อผ่าน Discord หรือส่ง รายงานปัญหา

การเลือก GPU

หากคุณมีการ์ดจอ AMD หลายใบในระบบและต้องการจำกัดให้ Ollama ใช้เฉพาะบางใบ คุณสามารถตั้งค่า ROCR_VISIBLE_DEVICES เป็นรายการการ์ดจอที่คั่นด้วยเครื่องหมายจุลภาค คุณสามารถดูรายการอุปกรณ์ได้ด้วยคำสั่ง rocminfo หากต้องการไม่ใช้งานการ์ดจอและบังคับให้ใช้ CPU แทน ให้ใช้รหัสการ์ดจอที่ไม่ถูกต้อง (เช่น "-1") หากมีให้ใช้งาน ใช้ Uuid เพื่อระบุอุปกรณ์อย่างไม่ซ้ำกันแทนการใช้ค่าตัวเลข

การอนุญาตให้คอนเทนเนอร์ใช้งาน

ในบางรุ่น Linux SELinux สามารถป้องกันคอนเทนเนอร์จากการเข้าถึงอุปกรณ์การ์ดจอ AMD ได้ บนระบบโฮสต์คุณสามารถรันคำสั่ง sudo setsebool container_use_devices=1 เพื่ออนุญาตให้คอนเทนเนอร์ใช้งานอุปกรณ์ได้

Metal (การ์ดจอ Apple)

Ollama รองรับการเร่งความเร็ว GPU บนอุปกรณ์ Apple ผ่าน API Metal

การรองรับ GPU ผ่าน Vulkan

การรองรับ GPU เพิ่มเติมบน Windows และ Linux จัดทำผ่าน Vulkan Vulkan เปิดใช้งานเป็นค่าเริ่มต้นเมื่อติดตั้งแบ็กเอนด์ บน Windows ไดรเวอร์จากผู้ผลิตการ์ดจอส่วนใหญ่มาพร้อมกับการรองรับ Vulkan และไม่ต้องการขั้นตอนการตั้งค่าเพิ่มเติม ส่วนใหญ่ของรุ่น Linux ต้องการติดตั้งคอมโพเนนต์เพิ่มเติม และคุณอาจมีตัวเลือกหลายๆ สำหรับไดรเวอร์ Vulkan ระหว่าง Mesa และแพ็กเกจเฉพาะของผู้ผลิตการ์ดจอ

สำหรับการ์ดจอ AMD บนบางรุ่น Linux คุณอาจจำเป็นต้องเพิ่มผู้ใช้ ollama เข้ากลุ่ม render กลุ่ม

ตัวกำหนดลำดับงานของ Ollama ใช้ข้อมูล VRAM ที่มีอยู่ที่รายงานโดยไลบรารีการ์ดจอเพื่อตัดสินใจกำหนดลำดับการทำงานอย่างเหมาะสม Vulkan ต้องการสิทธิ์เพิ่มเติมหรือการรันในฐานะ root เพื่อเปิดเผยข้อมูล VRAM ที่มีอยู่นี้ หากไม่ได้รับสิทธิ์เข้าถึง root หรือสิทธิ์นี้ Ollama จะใช้ขนาดประมาณของโมเดลเพื่อตัดสินใจกำหนดลำดับการทำงานได้ดีที่สุด

bash
sudo setcap cap_perfmon+ep /usr/local/bin/ollama

การเลือก GPU

หากต้องการเลือก GPU ที่ใช้ Vulkan เฉพาะ สามารถตั้งค่าตัวแปรสภาพแวดล้อม GGML_VK_VISIBLE_DEVICES เป็นรหัสตัวเลขหนึ่งหรือหลายค่าบนเซิร์ฟเวอร์ Ollama ตามที่ระบุใน คำถามที่พบบ่อย หากคุณพบปัญหาใดๆ กับ GPU ที่ใช้ Vulkan คุณสามารถปิดใช้งาน GPU ทั้งหมดที่ใช้ Vulkan ได้โดยตั้งค่า OLLAMA_VULKAN=0 หรือ GGML_VK_VISIBLE_DEVICES=-1

บนระบบที่มี iGPU/dGPU ผสมกันซึ่ง iGPU ที่ใช้ Vulkan ไม่เสถียร ให้เปิดใช้งาน Vulkan ต่อและตั้งค่า GGML_VK_VISIBLE_DEVICES เป็นดัชนีของ GPU แยกส่วน ตัวอย่างเช่น ใช้ GGML_VK_VISIBLE_DEVICES=1 เมื่อ Vulkan1 เป็น GPU แยกส่วน