TeslaV10016Gx2pcie)
一、概述本文檔記錄了在 GPU 服務器上部署 NInfer 推理引擎、加載 Qwen3.8-27B-NVFP4 大模型、并以 OpenAI 兼容 API 提供服務的完整過程。系統(tǒng)已成功部署并通過實測驗證由 systemd 托管并設置開機自啟。二、機器配置2.1 硬件項目 配置主機名 guoxizheng-SystemIP 地址 192.168.50.10GPU 2 × NVIDIA Tesla V100-SXM2-16GB (16 GB 顯存/卡, 共32GB)GPU 互聯(lián) PCIe (PHB)無 NVLinkCPU x86_64 (多核, 支持 AVX2)內存 15 GiB交換分區(qū) 4.0 GiB磁盤 約 275 GB 可用系統(tǒng)分區(qū) /網卡 enp0s31f6 (有線, 千兆) wlp6s0 (無線)2.2 軟件環(huán)境組件 版本/說明操作系統(tǒng) Ubuntu 24.04 (noble)內核 6.8.0-147-genericGPU 驅動 NVIDIA 580.178.04CUDA Toolkit 12.8 (V12.8.93)安裝于 /usr/local/cuda-12.8CUDA 架構目標 sm_70 (Volta)構建工具 CMake 3.28.3, Ninja 1.11.1, gcc/g 13, pkg-configFFmpeg 6.1.1 (libavformat 60.16.100 等)libcurl 8.5.0 (libcurl4-openssl-dev)Python 3.12.3CUDA 運行時 libcudart.so.12重要約束本機 GPU 為 Volta 架構 (sm_70)不支持 BF16 硬件運算必須使用 FP16/NVFP4 量化CUDA 13 已移除 Volta 編譯支持因此必須使用 CUDA 12.8。三、參考網址? NInfer-V100-Duo 倉庫雙 V100 專用推理引擎https://github.com/plus1998/NInfer-V100-Duo? 模型 Qwen3.8-27B-NVFP4-NInfer (23.7GB)https://huggingface.co/neroued/Qwen3.8-27B-nvfp4-NInfer? 模型國內鏡像 (hf-mirror)https://hf-mirror.com/neroued/Qwen3.8-27B-nvfp4-NInfer? CUTLASS (GPU 算子庫, v4.4.2)https://github.com/NVIDIA/cutlass? CUDA 12.8 官方源 (Ubuntu 24.04)https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/? 清華鏡像 (Ubuntu apt)https://mirrors.tuna.tsinghua.edu.cn/ubuntu? FFmpeg 源碼https://ffmpeg.org/releases/四、安裝步驟以下步驟在 GPU 服務器 192.168.50.10 上以 ocadmin 用戶執(zhí)行。SSH 示例ssh ocadmin192.168.50.10步驟 1安裝基礎構建工具sudo apt-get updatesudo apt-get install -y cmake ninja-build git curl pkg-config步驟 2接入 CUDA 12.8 官方源 并 安裝 Toolkit注意必須裝 12.8不能裝 1313 不支持 Volta/sm_70 編譯。本機制造驅動 580.178.04 對應 CUDA 13.0 運行時但 nvcc 單獨裝 12.8 即可并存。添加 NVIDIA CUDA 官方源curl -sL -o /tmp/cuda-keyring.deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.debsudo dpkg -i /tmp/cuda-keyring.debsudo apt-get update安裝 CUDA 12.8 Toolkit (不含驅動)sudo apt-get install -y cuda-toolkit-12-8驗證 nvcc/usr/local/cuda-12.8/bin/nvcc --version步驟 3安裝系統(tǒng)開發(fā)庫FFmpeg / curl / openssl / zlib本機網絡訪問 ffmpeg.org / GitHub 等國外源不穩(wěn)定因此使用 Ubuntu 系統(tǒng)自帶的庫替代源碼編譯避免在源碼下載環(huán)節(jié)卡死。sudo apt-get install -y ffmpeg libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libswresample-devsudo apt-get install -y libcurl4-openssl-devpkg-config --modversion libavformat libavcodec libavutil libswscale libcurl步驟 4下載 CUTLASS v4.4.2GPU 算子庫CUTLASS 為 header-only 庫。因 GitHub 連接不穩(wěn)定提前手動下載好源碼包。mkdir -p ~/ninfer_modelscurl -sL -o ~/ninfer_models/cutlass.tar.gz https://codeload.github.com/nvidia/cutlass/tar.gz/refs/tags/v4.4.2mkdir -p ~/ninfer_models/cutlass-extract tar -xzf ~/ninfer_models/cutlass.tar.gz -C ~/ninfer_models/cutlass-extract解壓后目錄: ~/ninfer_models/cutlass-extract/cutlass-4.4.2步驟 5下載模型 Qwen3.8-27B-NVFP4模型為 .ninfer 格式約 23.7 GB可走國內鏡像 hf-mirror速度快、穩(wěn)定。export HF_ENDPOINThttps://hf-mirror.comcurl -C - -sL -o ~/ninfer_models/qwen3_8_27b_nvfp4.ninfer https://hf-mirror.com/neroued/Qwen3.8-27B-nvfp4-NInfer/resolve/main/qwen3_8_27b_nvfp4.ninferstat -c %s ~/ninfer_models/qwen3_8_27b_nvfp4.ninfer # 應等于 23719715844步驟 6克隆 NInfer 倉庫cd ~ git clone --depth 1 https://github.com/plus1998/NInfer-V100-Duo.gitcd NInfer-V100-Duo步驟 7CMake 配置使用系統(tǒng)庫 nvcc 12.8注意跳過倉庫自帶的 build_dependencies.sh它會去下 ffmpeg/curl 源碼網絡不穩(wěn)易卡。改用系統(tǒng)已裝好的庫并把 CUTLASS 指向本地源碼。cd ~/NInfer-V100-Duocmake -S . -B build-v100-duo -G Ninja -DCMAKE_BUILD_TYPERelease-DCMAKE_CUDA_COMPILER/usr/local/cuda-12.8/bin/nvcc-DCMAKE_CUDA_ARCHITECTURES70-DBUILD_TESTINGOFF -DNINFER_BUILD_BENCHMARKSOFF-DFETCHCONTENT_SOURCE_DIR_CUTLASS~/ninfer_models/cutlass-extract/cutlass-4.4.2步驟 8編譯引擎cd build-v100-duoninja ninfer ninfer-serve -j 8編譯成功后生成? build-v100-duo/apps/ninfer約 347 MB? build-v100-duo/apps/ninfer-serve約 349 MB步驟 9配置 systemd 服務開機自啟 失敗重啟服務以 ocadmin 用戶運行監(jiān)聽 0.0.0.0:8080局域網可訪問上下文 8192。sudo tee /etc/systemd/system/ninfer.service /dev/null “UNIT”[Unit]DescriptionNInfer V100 Duo - Qwen3.8-27B-nvfp4 engine serverAfternetwork.target[Service]TypesimpleUserocadminWorkingDirectory/home/ocadmin/NInfer-V100-DuoExecStart/home/ocadmin/NInfer-V100-Duo/build-v100-duo/apps/ninfer-serve /home/ocadmin/ninfer_models/qwen3_8_27b_nvfp4.ninfer --tp 2 --devices 0,1 --host 0.0.0.0 --port 8080 --max-context 8192Restarton-failureRestartSec10StandardOutputappend:/home/ocadmin/ninfer_serve.logStandardErrorappend:/home/ocadmin/ninfer_serve.log[Install]WantedBymulti-user.targetUNITsudo systemctl daemon-reloadsudo systemctl enable ninfer.servicesudo systemctl start ninfer.service步驟 10驗證服務systemctl status ninfer.service # 應顯示 active (running)curl -s http://127.0.0.1:8080/v1/modelscurl -s -X POST http://127.0.0.1:8080/v1/chat/completions-H “Content-Type: application/json”-d ‘{“model”:“qwen3.8-27b”,“messages”:[{“role”:“user”,“content”:“你好請自我介紹”}],’“max_tokens”:50}’五、服務管理與常用命令? 查看服務狀態(tài)systemctl status ninfer.service? 查看日志tail -f /home/ocadmin/ninfer_serve.log? 重啟服務sudo systemctl restart ninfer.service? 停止服務sudo systemctl stop ninfer.service? 開機自啟設置sudo systemctl enable ninfer.service? 開機自啟取消sudo systemctl disable ninfer.service六、API 使用說明服務提供 OpenAI 兼容接口地址為 http://192.168.50.10:8080。支持端點? /v1/models —— 列出可用模型? /v1/chat/completions —— 對話補全? /v1/responses —— OpenAI Responses 接口? Anthropic Messages 兼容端點模型 IDqwen3.8-27bauth 已禁用無需真實 API Key配置 Chatbox 客戶端? 模型提供方OpenAI API? API 域名 / Base URLhttp://192.168.50.10:8080/v1? API Key任意如 sk-123456服務不校驗? 模型名稱qwen3.8-27b七、常見問題與說明? 沒有 NVLink 的影響NInfer 專為雙 V100 NVLink 設計。本機無 NVLink運行時會檢測到 P2P 不可用自動降級為 CPU 中介的跨卡通信CUDA host-staged copies。功能正常但雙卡協(xié)同性能相比 NVLink 有折扣。日志見 “direct P2P disabled”。? 首次對話慢模型加載約需 40~50 秒服務啟動后的首次推理有預熱延遲屬正常。? 顯存不足當前 max-context 8192 下加載后每卡剩余約 4.2 GiB。若需更大上下文需謹慎詳見日志中 KV capacity 提示。? CUDA 版本沖突必須使用 CUDA 12.8 編譯sm_70CUDA 13 會直接 FATAL_ERROR。系統(tǒng)驅動為 580.178.04CUDA 13 運行時與 nvcc 12.8 可并存。? 網絡下載不穩(wěn)本機訪問 GitHub / ffmpeg.org / nvidia 官方源不穩(wěn)建議模型走 hf-mirror庫走 apt 國內鏡像清華CUTLASS 提前下載好源碼。? 改監(jiān)聽地址/端口修改 /etc/systemd/system/ninfer.service 中 ExecStart 的 --host / --port然后 systemctl daemon-reload systemctl restart ninfer.service。