GitHub Repo
vLLM 公開 NVDEC 多卡測試,影片描述吞吐量達 CPU 解碼方案兩倍以上
vLLM 公開硬體影片解碼的多 GPU 擴充測試,改善短描述生成工作中的 CPU 瓶頸。效益仍取決於負載,部署時也須為解碼程序預留顯存。

vLLM 在 9 月 18 日公開多 GPU 影片描述生成的部署實測:以 PyNvVideoCodec 呼叫 NVIDIA 的 NVDEC 硬體解碼器,八張 H100、每卡一個服務副本的吞吐量,超過 CPU 解碼方案的兩倍。這次公開的是擴充測試與部署方法,文章日期不能視為功能首次進入程式庫的日期。[工程文章](https://vllm.ai/blog/2026-09-18-pynvvideocodec)
這類工作常以視覺語言模型產生約 100 至 200 個 token 的短描述。模型輸出很快,影片解碼反而佔去大量時間;同一主機增加 GPU 副本後,CPU 可能先被解碼工作耗盡。因此,收益來自移除資料準備瓶頸,不能直接推算成模型運算本身加速兩倍。[測試情境](https://vllm.ai/blog/2026-09-18-pynvvideocodec)
實作仍保留 GPU 與主機之間的傳輸。原始碼顯示,解碼後的影格會複製至鎖頁主機記憶體,再交給多模態前處理;同時保留解碼器槽位,換片時優先重新配置既有物件,減少反覆建立解析器與緩衝區的成本。這條路徑尚非全程資料留在 GPU 的零複製管線。[解碼實作](https://github.com/vllm-project/vllm/blob/main/vllm/multimodal/video.py)
部署者可在媒體參數中指定 `backend=pynvvideocodec`,但必須先啟動 CUDA MPS,因為 API 解碼程序與模型引擎會共用 GPU。文件也要求設定正值的 `--mm-ipc-gpu-memory-gb`;該預算會壓縮 KV 快取可用空間,額度用盡時,解碼工作須等待。每個 API 程序預設保留兩個硬體解碼槽位,增加槽位也會提高顯存預留。[部署文件](https://docs.vllm.ai/en/latest/features/multimodal_inputs/)
工程上,下一步應固定影片格式、抽幀數與輸出長度,比較單卡到八卡的吞吐量、CPU 使用率及尾端延遲。官方數字來自特定描述生成負載,本次未取得獨立重現結果;長輸出、大模型或 KV 快取已滿的服務,收益可能不同。文件另建議串流影片使用 DeepStream 後端,不能直接套用本次檔案解碼配置。[適用範圍](https://docs.vllm.ai/en/latest/features/multimodal_inputs/)