Wiki » Konfiguracja serwerów » Hardware » GPU »
Nvidia Blackwell 50xx¶
Grafiki z serii 50XX maja wsparcie dopiero od drzewa 580.xx.xx, na czas pisania postu(2026.05.21) aktualny sterownik dla RTX 5070 595.71.05-1.
Sterowniki w kernelu są w wersji open i binarnej, od 2022 roku Nvidia zaleca użycia wersji open
Grafiki z serii Blackwell nie mają nowych sterowników w repozytorium Debiana, należy użyć sterowników z repozytorium Nvidia, instalacja opisana poniżej.
Instalacja sterowników na HOST w Debian Trixie¶
Instalacja Pakietów PokażUkryj
rdate -n ntp.task.gda.pl; \ wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb; \ dpkg -i cuda-keyring_1.1-1_all.deb; \ apt-get update; \ apt-get -y install cuda-toolkit-13-3;
Instalacja samych sterowników headless
apt install nvidia-driver-cuda nvidia-kernel-open-dkmsLinki do zasobów:
- https://wiki.debian.org/NvidiaGraphicsDrivers#data-center
- https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Debian&target_version=13&target_type=deb_network
- https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/latest/debian.html#debian-installation-network
Instalacja NVIDIA Container Toolkit w kontenerze LXC¶
Instalacja pakietów PokażUkryj
apt-get install -y ca-certificates curl gnupg2
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg; \
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list; \
apt-get update;
Wybór i instalacja Toolkit VERSION=1.19.0-1
export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.19.0-1; \
apt-get install -y \
nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}; \
Konfiguracja
nvidia-ctk runtime configure --runtime=docker; \ systemctl restart docker;
Konfigurację weryfikujemy wydając polecenie nvidia-container-cli info, jeśli zwrotnie dostaniemy error typu
nvidia-container-cli: initialization error: load library failed: libnvidia-ml.so.1: cannot open shared object file: no such file or directory
Należy doinstalować brakujący pakiet, to obstawiam zostanie poprawione w repo Nvidia
wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb; \ dpkg -i cuda-keyring_1.1-1_all.deb; \ apt-get update; \ apt-get -y install libnvidia-ml1;Linki zewnętrzne:
Instalacja zależności dla ollama w docker w LXC PokażUkryj
apt-get install cuda-drivers zstd;
W razie problemów można zainstalować lokalnie ollame sprawdzić czy działa w LXC, jeśli działa to sprawdzić czy zadziała w docker i porównać konfiguracje binarek.
curl -fsSL https://ollama.com/install.sh | shLinki zewnętrzne:
laama.cpp + Nvidia CUDA¶
- Instalacja zależności(cmake itd.) PokażUkryj
apt-get install -y cmake ccache libssl-dev;
- Kompilacja llama.cpp PokażUkryj
git clone https://github.com/ggml-org/llama.cpp `date +%Y%m%d-cuda`; \ cd `date +%Y%m%d-cuda`; \ \ cmake -B build \ -DGGML_CUDA_FA=ON \ -DGGML_CUDA_USE_FLASH_ATTENTION=ON \ -DGGML_CUDA_FA_ALL_QUANTS=ON \ -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON \ -DLLAMA_BUILD_UI=OFF -DLLAMA_USE_PREBUILT_UI=OFF \ -DCMAKE_CUDA_COMPILER=/usr/local/cuda-13.3/bin/nvcc \ -DNCCL_LIBRARY=/usr/local/cuda-13.3/lib64/ \ -DCMAKE_CUDA_ARCHITECTURES=120a; \ \ cmake --build build --config Release -j$(nproc);
Pobranie modeli i uruchomienie¶
- Pobranie modeli PokażUkryj
apt-get install -y pipx; \ \ pipx install huggingface_hub; \ pipx ensurepath; \ source ~/.bashrc; \ \ export HF_XET_HIGH_PERFORMANCE=1; # FIM/NextLine dla Auto Complete IDE hf download unsloth/Qwen2.5-Coder-3B-Instruct-128K-GGUF \ Qwen2.5-Coder-3B-Instruct-Q8_0.gguf \ --cache-dir ./models/Qwen2.5-Coder-3B # Embedding hf download unsloth/embeddinggemma-300m-GGUF \ embeddinggemma-300M-Q8_0.gguf \ --cache-dir ./models/embeddinggemma-300M # ReRanker hf download sinjab/jina-reranker-v2-base-multilingual-Q4_K_M-GGUF \ jina-reranker-v2-base-multilingual-Q4_K_M.gguf \ --cache-dir ./models/jina-reranker-v2-base-multilingual # 16GB GB GPU #hf download unsloth/Qwen3.6-27B-MTP-GGUF \ # Qwen3.6-27B-UD-IQ3_XXS.gguf \ # --cache-dir ./models/qwen36-27b-MTP; #hf download michaelw9999/Qwen3.6-27B-NVFP4-SMALL-MTP-GGUF \ # --cache-dir ./models/qwen36-27b # Mniejszy context tylko 32K, zjada wiecej RAM (porownanie z unsloth/Qwen2.5-Coder-3B-Instruct-128K-GGUF Qwen2.5-Coder-3B-Instruct-Q8_0.gguf) #hf download mradermacher/AceCoder-Qwen2.5-Coder-7B-Ins-V1.1-i1-GGUF \ # AceCoder-Qwen2.5-Coder-7B-Ins-V1.1.i1-Q4_K_M.gguf \ # --cache-dir ./models/Qwen2.5-Coder-7B
- Uruchomienie:
- Model kodujacy PokażUkryj
TREE=20260723 MODEL=/home/storage/stripe/llm/models/Qwen2.5-Coder-3B/models--unsloth--Qwen2.5-Coder-3B-Instruct-128K-GGUF/snapshots/5326551926d06f7f9cab53c9b9b552e3bedfe8ba/Qwen2.5-Coder-3B-Instruct-Q8_0.gguf CTX=131072 RAM=12288 IP=x.x.x.x PORT=8081 ./${TREE}/build/bin/llama-server \ -m ${MODEL} \ \ -t 4 \ -fa 1 \ \ --parallel 2 \ \ --ctx-size ${CTX} \ --cache-ram ${RAM} \ --cache-type-v q8_0 \ --cache-type-k q8_0 \ \ --jinja \ --reasoning off\ \ --temperature 0.6 \ --top-k 20 \ --top-p 0.95 \ --min-p 0.0 \ --repeat-penalty 1.0 \ --presence-penalty 0.0 \ \ --batch-size 2048 \ --ubatch-size 2048 \ \ --host ${IP} \ --port ${PORT} - Model Embedding PokażUkryj
TREE=20260723 MODEL=/home/storage/stripe/llm/models/embeddinggemma-300M/models--unsloth--embeddinggemma-300m-GGUF/snapshots/6661a6504c30d8304af13455cb4a5d4f5bc6011f/embeddinggemma-300M-Q8_0.gguf CTX=8192 # maksymalny rozmiar jaki był trenowany dla czterech wątków RAM=2048 IP=x.x.x.x PORT=8082 ./${TREE}/build/bin/llama-server \ --embedding \ -m ${MODEL} \ \ -t 4 \ -fa 1 \ \ --parallel 4 \ \ --ctx-size ${CTX} \ --cache-ram ${RAM} \ --cache-type-v q8_0 \ --cache-type-k q8_0 \ \ --jinja \ --reasoning off\ \ --batch-size 2048 \ --ubatch-size 2048 \ \ --host ${IP} \ --port ${PORT} - Model Embedding PokażUkryj
TREE=20260723 MODEL=/home/storage/stripe/llm/models/jina-reranker-v2-base-multilingual/models--sinjab--jina-reranker-v2-base-multilingual-Q4_K_M-GGUF/snapshots/c1b17df2ce6b810e31e2cae9491b98eecf05947b/jina-reranker-v2-base-multilingual-Q4_K_M.gguf CTX=4096 # Maksymalny jaki był trenowany RAM=2048 IP=x.x.x.x PORT=8083 ./${TREE}/build/bin/llama-server \ --reranking \ -m ${MODEL} \ --alias jina-reranker-v2 \ \ -fa 1 \ \ --parallel 4 \ \ --ctx-size ${CTX} \ --cache-ram ${RAM} \ --cache-type-v q8_0 \ --cache-type-k q8_0 \ \ --jinja \ --reasoning off\ \ --batch-size 2048 \ --ubatch-size 2048 \ \ --host ${IP} \ --port ${PORT}
- Model kodujacy PokażUkryj
Monitoring wykorzystanych zasobów¶
Instalacja zależności PokażUkryj
nvitop potrzebuje do działania libnvidia-ml1
wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb; \ dpkg -i cuda-keyring_1.1-1_all.deb; \ apt-get update; \ apt-get -y install libnvidia-ml1;
Instalacja nvitop {{collapse()
apt-get install pipx; \ pipx run nvitop;Linki zewnętrzne: