■ الجواب أولاً

100% GPU — الـGPU سالِم، أنهِ القراءة.

40%/60% CPU/GPU split — لم يتسع في الـVRAM، استخدم تكميماً أصغر.

100% CPU — لا GPU قابل للاستخدام وُجد : إدرايفر عجوز، مجموعة render/video غائبة (AMD)، أو OLLAMA_LLM_LIBRARY مثبَّت، أو حاوية دون أعلام GPU.

الأمران

# in one terminal: load a model
ollama run llama3.2 "hello"

# in another: see where it runs
ollama ps
NAME             ID           SIZE     PROCESSOR    UNTIL
llama3.2:latest  a80c4de17cd9 3.3 GB   100% GPU     4 minutes from now

ثم اقرأ سجل الخادم الذي يسمّي العتاد الذي وجدته Ollama فعلاً عند البادر:

journalctl -u ollama --no-pager | grep -i "inference compute"

على جهاز NVIDIA في كفاق تريد سطراً من هذا القبيل:

inference compute id=GPU-xxxx library=CUDA compute=8.9 driver=12.4 name=NVIDIA GeForce RTX 4070

لا سطر في شيء، أو سطر ينتهي بقعدة التراجع ذات CPU فقط — وقد وقفت على مشكلتك. الكشف يقع مرة واحدة عند البادر، لا في كل طلب — بعد أي إصلاح، sudo systemctl restart ollama قبل إعادة الفحص.

جدول الإصلاحات

اعمل بواصل الأسباب بالنظام — تسع من كل عشر، سبق لسطر السجل أن قال في أي صف أنت:

العرضالسبب المحتملالإصلاح
100% CPU، وبطاقة NVIDIA حاضرةإدرايفر عجوز عن الـCUDA المرفقحدّث الإدرايفر، ثم أعد التشغيل، ثم أعد فتح الخدمة
100% CPU،AMD على Linuxمجموعة render/video غائبةusermod -aG render,video، إعادة دخول
100% CPU، بطاقة AMD غير مدعومةROCm يرفض الهدف gfxHSA_OVERRIDE_GFX_VERSION=10.3.0
40%/60% CPU/GPU splitالنموذج + السياق يخطّ في الـVRAM الواسعة فتتجاوزانهاتكميم أصغر أو num_ctx
الـGPU كان يعمل بالأمس، والـCPU اليوممثبَّت OLLAMA_LLM_LIBRARY أو إدرايفر متخلفجد متغير البيئة واحذفه؛ حدّث الإدرايفر
GPU أصلي، وCPU داخل Dockerحاوية أُقيمت دون أعلام GPUأقمها من جديد بـ--gpus=all (أو أجهزة AMD)

NVIDIA: الإدرايفر، وليس CUDA

الجاني المألوف الإدرايفر، لا الـCUDA. Ollama تحمل ضمناً مكتبات وقت تشغيل CUDA بنفسها، فلا تحتاج حزمة CUDA الكاملة — لكن المرفق المدمج يطلب إدرايفر حديثاً بما يكفي ليخاطبه. أن يعمل nvidia-smi ليس برهاناً : إنه يبرهن أن إدرايفر ما موجود، لا أنه حديث بما يلزم.

nvidia-smi --query-gpu=driver_version --format=csv,noheader

# Debian/Ubuntu family
sudo apt install nvidia-driver-570
# Arch family
sudo pacman -S nvidia

# then re-detect:
sudo systemctl restart ollama

verify: journalctl -u ollama --no-pager | grep -i "inference compute" → library=CUDA

الـSPLIT: التحميل الجزئي حسابات، لا عُطب

أوزان النموذج زائد كاش الـKV يجب أن يتسعا في الـVRAM. النموذج نفسه والسياق أوسع — الكاش يفوق البطاقة ويبلد البقية على الـCPU:

