Hai semua,
Saya sedang mencoba menjalankan Ollama dengan akselerasi GPU di dalam Docker pada QNAP NAS saya, tetapi selalu kembali ke CPU. Saya sudah cukup banyak melakukan debugging dan akan sangat menghargai saran atau konfirmasi apakah ini memang keterbatasan yang sudah diketahui.
Setup saya
-
QTS: 5.2.9
-
Kernel: 5.10.60-qnap
-
GPU: NVIDIA GeForce RTX 3090
-
NVIDIA Driver (QPKG): 575.64.05
-
Tipe driver: NVIDIA Open Kernel Module
-
Docker: Container Station + CLI (
--gpus all)
Yang Berfungsi
-
nvidia-smiberfungsi di host (melalui container) -
nvidia-smiberfungsi di dalam container -
Perangkat
/dev/nvidia*tersedia -
Modul NVIDIA yang dimuat:
nvidia
nvidia_uvm
nvidia_modeset
nvidia_drm
Jadi, GPU passthrough ke container tampaknya berjalan baik.
Yang TIDAK Berfungsi
Ollama tidak mendeteksi GPU dan selalu menggunakan CPU:
inference compute id=cpu library=cpu
total_vram="0 B"
Padahal GPU tersedia.
Yang Sudah Saya Uji
1. Versi Ollama yang Berbeda
-
0.20.6-rc1
-
0.20.5
-
0.19.0
→ hasil sama (hanya CPU)
2. Library CUDA
Di dalam container, library CUDA tersedia:
/usr/lib/ollama/cuda_v12/libcudart.so.12
/usr/lib/ollama/cuda_v12/libcublas.so.12
/usr/lib/ollama/cuda_v12/libcublasLt.so.12
Awalnya ldd menunjukkan library hilang, tapi setelah mengatur:
LD_LIBRARY_PATH=/usr/lib/ollama:/usr/lib/ollama/cuda_v12:/usr/lib/x86_64-linux-gnu
→ semua dependensi ter-resolve dengan benar.
3. Masih Gagal
Walaupun begitu, Ollama gagal inisialisasi CUDA:
ggml_cuda_init: failed to initialize CUDA: initialization error
4. Log Kernel (ini mencurigakan)
NVRM: nvCheckOkFailedNoLog: Check failed: Out of memory [NV_ERR_NO_MEMORY]
NVRM: faultbufCtrlCmdMmuFaultBufferRegisterNonReplayBuf_IMPL: Error allocating client shadow fault buffer
Pemahaman Saya Saat Ini
Sepertinya:
-
GPU passthrough berfungsi (sisi Docker OK)
-
Library CUDA tersedia
-
tapi inisialisasi CUDA gagal saat runtime
Karena saya menggunakan NVIDIA Open Kernel Module, saya menduga:
mungkin belum sepenuhnya mendukung workload CUDA di lingkungan ini
atau ada masalah kompatibilitas dengan kernel QNAP (5.10.60)
Pertanyaan
-
Apakah ada yang berhasil menjalankan Ollama (atau aplikasi berat CUDA lain) dengan GPU di QNAP?
-
Apakah ini memang keterbatasan yang diketahui dari NVIDIA Open Kernel Module di QNAP?
-
Apakah memungkinkan menggunakan driver NVIDIA proprietary (proprietary NVIDIA driver) alih-alih open module?
-
Apakah ada yang pernah melihat error
NV_ERR_NO_MEMORYseperti ini?
Solusi Sementara
Saat ini saya mempertimbangkan:
-
menjalankan Ollama di mesin Linux terpisah (Debian/Ubuntu)
-
dan menggunakan QNAP hanya untuk UI/layanan