ثلاث طرق لرد الفيض، الأرخص أولاً: تكميم أصغر (Q8 → Q4 ينصف الأوزان بكلفة جودة متواضعة)؛ سياق أقصر (num_ctx يهيمن على حجم الكاش — 32K على بطاقة 8 GB يعني أن أكثر الطبقات تقبع على الـCPU)؛ وطبقات GPU أقل — خيار num_gpu يُسدد عدد التحميلات، ووضعه تحت عدد الطبقات يبرّم الـsplit. إن وضعه أحدٌ في Modelfile أو نداء API، فبطلتْه. وفخ آخر: 100% GPU لكنه ما يزال بطيئاً — ربما يدون العناصر عبر ذاكرة النظام؛ قِس ollama ps SIZE على الـVRAM الحقيقية عندك.

AMD على Linux: ثلاث أشياء قابلة للفحص

1. ROCm داخل الثنائي — سكربت التثبيت الرسمي يضمه. أكّد ما جرى كشفه في الخادم: journalctl -u ollama --no-pager | grep -iE "rocm|inference compute".

2. الانتساب إلى المجموعة — النظام وقت التشغيل يطلب: /dev/kfd + /dev/dri، أي المجموعات render/video :

sudo usermod -aG render,video $USER
# log out and back in, then:
sudo systemctl restart ollama

المجموعة الغائبة هي القضية الأشهر في «Ollama لا تستخدم GPU على Ubuntu» في كل منتدَى — الـdriver لم يكن المشكلة إطلاقاً.

3. بطاقة GPU مدعومة — أو حل بديل. بطاقات RDNA2 الاستهلاكية من غير الدعم (gfx1031, gfx1032) تفشل في الكشف حتى مع مجموعة ROCm تعمل. الحل البديل القياسي هو التمويه كأنك بطاقة مدعومة: sudo systemctl edit ollama، ثم:

[Service]
Environment="HSA_OVERRIDE_GFX_VERSION=10.3.0"

ثم أعد التشغيل. غير مدعوم لكنه مستخدم على نطاق واسع — إن سار سيئاً، أزِله. على Windows دعم AMD أضيق؛ تحقق من قائمة الـGPU المدعومة لدى Ollama قبل أن تفترض أن التثبيت معطّل.

verify: journalctl -u ollama --no-pager | grep -iE "rocm|inference compute" → هدف الـgfx عندك مرصود

«كان يعمل بالأمس»

التحديثات تغيّر واحداً من ثلاثة أمور، بترتيب الاحتمال:

  1. مكتبة خلفية مثبّتة. OLLAMA_LLM_LIBRARY يفرض عدّاء (runner) واحداً (cuda_v11, rocm، بل cpu) ويعتمّ على الكشف الآلي بصمت. إنه مفتاح تصحّح يبقى في ملفات الـprofile والخدمة طويلاً بعد نسيان السبب. ابحث عنه: systemctl show ollama --property=Environment | grep -i llm_library وenv | grep OLLAMA — ثم أزِله.
  2. الـdriver تخلّف عن الـruntime. تحديثات Ollama ترفق إصداراً أحدث من الـCUDA؛ الـdriver لن يتحرك إن لم تحرّكه أنت. الإصلاح نفسه في فصل الـdriver.
  3. الخدمة حاوية، والأعلام ذهبت. حاوية Docker أُعيد إنشاؤها دون أعلام GPU هي حاوية CPU فقط — أعد إنشائها مع --gpus=all (أو أعلام أجهزة AMD).
■ ختم صادق تم اختباره على: ollama · RTX 3060 / 4070 · driver 535 → 570 · Ubuntu · WSL2 · Docker. نُشر أولاً في 2026-09-16. حالات الـPROCESSOR الثلاث، وسطر الكشف عن العتاد، وكل إصلاح في الجدول هي سلوك الـollama الموثّق المشاهد على تلك الصناديق — مكتوب من الـGPU التي عادت، لا من خيال.

نهاية الأسباب الخمسة · لم يُجلب أي شيء · كل شيء محلي