Release Notes#
This page lists changes, fixes, and known issues for this NIM LLM and VLM release.
Release 2.1.5#
Highlights#
This release delivers NIM updates, a new model, profile selection changes, and upgrades the inference backends to vLLM 0.31.0 and SGLang 0.5.21.
NIM Updates#
This release includes updated 2.1.5 versions of the following NIM containers. The following table lists them by NIM type and category:
NIM Type |
Category |
NIMs |
|---|---|---|
Model-specific NIM |
LLM |
|
VLM |
|
|
Model-free NIM |
vLLM backend |
|
SGLang backend |
|
Each model-specific NIM includes validated quantization profiles and optimized runtime configurations for curated model weights. Refer to the Support Matrix for NIMs for each NIM’s supported profiles and verified GPUs, and use the filter at the top of that page to find the profiles for your GPU.
The model-free NIMs are served by the nvidia/vllm-model-free-nim container,
which uses vLLM 0.31.0, and the nvidia/sglang-model-free-nim container, which
uses SGLang 0.5.21. Each container is validated with the models that the table
lists for its backend, and the containers include throughput tuning
configurations for every listed model except gpt-oss-20b. To serve
codestral-2501, use a single GPU with at least 80 GB of memory. Refer to
About Model-Free NIM for deployment instructions and to the
Model-Free NIM section of the support matrix for
the validated models and tuning configurations, including
codestral-2501 and
glm-5.3.
New Models#
This release adds the following model:
Kimi K3.1 Pro is served by the experimental vLLM model-free NIM container,
nvidia/vllm-model-free-nim-experimental, with the public MXFP4 checkpoint and2.1.6-variant-kimi-k3.1-proserving recipes. Refer to Kimi K3.1 Pro for supported configurations, and to Kimi K3.1 Pro for deployment requirements.
Tuned Profiles for Fine-Tuned Checkpoints and Model Stores#
When NIM_MODEL_PATH points to a fine-tune of a model-specific NIM’s model or
to a model store from create-model-store, the NIM now serves its own
profiles. It uses the profiles for the checkpoint’s precision and applies their
tuned engine arguments. Previously, the NIM replaced its profiles with generic
profiles, so the tuned engine arguments were not applied. This change also
applies to model stores that earlier releases created.
The NIM handles these checkpoints as follows:
The NIM reads the checkpoint’s precision from
config.jsonand, for ModelOpt checkpoints, fromhf_quant_config.json. If the NIM has no profile for that precision, it serves generic profiles, as in earlier releases.Profile names and IDs are the same as with NVIDIA’s weights, so
NIM_MODEL_PROFILEaccepts them. To serve the profile that a model store was created from, setNIM_MODEL_PROFILEto the profile ID that you passed tocreate-model-store. If an earlier release created the model store, that profile ID might have changed in this release. In that case, setNIM_MODEL_PROFILEto the 2.1.5 profile ID or name thatlist-model-profilesprints. Refer to Support Changes.Without
NIM_MODEL_PROFILE, the NIM selects one of its profiles for your hardware, as it does for NVIDIA’s weights. The selected profile can differ from the profile that a model store was created from.NIM_MODEL_PATHmust point to a fine-tune of the NIM’s own model. The NIM does not check the model architecture.
Refer to Serving a Fine-Tuned Checkpoint on a Model-Specific NIM and Air-Gap Deployment.
With some NVFP4 checkpoints, such as mixed-precision checkpoints and
checkpoints without a config.json file, the NIM cannot serve its NVFP4
profiles through NIM_MODEL_PATH. Refer to the known issues for
nemotron-3-ultra-550b-a55b,
deepseek-v4-flash-0731,
deepseek-v4-pro-0813,
and mistral-small-4-119b-2603.
Advisory Memory Estimates in Profile Selection#
GPU memory estimates are advisory in profile selection. When no profile is
estimated to fit in GPU memory, NIM_MODEL_PROFILE=default selects a
hardware-compatible profile, and NIM LLM and VLM attempts to start
it.
For single-node vLLM and SGLang deployments that use tensor or pipeline parallelism, profile selection works as follows:
NIM LLM and VLM still prefers profiles that are estimated to fit in GPU memory. When no profile is estimated to fit, automatic selection and
NIM_MODEL_PROFILE=defaultselect a profile that passes the hardware, precision, topology, and feature checks.When the selected profile is estimated not to fit in GPU memory, or its estimate is unavailable, NIM LLM and VLM logs a warning before it downloads the model weights. It then attempts to start the profile. This applies to automatic selection, to
NIM_MODEL_PROFILE=default, and to an explicit profile ID or name.NIM LLM and VLM does not shorten the context length automatically.
If you do not change a profile’s memory settings, its memory estimate is at least the minimum GPU memory that the profile declares.
Hardware, precision, topology, feature, and configuration checks still apply, and the inference backend can still run out of memory at startup.
Multi-node deployments and deployments that use additional data or expert parallelism keep their existing memory checks. Refer to Model Profiles and Selection and Troubleshooting GPU Memory Out-of-Memory Errors.
vLLM 0.31.0#
The vLLM inference backend is updated from 0.30.0 to vLLM 0.31.0. This version includes the following changes that can affect your deployment:
When you disable CUDA graphs with
--enforce-eagerorNIM_DISABLE_CUDA_GRAPH=1, vLLM also skips the startup JIT kernel warmup. Triton kernels then compile during the first requests, so those requests take longer.A LoRA adapter whose name matches the served model name is rejected when it is loaded. Do not give an adapter directory the same name as the served model (
NIM_SERVED_MODEL_NAME).Per-request multimodal arguments,
media_io_kwargsandmm_processor_kwargs, are disabled by default. Requests that set them return HTTP 400 unless the server runs with--trust-request-mm-kwargs. Theqwen3.5-122b-a10b,qwen3.5-397b-a17b, andnemotron-3-nano-omni-30b-a3b-reasoningNIMs enable this option in all of their profiles, so they accept these arguments as in release 2.1.4. Refer to Security Fixes.The
slowtokenizer mode (--tokenizer-mode slow) is removed.The
outlinesstructured-output backend rejectsjson_objectrequests.When the server runs with
--enable-scale-out, a/inference/v1/generaterequest that setsmax_tokenstonullandmin_tokensabove the context length minus the prompt length is rejected. Previously, such a request could stop vLLM from processing new requests.The
--enable-mamba-fine-grained-prefix-cacheargument is renamed to--enable-mamba-shared-prefix-checkpoint.The
--collect-detailed-tracesargument no longer accepts a comma-separated list. Pass the modules as separate values, such as--collect-detailed-traces model worker.The
VLLM_PLE_CPU_OFFLOADenvironment variable is removed. Instead ofVLLM_PLE_CPU_OFFLOAD=0, pass--engram-config '{"cpu_offload": false}'to keep Engram embedding tables in GPU memory.
If you pass the new vLLM --log-level or --logging-config argument,
NIM LLM and VLM logs a warning and ignores it. Use NIM_LOG_LEVEL
and NIM_JSONL_LOGGING to configure logging. Refer to
Advanced Configuration.
SGLang 0.5.21#
The SGLang inference backend is updated from 0.5.20 to SGLang 0.5.21. This version includes the following changes that can affect your deployment:
The Rust radix tree core is the default radix cache implementation, and the legacy radix caches for sliding window attention (SWA) and Mamba models are removed. This change affects hybrid SWA models, such as Inkling. To use the Python implementation of the radix tree core, set
SGLANG_UNIFIED_RADIX_TREE_CORE_BACKEND=python.The FlashInfer fused finalize step for mixture-of-experts (MoE) layers is off by default, which can change NVFP4 MoE performance. To restore it, set
SGLANG_FLASHINFER_MOE_FUSED_FINALIZE=1.A
/v1/chat/completionsrequest that setschat_templateinsidechat_template_kwargsreturns HTTP 400 unless the server runs with--trust-request-chat-template. Otherchat_template_kwargskeys, such asenable_thinking, do not cause this error.JSON schema keywords that XGrammar cannot enforce now cause the request to fail instead of being ignored. These keywords include
if,then,else,not,multipleOf,uniqueItems,contains, and unsupported stringformatvalues.In non-streaming responses,
tool_calls[].indexis the position of the call in the response, as it is in streaming responses. Previously, it could be the position of the tool in the request’stoolslist instead.
Security Fixes#
This release fixes 81 unique security issues across the vLLM and SGLang images (3 critical, 18 high, 59 medium, and 1 low).
vLLM Images#
This release fixes 62 security issues in the vLLM images (3 critical, 15 high, 43 medium, and 1 low).
The Go standard library and the
golang.org/x/netmodule that are compiled into Mooncake’slibetcd_wrapper.soare updated from Go1.26.8to1.26.9and fromv0.58.0tov0.60.0, addressing 13 issues (2 critical, 9 high, and 2 medium).lmcacheis updated from0.5.5to0.5.6, addressing a critical issue. The flaw allows unauthenticated remote code execution through the network transport of the LMCache multiprocess server, which NIM LLM and VLM does not start.aiohttpis updated from3.14.3to3.14.5, and the copy that Ray vendors is updated from3.14.3to3.14.4, addressing 8 issues (3 high, 4 medium, and 1 low).vLLM is updated from
0.30.0to0.31.0, addressing 3 issues (2 high and 1 medium). All three concern multimodal requests, and CVE-2026-114053 applies only when the server runs with--trust-remote-code. The fixes for CVE-2026-114053 and CVE-2026-114055 reject per-request multimodal arguments unless the server runs with--trust-request-mm-kwargs. All profiles ofqwen3.5-122b-a10b,qwen3.5-397b-a17b, andnemotron-3-nano-omni-30b-a3b-reasoningenable this option, so clients of these NIMs can still set these arguments.nemotron-3-nano-omni-30b-a3b-reasoningruns with--trust-remote-codein all of its profiles, and some profiles of the Qwen3.5 NIMs also run with it. Serve these NIMs only to trusted clients.The FFmpeg libraries that PyAV and PyNvVideoCodec use are rebuilt from FFmpeg 9.0.2 with the upstream fix that limits RTSP redirects, addressing a high-severity issue.
Other packages are updated or removed to address medium-severity issues:
PyJWT, from2.14.0to2.15.1. The Ubuntupython3-jwtpackage (2.7.0-1ubuntu0.1), an older copy of PyJWT, is removed. These changes address 17 issues.libexpat1and related packages, from2.6.1-2ubuntu0.5to2.6.1-2ubuntu0.6(11 issues).curland related packages, from8.5.0-2ubuntu10.13to8.5.0-2ubuntu10.15(3 issues).sudo, from1.9.15p5-3ubuntu5.24.04.2to1.9.15p5-3ubuntu5.24.04.4(2 issues).multidict, the copy that Ray vendors, from6.7.1to6.9.1(1 issue).uv, from0.12.17to0.12.22(1 issue).nginx, from1.31.3to1.31.6(1 issue).
Show Fixed Security Issues
Go and
golang.org/x/netin Mooncake. Critical: CVE-2026-56857, CVE-2026-78663. High: CVE-2026-56866, CVE-2026-78659, CVE-2026-78660, CVE-2026-78667, CVE-2026-78669, CVE-2026-94439, CVE-2026-94440, CVE-2026-97031, CVE-2026-97032. Medium: CVE-2026-94448, CVE-2026-97030.lmcache. Critical: CVE-2026-105192.aiohttp, including Ray’s copy. High: GHSA-2g87-pp6c-29x5, CVE-2026-111064, CVE-2026-111066. Medium: CVE-2026-111063, CVE-2026-111065, CVE-2026-111748, CVE-2026-111750. Low: CVE-2026-111749.vLLM. High: CVE-2026-114053, CVE-2026-114055. Medium: CVE-2026-114050.
FFmpeg. High: CVE-2026-107696.
PyJWTandpython3-jwt. Medium: CVE-2026-48522, CVE-2026-48524, CVE-2026-48525, CVE-2026-48526, CVE-2026-101917, CVE-2026-101918, CVE-2026-102265, CVE-2026-102267, CVE-2026-102268, CVE-2026-102269, CVE-2026-102270, CVE-2026-102271, CVE-2026-102272, CVE-2026-102273, CVE-2026-102274, CVE-2026-102275, CVE-2026-103001.libexpat1. Medium: CVE-2026-56131, CVE-2026-56132, CVE-2026-56406, CVE-2026-56407, CVE-2026-56409, CVE-2026-56410, CVE-2026-56411, CVE-2026-66046, CVE-2026-72522, CVE-2026-76641, CVE-2026-76957.curl. Medium: CVE-2026-13608, CVE-2026-18924, CVE-2026-82209.sudo. Medium: CVE-2026-82474, CVE-2026-96512.multidict(Ray’s copy). Medium: CVE-2026-104874.uv. Medium: CVE-2026-104843.nginx. Medium: CVE-2026-90439.
SGLang Images#
This release fixes 60 security issues in the SGLang images (2 critical, 16 high, 41 medium, and 1 low).
The Go standard library and the
golang.org/x/netmodule that are compiled into Mooncake’slibetcd_wrapper.soare updated from Go1.26.8to1.26.9and fromv0.58.0tov0.60.0, addressing 13 issues (2 critical, 9 high, and 2 medium).nltkis removed, addressing 2 high-severity issues. It was installed only as a dependency ofcosmos-guardrail, which is also removed. NIM LLM and VLM does not use either at runtime.The copy of
aiohttpthat Ray vendors is updated from3.14.3to3.14.4, addressing 8 issues (3 high, 4 medium, and 1 low).oauthlibis updated from3.3.1to4.0.0, addressing 3 issues (1 high and 2 medium).The FFmpeg libraries that PyAV uses to decode audio input are rebuilt from FFmpeg 9.0.2 with the upstream fix that limits RTSP redirects, and the static FFmpeg 4.2.2 binary that
imageio-ffmpegbundles is removed. These changes address a high-severity issue.Other packages are updated to address medium-severity issues:
PyJWT, from2.14.0to2.15.1(2 issues).libexpat1and related packages, from2.6.1-2ubuntu0.4to2.6.1-2ubuntu0.6(23 issues).curland related packages, from8.5.0-2ubuntu10.13to8.5.0-2ubuntu10.15(3 issues).libxml2, from2.9.14+dfsg-1.3ubuntu3.8to2.9.14+dfsg-1.3ubuntu3.10(1 issue).libevent-core-2.1-7t64and related packages, from2.1.12-stable-9ubuntu2.1to2.1.12-stable-9ubuntu2.2(1 issue).multidict, the copy that Ray vendors, from6.7.1to6.9.1(1 issue).uv, from0.12.16to0.12.21(1 issue).nginx, from1.31.3to1.31.6(1 issue).
Show Fixed Security Issues
Go and
golang.org/x/netin Mooncake. Critical: CVE-2026-56857, CVE-2026-78663. High: CVE-2026-56866, CVE-2026-78659, CVE-2026-78660, CVE-2026-78667, CVE-2026-78669, CVE-2026-94439, CVE-2026-94440, CVE-2026-97031, CVE-2026-97032. Medium: CVE-2026-94448, CVE-2026-97030.nltk. High: CVE-2026-81726, CVE-2026-109956.aiohttp(Ray’s copy). High: GHSA-2g87-pp6c-29x5, CVE-2026-111064, CVE-2026-111066. Medium: CVE-2026-111063, CVE-2026-111065, CVE-2026-111748, CVE-2026-111750. Low: CVE-2026-111749.oauthlib. High: GHSA-3jp2-3mrg-2vxc. Medium: CVE-2026-49264, CVE-2026-49265.FFmpeg. High: CVE-2026-107696.
PyJWT. Medium: CVE-2026-101918, CVE-2026-102275.libexpat1. Medium: CVE-2025-59375, CVE-2026-32776, CVE-2026-32777, CVE-2026-32778, CVE-2026-41080, CVE-2026-45186, CVE-2026-50219, CVE-2026-56131, CVE-2026-56132, CVE-2026-56403, CVE-2026-56404, CVE-2026-56405, CVE-2026-56406, CVE-2026-56407, CVE-2026-56408, CVE-2026-56409, CVE-2026-56410, CVE-2026-56411, CVE-2026-56412, CVE-2026-66046, CVE-2026-72522, CVE-2026-76641, CVE-2026-76957.curl. Medium: CVE-2026-13608, CVE-2026-18924, CVE-2026-82209.libxml2. Medium: CVE-2026-74860.libevent-core-2.1-7t64. Medium: CVE-2026-63388.multidict(Ray’s copy). Medium: CVE-2026-104874.uv. Medium: CVE-2026-104843.nginx. Medium: CVE-2026-90439.
Bug Fixes#
This release includes the following fixes:
The inference backends in the vLLM and SGLang images now load cuDNN 9.27.0.42. Previously, cuDNN could release the code of a runtime-compiled kernel while a captured CUDA graph still used it. Replaying the graph could then return incorrect output without reporting an error, or fail with CUDA error 715.
On the vLLM images, EAGLE3 speculative decoding now supports draft models that use only the final hidden state of the target model, that is, drafts whose
config.jsonsetsuse_aux_hidden_statetofalseineagle_config. Previously, the inference backend ignored this setting, and these drafts failed with a hidden-state size mismatch. Refer to Speculative Decoding.On systems with unified GPU and CPU memory, such as NVIDIA DGX Spark, the inference backend can now use up to 75% of unified memory instead of 50%. An explicit
--gpu-memory-utilizationvalue still takes precedence.When
NIM_MODEL_PATHpoints to a model store thatcreate-model-storecreated from a model-specific NIM, the NIM now serves its own profiles with their tuned engine arguments.NIM_MODEL_PROFILEalso accepts the profile ID that the model store was created from. Previously, the NIM served generic profiles from the model store and rejected that profile ID. Without the tuned engine arguments, some deployments ran out of GPU memory at startup. Refer to Air-Gap Deployment.On the vLLM images, model downloads now retry when the source responds with HTTP 429 or returns a transient error, such as a server error or a reset connection. Previously, a download of a large model from Hugging Face could fail with an HTTP 429 error. The retries apply to Hugging Face, NGC, Amazon S3, Google Cloud Storage, ModelScope, and HTTPS sources. Each rate-limited download operation can now wait up to 15 minutes before it fails. Startup can run about three of these operations, so retries can delay startup by up to about 45 minutes. Allow for this time and the model load time in your container startup probes. The SGLang images already included these retries in release 2.1.4. In this release, a download from Amazon S3 can still fail without a retry when a connection drops during the transfer. Refer to the known issues for gpt-oss-120b and mistral-small-4-119b-2603.
When
NIM_DISABLE_WORKSPACE_HASH_CHECKis set totrue, NIM LLM and VLM now logs aSECURITYwarning that names the variable and the profile whose model files are not verified. Previously, NIM LLM and VLM skipped the check without logging it.
Support Changes#
This release changes support for the following configurations:
The
vllm-nvfp4-tp4-pp1profile ofmistral-small-4-119b-2603is not supported on NVIDIA B300-SXM6-AC and NVIDIA GB200 in this release, and these combinations are omitted from the Support Matrix for NIMs. Release 2.1.4 listed these combinations with a known issue. On these GPUs, sustained chat traffic can delay/v1/health/readyresponses beyond a five-second probe timeout. The profile remains supported on the other GPUs that the Support Matrix for NIMs lists for it. Refer to the known issue.For
nemotron-3-nano-omni-30b-a3b-reasoning, the generic NVFP4 TP1 profile (vllm-nvfp4-tp1-pp1) is not listed for NVIDIA RTX PRO 4500 Blackwell Server Edition in the Support Matrix for NIMs for this release. Release 2.1.4 listed this combination. On this GPU, use the default profile selection, which selects the throughput-optimized NVFP4 TP1 profile642f356201892f339146d30c52e92ada94de23ac0914583dae769f3f15b84c51. Refer to the known issue.For
nemotron-3-super-120b-a12b, the BF16 TP4 LoRA profile (vllm-bf16-tp4-pp1-lora) is supported on NVIDIA H100-NVL in this release. Release 2.1.4 did not list this combination. On this GPU, LoRA was validated with--max-lora-rankset to 64 and the default--max-lorasvalue. Refer to the known issue.The Support Matrix for NIMs no longer lists the following profile and GPU combinations. Release 2.1.4 listed them, but they were not validated:
vllm-bf16-tp2-pp1-loraofllama-3.3-70b-instructon NVIDIA H100-NVL.vllm-fp8-tp2-pp1,vllm-fp8-tp4-pp1, andvllm-fp8-tp8-pp1ofmistral-small-4-119b-2603on NVIDIA H200-NVL.vllm-bf16-tp1-pp1ofstarcoder2-7bon NVIDIA A100-80GB-PCIe.
Optimized profiles changed for the following NIMs. The Support Matrix for NIMs lists the optimized profiles of each NIM:
nemotron-3.5-lightning: the throughput profiles on NVIDIA B200 and NVIDIA H200 are BF16 TP1. Release 2.1.4 used NVFP4 on NVIDIA B200 and NVFP4 (W4A16) with FP8 on NVIDIA H200.gemma-4-26b-a4b-it: this release has no optimized profile for NVIDIA GB200, and a BF16 TP1 throughput profile is new on NVIDIA H200.qwen3.5-122b-a10b: on NVIDIA H200, the FP8 TP2 text throughput profile is replaced by an FP8 TP2 profile tuned for image-text requests and a new NVFP4 (W4A16) TP1 throughput profile. The FP8 TP2 latency profile remains.starcoder2-7b: the only optimized profile is BF16 TP1 throughput on NVIDIA H200. Release 2.1.4 also listed BF16 TP1 and TP2 throughput profiles on other GPUs, including NVIDIA A100, NVIDIA B200, and NVIDIA H100.
For
nemotron-3.5-lightning, the Support Matrix for NIMs now lists the GPUs that are validated for each profile in this release:NVIDIA H100-NVL is listed for the BF16 TP1, TP2, and TP4 profiles and the W4A16 profiles.
The BF16 TP1 profiles are also listed on NVIDIA A100-SXM4-80GB, NVIDIA GB10, and NVIDIA H100-80GB-HBM3, and the W4A16 profiles on NVIDIA A100-SXM4-80GB. For NVIDIA GB10, refer to the known issue.
The BF16 TP8 profiles are listed only on NVIDIA A100-SXM4-80GB, NVIDIA H100-80GB-HBM3, NVIDIA L40S, and NVIDIA RTX PRO 6000 Blackwell Server Edition. Release 2.1.4 also listed them on NVIDIA B200, NVIDIA B300-SXM6-AC, NVIDIA GB200, NVIDIA GB300, and NVIDIA H200.
NVIDIA GB10 is listed only for TP1 profiles. Release 2.1.4 also listed TP2 and larger profiles on NVIDIA GB10.
Profile IDs changed for several NIMs in this release, so a profile ID from release 2.1.4 might not exist in the 2.1.5 container. For example, the
nemotron-parse-v2.0BF16 TP1 throughput profile with FP8 KV cache on NVIDIA B200 has the IDdf9fbe0520a0f6b97dd45964cdbeae90679bfab547052a494247b9c95de38f98, which replaces the 2.1.4 ID98443c5c72f2afd75a056660e8e71799db695e32cdd1ca09fa0e4d5050f29472. If you setNIM_MODEL_PROFILEto a 2.1.4 profile ID, runlist-model-profilesin the 2.1.5 container and setNIM_MODEL_PROFILEto the profile ID or name that it prints. For profile selection, refer to Model Profiles and Selection.The following
qwen3.5-122b-a10bLoRA profile and GPU combinations are excluded from the Support Matrix for NIMs in this release. With default settings, they run out of GPU memory (CUDA out-of-memory error) during engine initialization, preventing server startup. The affected configurations are:Qwen3.5-122B-A10B LoRA Configurations Excluded From Support Due to Startup Out-of-Memory Errors# Profile
GPUs
vllm-fp8-tp1-pp1-loraNVIDIA GH200-144G-HBM3e, NVIDIA H200, NVIDIA H200-NVL
vllm-fp8-tp2-pp1-loraNVIDIA H100-80GB-HBM3
vllm-fp8-tp4-pp1-loraNVIDIA L40S
vllm-nvfp4-tp1-pp1-loraNVIDIA RTX PRO 6000 Blackwell Server Edition
vllm-nvfp4-tp4-pp1-loraNVIDIA RTX PRO 4500 Blackwell Server Edition
The following
qwen3.5-122b-a10bLoRA profile and GPU combinations are also excluded from the Support Matrix for NIMs in this release. With default settings, the frontend multimodal decoder reserves 2.05 GiB of GPU memory, exceeding the available KV-cache budget and preventing server startup. The affected configurations are:Qwen3.5-122B-A10B LoRA Configurations Excluded From Support Due to the Multimodal Memory Reservation# Profile
GPUs
vllm-bf16-tp2-pp1-loraNVIDIA GH200-144G-HBM3e, NVIDIA H200, NVIDIA H200-NVL
vllm-bf16-tp4-pp1-loraNVIDIA A100-SXM4-80GB, NVIDIA H100-80GB-HBM3
vllm-bf16-tp1-pp1-loraNVIDIA B300-SXM6-AC
vllm-bf16-tp8-pp1-loraNVIDIA L40S
vllm-fp8-tp8-pp1-loraNVIDIA RTX PRO 4500 Blackwell Server Edition
Of the combinations in these two tables, release 2.1.4 listed
vllm-fp8-tp1-pp1-loraandvllm-bf16-tp2-pp1-loraon NVIDIA GH200-144G-HBM3e, NVIDIA H200, and NVIDIA H200-NVL with a known issue. This release does not support these combinations.
qwen3.5-397b-a17bdoes not support LoRA in this release. Its LoRA profiles (vllm-bf16-tp4-pp1-lora,vllm-bf16-tp8-pp1-lora,vllm-fp8-tp2-pp1-lora,vllm-fp8-tp4-pp1-lora,vllm-fp8-tp8-pp1-lora,vllm-nvfp4-tp1-pp1-lora,vllm-nvfp4-tp2-pp1-lora,vllm-nvfp4-tp4-pp1-lora, andvllm-nvfp4-tp8-pp1-lora) are not listed in the Support Matrix for NIMs for 2.1.5. The container still includes these profiles, but they are not supported in this release. Use the non-LoRA profiles. This changes the support coverage from release 2.1.4, which listed LoRA profiles for this model on a subset of GPUs. The non-LoRA profiles are unaffected.qwen3.5-122b-a10bsupports text and image input only in this release. Video input is not supported on any GPU or profile. Release 2.1.4 did not restrict video input for this model. As in release 2.1.4,qwen3.5-397b-a17balso supports text and image input only. Refer to the known issues for qwen3.5-122b-a10b and qwen3.5-397b-a17b.
Known Issues#
This release includes the following known issues and limitations. For general diagnostic steps, rather than model-specific workarounds, refer to Troubleshooting GPU Memory Out-of-Memory Errors and Troubleshooting Request Timeouts and Responses.
Show Known Issues and Limitations
Jump to: deepseek-v4-flash-0731, deepseek-v4-pro-0813, gemma-4-31b-it, glm-5.2, gpt-oss-120b, gpt-oss-20b, inkling, kimi-k2.6, llama-3.1-8b-instruct, llama-3.3-nemotron-super-49b-v1.5, mistral-small-4-119b-2603, nemotron-3-nano, nemotron-3-nano-omni-30b-a3b-reasoning, nemotron-3-super-120b-a12b, nemotron-3-ultra-550b-a55b, nemotron-3.5-content-safety, nemotron-3.5-lightning, nemotron-parse-v2.0, qwen3.5-122b-a10b, qwen3.5-397b-a17b, SGLang Model-Free NIM, vLLM Model-Free NIM, variant containers.
deepseek-v4-flash-0731
For
deepseek-v4-flash-0731, the NVFP4 TP4 profile (d2371848) cannot be deployed on NVIDIA B200 from a model store. WhenNIM_MODEL_PATHpoints to a model store created for this profile withcreate-model-store, the NIM reads the weight precision of this mixed-precision NVFP4 checkpoint as FP8.list-model-profilesthen reports no compatible and runnable profile and lists only the NVIDIA H200 FP8 TP4 profile (e5199f4a) as incompatible with the system. Deployments that do not setNIM_MODEL_PATHare not affected, and the FP8 TP4 profile on NVIDIA H200 starts from a model store. No workaround has been validated forNIM_MODEL_PATHdeployments of the NVFP4 profile on NVIDIA B200. Refer to Air-Gap Deployment.
deepseek-v4-pro-0813
For
deepseek-v4-pro-0813, the FP8 TP8 throughput profile on NVIDIA H200 (2cf4354f) can fail to start when the container runs with a memory limit, such as a Kubernetesresources.limits.memorysetting. This profile enables the SGLang hierarchical cache. The SGLang version in this release counts the container’s file page cache as used memory when it sizes the host cache pools, so startup can stop withValueError: Not enough host memory for V4 paged pool swa. The server then exits and the container restarts repeatedly. The failure was observed in a KServe deployment with a 256 GiB memory limit. In validation, Helm deployments of this profile on NVIDIA H200 without a container memory limit started and served normally. The NVFP4 TP8 profile on NVIDIA B200 (f6e709b4) does not use the hierarchical cache. No workaround has been validated for memory-limited deployments of this profile.
For
deepseek-v4-pro-0813, the NVFP4 TP8 throughput profile on NVIDIA B200 (f6e709b4) cannot be deployed from a model store. WhenNIM_MODEL_PATHpoints to a model store created for this profile withcreate-model-store, the NIM reads the weight precision of this mixed-precision NVFP4 checkpoint as FP8.list-model-profilesthen does not listf6e709b4and lists only the FP8 TP8 throughput profile for NVIDIA H200 (2cf4354f) as compatible and runnable. Deployments that do not setNIM_MODEL_PATHare not affected. In validation, Helm deployments off6e709b4on NVIDIA B200 with a read-write PVC, with a pre-downloaded model, and in an air-gapped installation started and served normally. No workaround has been validated forNIM_MODEL_PATHdeployments of the NVFP4 profile on NVIDIA B200. Refer to Air-Gap Deployment.
gemma-4-31b-it
gemma-4-31b-itcan fail to start on NVIDIA RTX PRO 6000 Blackwell Server Edition withNIM_MODEL_PROFILE=default. Default selection picks the BF16 TP1 profile (vllm-bf16-tp1-pp1), which requires more GPU memory than this GPU provides, instead of an NVFP4 TP1 profile. Workaround: SetNIM_MODEL_PROFILE=5f2613453901ce34041f9390d1eb035bceabba0af65af73be562fa5cda704a48, the NVFP4 TP1 (vllm-nvfp4-tp1-pp1) optimized profile listed for this GPU in the Support Matrix for NIMs.
glm-5.2
For
glm-5.2, the throughput profiles that enable the SGLang hierarchical cache can fail to start when the container runs with a memory limit, such as a Kubernetesresources.limits.memorysetting. The affected profiles are FP8 TP8 on NVIDIA H200 (28a9b5fd), which requests an 80 GB host cache per GPU (640 GB in total), and NVFP4 TP4 on NVIDIA B200 (53546dab), which requests a 128 GB host cache per GPU (512 GB in total). When the memory limit leaves less free host memory than the cache requests, startup stops withValueError: Not enough host memory available, the server exits, and the container restarts repeatedly. The failure was observed in KServe deployments with a 384 GiB memory limit. In validation, the NVIDIA H200 profile started and served normally in deployments without a container memory limit, and the NVFP4 TP4 profile on NVIDIA B200 (a6f62247), which does not use the hierarchical cache, started under the same 384 GiB limit. No memory-limit value has been validated for the affected profiles, and no workaround has been validated for memory-limited deployments of them.
On
glm-5.2, chat requests that setresponse_format.typetojson_schemacan intermittently return incomplete JSON on thesglang-nvfp4-tp4-pp1profile on NVIDIA B300-SXM6-AC. This was observed during release 2.1.4 validation. After generating part of a JSON object, the model can emit only whitespace until it reachesmax_tokens, returningfinish_reasonoflength. There is no validated server-side workaround. Validate the response content in your application and retry requests that end withfinish_reasonoflengthwithout a complete JSON object.
gpt-oss-120b
On
gpt-oss-120b, setting--max-lora-rankabove 128 can fail engine startup with afused_moe_lora_one_shot supports max_lora_rank<=128assertion. This limitation also affects prior releases. Workaround: Set--max-lora-rankto 128 or lower and use adapters whose rank does not exceed the configured limit. Refer to Out of Memory During LoRA Adapter Allocation for the distinction between rank limits and memory failures.
gpt-oss-120bMXFP4 LoRA TP4 (vllm-mxfp4-tp4-pp1-lora) exhausts GPU memory at startup on NVIDIA L40S with--max-lora-rank 64 --max-loras 8. This limitation also affects prior releases. Workaround: Leave--max-lorasat its default. This does not establish limits for other ranks or TP sizes; refer to Out of Memory During LoRA Adapter Allocation.
On
gpt-oss-120b, streaming and non-streaming chat requests stop at a requestedstopstring and returnfinish_reason=stop, but the matched stop string, or the whole token that contains it, can remain at the end of the returnedcontentorreasoningfield. This happens with the defaultinclude_stop_str_in_outputvalue and when it is set tofalse, and also affects prior releases. On the TP1 throughput profiles that use Eagle3 speculative decoding (H200 and B200), the returned text can also continue for a few tokens past the matched stop string, and the stop string can be absent even wheninclude_stop_str_in_outputistrue. Do not assume that a requested stop string is excluded from, or included in, either field.
On
gpt-oss-120b, whenNIM_REPOSITORY_OVERRIDEpoints to an S3 bucket, a single connection that drops while NIM downloads the model files at startup stops the download without a retry. The log showsDownload failed after 1 attemptswith an AWSDispatchFailurethat containsIncompleteMessage, followed byError downloading manifest, and the container exits before the server starts. The failure is intermittent: the same configuration downloaded and served successfully on other attempts in this release. If startup fails with this error, start the container again. Refer to Model Download.
The
gpt-oss-120bTP1 throughput profile on NVIDIA A100-SXM4-80GB has a maximum sequence length of 32,768 tokens (input plus output). For longer contexts, select a supported TP2, TP4, or TP8 profile.
gpt-oss-20b
gpt-oss-20btext completions (/v1/completions) can continue untilmax_tokens(finish_reason=length) without generating the requestedstopstring, in streaming and non-streaming modes, for example by producing reasoning-style text or a long counting sequence such as2,3,4,...instead of the expected short continuation of the prompt. Astopstring that the model generates is honored. Chat requests withstopstrings are affected differently; refer to gpt-oss-20b chat requests with stop strings. Refer to Completion Stop Strings Are Not Honored for diagnosis.
The
gpt-oss-20bLoRA (feat_lora) MXFP4 TP1 profile cannot start on NVIDIA A10G (24 GB) at the full context length of 131,072 tokens because the available memory cannot hold the KV cache for even one request at that length. Other GPUs and othergpt-oss-20bprofiles on A10G are unaffected. This also affects prior releases. Workaround: Use a GPU with more memory, or lowerNIM_MAX_MODEL_LENto a value that fits the available memory. Refer to Troubleshooting GPU Memory Out-of-Memory Errors.
The fused mixture-of-experts kernels used by
gpt-oss-20bsupport a maximum LoRA rank of 128. Setting--max-lora-rankabove 128 causes startup to fail with afused_moe_lora_one_shot supports max_lora_rank<=128assertion error. This limit applies even if all deployed adapters have rank 128 or lower. The configured value determines the buffer allocation before any adapter loads. This limitation also affects prior releases. Workaround: Set--max-lora-rankto 128 or lower and use adapters with rank 128 or lower.
On
gpt-oss-20b, LoRA (feat_lora) MXFP4 profiles can intermittently fail requests instead of returning an answer./v1/responsesrequests can return HTTP 500 (unexpected tokens remaining in message header) or HTTP 400 (Unknown channel: None), non-streaming/v1/chat/completionsrequests can return HTTP 500, and streaming/v1/chat/completionsrequests can finish with empty content. The behavior is confined to the LoRA profiles and is observed across their supported GPUs; non-LoRA profiles are unaffected. Workaround: Use a non-LoRA profile where LoRA adapters are not required. If LoRA is required, handle HTTP 500 and HTTP 400 responses and empty content in your application. Handling these responses detects the problem but does not restore the missing answer.
On
gpt-oss-20b, LoRA (feat_lora) MXFP4 profiles can return reasoning-formatted output in which the harmony reasoning channel leaks control tokens (for example<|constrain|>) into the responsecontent, and generation can reachmax_tokenswithout emitting final answer content. The behavior is confined to the LoRA profiles and is observed across their supported GPUs; non-LoRA profiles are unaffected. Workaround: Use a non-LoRA profile where LoRA adapters are not required. If LoRA is required, validate the responsecontentand handle invalid or missing answers in your application. Validation detects the problem but does not restore the missing answer.
gpt-oss-20b/v1/chat/completionsrequests that setstopstrings can stop while the model is still reasoning, before it writes an answer. The response ends withfinish_reason=stopand no answer: non-streaming responses havecontentset tonull, and streaming responses send nocontentdeltas. The matched stop string can remain in thereasoningfield even wheninclude_stop_str_in_outputisfalseor omitted. A short stop string that matches part of the model’s internal channel header (for example,amatchinganalysis) can instead end the response immediately with raw control text such as<|channel|>analysisincontent. This occurs on all supported GPUs, for both LoRA and non-LoRA profiles. No workaround is validated. If your application setsstopstrings, treat a response withfinish_reason=stopand anull, empty, or control-textcontentas a missing answer; this detects the problem but does not restore the answer.
inkling
For
inkling, fetching slow or unreachable image or audio URLs can delay inference requests and/v1/health/readyresponses for about 30 seconds per URL. Decoding very large images, including inline images, can also cause delays. Sustained high-concurrency image requests, such as 256 concurrent requests, can delay/v1/health/readyresponses by more than 5 seconds; this was observed on NVIDIA B300-SXM6-AC and NVIDIA H200 GPUs. A liveness probe that targets/v1/health/readywith a short timeout, such as 5 seconds, can restart the pod during these delays. This also affects prior releases. Workaround: Point the liveness probe at/v1/health/live, which is the Helm chart default and which the NIM proxy answers independently of the model server. Use inline media or fast, reachable hosts to reduce download delays, and downscale very large images. These measures do not eliminate all preprocessing delays. This workaround has not been validated with the high-concurrency image benchmark in this release.
For
inkling, requests that set two or morestopstrings can continue past the earliest stop string in the output on the throughput profiles that use EAGLE speculative decoding:8502d8a44bc24573a17d5e1b20381cc2c74669280ddb9cc3fde765cf15bbb27aon NVIDIA B200 and4a30cb634a0f720cc28572ec4592876d255762f2bfe7bf0d2dceff6890f1f5f4on NVIDIA H200. The response then includes that stop string and the text after it, incontentorreasoning_content, and still ends withfinish_reasonset tostop. This was observed with streaming chat requests. Non-streaming requests and text completions use the same stop handling and can also be affected. The issue was not observed on profiles that do not use speculative decoding, or on requests that set a singlestopstring. Workaround: Set onestopstring per request, or truncate the returned text at the first occurrence of any requested stop string in your application. Truncating in the application has not been validated in this release. Refer to Completion Stop Strings Are Not Honored.
For
inklingon NVIDIA H200 GPUs, the NVFP4 TP8 profilesb71876219f49544d9e42967621ef19a1858458b6bcd333f6c5d55b92f0f27fbaandabe667223aac8d65d80dbb2ae304516d41a3d2d3bc3d89f463fa254e100876a9can intermittently return repetitive, empty, or incoherent output with HTTP 200. These profiles do not use speculative decoding. The issue was not observed on the H200 throughput profile, which uses EAGLE speculative decoding. This also affects prior releases. Workaround: When LoRA adapters are not required, use the H200 throughput profile, which has its own multiple stop strings limitation. No unaffected H200 profile with LoRA support has been identified. Validate response content in your application.
For
inkling, chat requests return HTTP 500 instead of HTTP 400 when an image URL is empty, is not an HTTP or HTTPS URL or supported inline data, cannot be downloaded, or points to content that is not an image, such as an HTML page. Empty audio URLs also return HTTP 500. This also affects prior releases. Workaround: Validate image URLs in your client before sending requests. Reject empty values, send only reachable HTTP or HTTPS URLs or supported inline data, and confirm that each URL returns image content.
For
inkling, chat requests with an image in a format that the model server cannot decode, such as a camera raw file, or with audio that cannot be decoded return HTTP 500 instead of HTTP 400. This also affects prior releases. Workaround: Validate image and audio formats in your client before sending requests. For example, confirm that each image decodes locally, or convert it to PNG or JPEG.
For
inkling, thestructured_outputsrequest field is ignored. Its JSON, grammar, regular expression, and whitespace constraints are not applied, and requests can return unconstrained prose with HTTP 200. This also affects prior releases. To request JSON output, useresponse_formatwithtypeset tojson_schema. Refer to JSON schema output limitation.
For
inkling, chat requests that useresponse_formatwithtypeset tojson_schemacan return incomplete JSON with HTTP 200. Output can contain a long sequence of whitespace and reachmax_tokensbefore closing the JSON object, withfinish_reasonset tolength. This was observed with text-only and image-and-text requests on NVIDIA B200, B300-SXM6-AC, and H200 GPUs. This also affects prior releases, where it was also observed on NVIDIA GB300 GPUs. The issue was not observed on NVIDIA GB300 GPUs in testing for this release, but GB300 GPUs can still be affected. Workaround: Checkfinish_reasonand validate the returned JSON. Retrying can succeed, but does not guarantee valid output.
For
inkling, requests with some out-of-range values forn,temperature, ortop_logprobscan return HTTP 200 instead of HTTP 400. Chat requests can also accept atools[].typestring other thanfunction. This also affects prior releases. Workaround: Validate sampling parameters in your application and settools[].typetofunction.
For
inkling, a chat request that setsmin_tokensabove the remaining context budget without settingmax_tokenscan generate until it exhausts the context budget. The server does not reject this request with HTTP 400, and the response can take a long time. This also affects prior releases. Workaround: Setmax_tokensormax_completion_tokenswhenever you setmin_tokens, and keepmin_tokensat or below that limit.
For
inkling, retrieving or canceling a nonexistent response ID through the Responses API returns HTTP 400 instead of HTTP 404 when the response store is disabled. Requests are rejected before the response ID lookup. This also affects prior releases. Workaround: Check the error response body to identify the cause. An HTTP 400 response alone does not establish that a response ID does not exist.
For
inkling, the response store is disabled in the default serving configuration. Multi-turn requests that useprevious_response_idtherefore return HTTP 400. This also affects prior releases. Workaround: Maintain conversation context in your application and include the conversation history in each request.
For
inkling,/v1/chat/completions/batch,/inference/v1/generate,/generative_scoring, and the Llama Stack/inference/chat_completionendpoint are unavailable and return HTTP 404. This also affects prior releases. Workaround: Use the supported/v1/chat/completionsand/v1/completionsendpoints for generation.
For
inkling, reasoning is enabled by default, with a defaultreasoning_effortof0.9. Reasoning tokens count towardmax_tokens. Thechat_template_kwargs.enable_thinkingandinclude_reasoningfields do not disable reasoning or suppressreasoning_content. Request-level chat template overrides are also ignored. This also affects prior releases. Workaround: Usereasoning_effortto control reasoning effort and omitreasoning_contentfrom your application display when it is not needed. Hiding this field does not reduce token usage.
For
inkling, unsupported request fields are ignored rather than rejected. These includeprompt_logprobs,return_tokens_as_token_ids,include_stop_str_in_output,request_id,mm_processor_kwargs, andmedia_io_kwargs. Requests can return HTTP 200 even when these fields contain invalid values. This also affects prior releases. Workaround: Do not rely on these fields to control generation or validate input.
For
inkling, chat requests that setresponse_formatto a value other than a JSON object return HTTP 500 instead of HTTP 400. This also affects prior releases. Workaround: Sendresponse_formatas a JSON object.
For
inkling,/detokenizerequests with negative or out-of-range token IDs return HTTP 500 instead of HTTP 400. This also affects prior releases. Workaround: Send token IDs within the model vocabulary.
kimi-k2.6
kimi-k2.6text completions can ignorestopstrings on NVIDIA B200 and B300-SXM6-AC in streaming and non-streaming modes. Chat is unaffected on all supported GPUs. Workaround: Use NVIDIA GB200, GB300, or H200, where completions are unaffected, when completion stop strings are required. Refer to Completion Stop Strings Are Not Honored.
kimi-k2.6/v1/responsesrequests with emptyinputon NVIDIA GB300 can exceed 60 seconds. Nonempty requests and NVIDIA B200, B300-SXM6-AC, GB200, and H200 are unaffected. Use nonempty input or an unaffected GPU if prompt completion is required; no fix is available for the affected case. Refer to Requests Exceed the Client Timeout.
kimi-k2.6supports text and image input only. Video input to/v1/chat/completionsreturns HTTP 500 on all supported GPUs with both NVFP4 TP4 and INT4 TP8 profiles. Workaround: Use text or image input; video input has no workaround in this release.
For
kimi-k2.6, the NVFP4 TP4 throughput profile for NVIDIA B200 (b197f6a800db21269b7388d2ea7d82cb0e66ed5c66d3278d7049a52c687f86fa) places a 200 GiB native CPU KV-offload pool in/dev/shm. The pool is backed by host memory, so the host needs at least 200 GiB of free memory for it. If/dev/shmis smaller than the pool, such as with Docker’s default size or--shm-size=16GB, the engine fails at startup withInsufficient space in /dev/shm for CPU KV offload shared region. The otherkimi-k2.6profiles do not use native KV offload. Workaround: For this profile, run the container with--shm-size=300g, the shared-memory size this release was validated with. The NIM Helm chart mounts/dev/shmas a memory-backed volume without a size limit, and Helm deployments of this profile started and served requests in this release’s testing. If you set asizeLimiton the/dev/shmvolume, such as the16Giin the KServe example, raise it to at least300Gi, and make sure any pod memory limit also leaves room for the 200 GiB pool.
For
kimi-k2.6, the NVFP4 TP4 throughput profile for NVIDIA GB200 (25868c0d2f0529d801a9e5aea19d16ae15cbed8e7d065dfcdbf8cdc2fd451d86) can intermittently fail at startup. During engine warmup, while FlashInfer autotunes its NVFP4 mixture-of-experts kernels, one tensor-parallel worker fails withCUDA error: unspecified launch failure. The other workers then stall, and the server neither exits nor becomes ready until it is stopped. Workaround: If the NIM does not become ready and its log shows this error, stop the container or pod and start the NIM again. In this release’s testing, a new start of this profile on a different NVIDIA GB200 system became ready and served requests. Restarting on the same system has not been validated.
llama-3.1-8b-instruct
llama-3.1-8b-instructNVFP4 TP1 (vllm-nvfp4-tp1-pp1) has higher single-request decode latency on NVIDIA RTX PRO 6000 Blackwell Server Edition and NVIDIA RTX PRO 4500 Blackwell Server Edition than in the previous release. At concurrency 1, inter-token latency is about 7-11% higher on RTX PRO 6000 and about 4% higher on RTX PRO 4500. Requests complete correctly, throughput at high concurrency is unchanged, and NVIDIA B200 and B300 are unaffected.
llama-3.3-nemotron-super-49b-v1.5
llama-3.3-nemotron-super-49b-v1.5NVFP4 TP1 on NVIDIA GB10 can exceed client timeouts for large generations while the server remains healthy. Chat and smaller or capped completions are unaffected. Workaround: Cap output, increase the client timeout, or use a faster GPU as described in Requests Exceed the Client Timeout.
For
llama-3.3-nemotron-super-49b-v1.5, the NVFP4 TP8 profile (vllm-nvfp4-tp8-pp1) has API and output-quality limitations on NVIDIA B200, NVIDIA B300-SXM6-AC, NVIDIA RTX PRO 4500 Blackwell Server Edition, and NVIDIA RTX PRO 6000 Blackwell Server Edition. On these GPUs, requests that uselogprobsortop_logprobscan return HTTP 400 or invalid log probabilities, and some requests can generate repetitive, unrelated text that runs to the token limit. Requests that setstopstrings, including requests that setinclude_stop_str_in_output, can then end with afinish_reasonoflengthwithout the requested stop string. On NVIDIA B200, long responses such as reasoning output are the most affected: in accuracy testing for this release, no response from this profile produced a usable answer. On NVIDIA B200 and NVIDIA B300-SXM6-AC, structured-output requests that useresponse_formatcan return HTTP 500, and Responses API requests to/v1/responsescan time out. The affected profile ID is3692d8d0a442c5c2b2e3bbad4fc55861b0f46ce5c90208444bfeff3f5750be98. This also affects prior releases. Workaround: Select another profile for your GPU from the Support Matrix for NIMs, and validate the required APIs and output quality before deployment. Settingmax_tokenslimits output length but does not restore output quality or stop-string termination.
Some
llama-3.3-nemotron-super-49b-v1.5profiles can fail to start at the default context length of 131,072 tokens on GPUs with insufficient available memory, because the KV cache cannot hold one request of that length. Affected combinations are FP8 TP1 with or without LoRA on NVIDIA H100 80GB HBM3 and NVFP4 TP2 with LoRA on NVIDIA RTX PRO 4500 Blackwell Server Edition. The FP8 TP1 combinations on NVIDIA H100 80GB HBM3 are not listed as verified configurations in the Support Matrix for NIMs. This also affects prior releases. Workaround: For NVFP4 TP2 with LoRA on NVIDIA RTX PRO 4500 Blackwell Server Edition, setNIM_MAX_MODEL_LENto a value that fits the available memory, or select another profile. For FP8 TP1 on NVIDIA H100 80GB HBM3, select a GPU and profile combination listed in the Support Matrix for NIMs. Validate the deployment after you change the context length.
During release 2.1.4 validation of
llama-3.3-nemotron-super-49b-v1.5with NVIDIA NIM Operator, recreating aNIMCacheresource with the same name intermittently prevented the deployment from becoming ready. The operator reported a missing cache pod during reconciliation. Workaround: Use a unique name for the newNIMCache, or wait for the previous cache and its resources to be fully removed before reusing the name.
mistral-small-4-119b-2603
Explicit
NIM_MODEL_PROFILEselection formistral-small-4-119b-2603bypasses GPU compatibility checks, so an unsupported or incorrect SKU profile can start and report healthy. Automatic selection still enforces the checks. Workaround: Use automatic selection or a profile thatlist-model-profilesreports as compatible. Refer to the Support Matrix for NIMs.
For
mistral-small-4-119b-2603,/v1/chat/completionsrequests return HTTP 400 when they specifychat_templateorchat_template_kwargs, includingenable_thinking. The Mistral tokenizer also requires tool-call IDs in the message history to contain exactly nine alphanumeric characters (a-z,A-Z, or0-9). Other IDs return HTTP 400. These restrictions also affect release 2.1.4. Workaround: Omit chat template overrides and use tool-call IDs that satisfy the tokenizer requirements.
For
mistral-small-4-119b-2603,/v1/chat/completionsrequests that set per-requestmedia_io_kwargsormm_processor_kwargsreturn HTTP 400 (Per-request media_io_kwargs are disabled by default. Start the server with --trust-request-mm-kwargs). The 2.1.5 server (vLLM 0.31.0) disables per-request multimodal kwargs by default; this is new relative to release 2.1.4. Default multimodal chat and completion requests are unaffected. Workaround: Omit per-requestmedia_io_kwargsandmm_processor_kwargsand use the model’s default media handling.
For
mistral-small-4-119b-2603,POST /inference/v1/generatereturns HTTP 404 on every tested profile and GPU in release 2.1.5. Release 2.1.4 has the same limitation. Workaround: Use/v1/completionsor/v1/chat/completionsfor generation.
For
mistral-small-4-119b-2603,/v1/chat/completionsrequests that force a tool call withtool_choiceset to"required"or to a named function can return HTTP 200 with a text answer and notool_callswhen the prompt does not itself ask for a tool. The text answer can continue untilmax_tokensis reached. Testing observed this on NVFP4 and FP8 profiles on every tested GPU in release 2.1.5, and less often in release 2.1.4. Requests withtool_choiceset to"auto"or"none"passed in testing. No workaround has been validated.
For
mistral-small-4-119b-2603, thevllm-nvfp4-tp4-pp1profile is not supported on NVIDIA B300-SXM6-AC and NVIDIA GB200 GPUs in this release, and these combinations are omitted from the Support Matrix for NIMs. On these GPUs, sustained chat traffic can delay/v1/health/readyresponses beyond a five-second probe timeout while chat requests continue to succeed. Testing observed this with 100 concurrent image chat requests on NVIDIA B300-SXM6-AC GPUs, and on NVIDIA GB200 GPUs in release 2.1.4. On NVIDIA B300-SXM6-AC GPUs, testing also observed it with 32 concurrent text requests of 2,000 input and 2,000 output tokens, in one of two test runs. When the liveness probe also targets/v1/health/ready, repeated probe failures can restart the pod and cause in-flight requests to fail with HTTP 500. Release 2.1.4 documented this issue as a known issue on these GPUs. Thevllm-nvfp4-tp4-pp1profile remains supported on NVIDIA B200, NVIDIA GB300, and NVIDIA RTX PRO 6000 Blackwell Server Edition GPUs.
For
mistral-small-4-119b-2603, sustained text traffic can delay/v1/health/readyresponses beyond a five-second probe timeout while chat requests continue to succeed. Testing observed this on thevllm-fp8-tp2-pp1profile on NVIDIA H200 GPUs and on the NVFP4 TP2 throughput profile with FP8 KV cache on NVIDIA B200 GPUs with 128 concurrent requests and a 131,072-token generation limit. When the liveness probe also targets/v1/health/ready, repeated probe failures can restart the pod and cause in-flight requests to fail with HTTP 500. Lower-concurrency workloads on the same profiles and GPUs completed. No workaround has been validated for these workloads.
For
mistral-small-4-119b-2603, the NIM does not apply its own NVFP4 profiles whenNIM_MODEL_PATHpoints to the NVFP4 checkpoint or to a model store created from an NVFP4 profile withcreate-model-store. The NVFP4 checkpoint uses the native Mistral format (params.jsonwith noconfig.json), so the NIM cannot read its weight precision and serves generic profiles instead. The NIM starts and reports ready, but the profile’s tuned settings are not applied: the context length is the checkpoint maximum of 1,048,576 tokens instead of 262,144, and the NVFP4 TP2 throughput profile on NVIDIA B200 GPUs runs without its FP8 KV cache and batching settings.list-model-profileslists only generic profile IDs, soNIM_MODEL_PROFILEcannot select the profile that was passed tocreate-model-store -p. This affects thevllm-nvfp4-tp1-pp1,vllm-nvfp4-tp2-pp1,vllm-nvfp4-tp4-pp1, andvllm-nvfp4-tp8-pp1profiles and the NVFP4 TP2 throughput profile on NVIDIA B200 GPUs. FP8 profiles and deployments that do not setNIM_MODEL_PATHare not affected. No workaround has been validated forNIM_MODEL_PATHdeployments of the NVFP4 profiles. Refer to Air-Gap Deployment.
For
mistral-small-4-119b-2603, whenNIM_REPOSITORY_OVERRIDEpoints to an S3 bucket, a single connection that drops while NIM downloads the model files at startup stops the download without a retry. The log showsDownload failed after 1 attemptswith an AWSDispatchFailurethat containsIncompleteMessage, followed byError downloading manifest, and the container exits before the server starts. The failure is intermittent: the same S3 repository override downloaded and served successfully on other test runs in this release. If startup fails with this error, start the container again. Refer to Model Download.
For
mistral-small-4-119b-2603,/v1/chat/completionsrequests that setresponse_formatto{"type": "json_object"}can return a JSON array instead of a JSON object. For this response format, the model server constrains output to either a JSON object or a JSON array. Testing observed a top-level array on every tested profile and GPU in release 2.1.5, and on most tested profiles and GPUs in release 2.1.4. No workaround has been validated.
For
mistral-small-4-119b-2603, sustained high-concurrency image chat traffic can delay/v1/health/readyresponses beyond a five-second probe timeout while chat requests continue to succeed. Testing observed this with 100 concurrent image chat requests on thevllm-nvfp4-tp2-pp1profile on NVIDIA B200 GPUs and on thevllm-nvfp4-tp4-pp1profile on NVIDIA B300-SXM6-AC GPUs, which is not supported on these GPUs in this release. Other profiles of this model were not tested under this load and can also be affected. When the liveness probe also targets/v1/health/ready, repeated probe failures can restart the pod and cause in-flight requests to fail with HTTP 500. No workaround has been validated.
For
mistral-small-4-119b-2603, thevllm-nvfp4-tp1-pp1profile is not supported on NVIDIA RTX PRO 6000 Blackwell Server Edition and is omitted from the Support Matrix for NIMs, but the container still includes this profile. If you select it withNIM_MODEL_PROFILEon that GPU, startup fails with a CUDA out-of-memory error while allocating the KV cache at the default maximum model length of 262,144 tokens. Workaround: Deploy on a GPU that the Support Matrix for NIMs lists for this model.
nemotron-3-nano
Some
nemotron-3-nano/v1/responsesrequests exceed 60 seconds: empty input on NVFP4 TP1/NVIDIA B200 or FP8 TP1 LoRA/NVIDIA H100-NVL, and a short nonempty prompt on NVFP4 TP1/NVIDIA GB300-WS. Completion with a longer timeout is unverified. Refer to Requests Exceed the Client Timeout for diagnosis.
The fused mixture-of-experts kernels used by
nemotron-3-nanosupport a maximum LoRA rank of 128. Setting--max-lora-rankabove 128 causes startup to fail with afused_moe_lora_one_shot supports max_lora_rank<=128assertion error, even when every deployed adapter has rank 128 or lower, because the configured value sizes the LoRA buffers before any adapter loads. This also affects prior releases. Workaround: Set--max-lora-rankto 128 or lower, and use adapters whose rank does not exceed it.
With dynamic LoRA enabled through
NIM_PEFT_REFRESH_INTERVAL,nemotron-3-nanocan fail to load an adapter whose files are still being copied intoNIM_PEFT_SOURCEwhen the directory watcher polls. The load fails with a safetensorsincomplete metadata, file not fully coverederror. On profiles with tensor parallelism of 2 or more, the next load attempt can report the same error even after the copy has finished. Workaround: Add an adapter folder toNIM_PEFT_SOURCEonly after all of its files are completely written, for example by copying it to a staging directory outsideNIM_PEFT_SOURCEon the same file system and then moving it intoNIM_PEFT_SOURCE. This workaround has not been validated in this release.
During release 2.1.4 validation of
nemotron-3-nanowith NVIDIA NIM Operator, recreating aNIMCacheresource with the same name intermittently prevented the deployment from becoming ready. The operator reported a missing cache pod during reconciliation. Workaround: Use a unique name for the newNIMCache, or wait for the previous cache and its resources to be fully removed before reusing the name.
nemotron-3-nano-omni-30b-a3b-reasoning
nemotron-3-nano-omni-30b-a3b-reasoningaccuracy on long-form reasoning workloads is not validated on NVIDIA B300-SXM6-AC for the NVFP4 TP1 profiles (vllm-nvfp4-tp1-pp1and the B300 throughput-optimized NVFP4 TP1 profile). The GPQA Diamond accuracy benchmark did not complete on either profile in this release. Under sustained long reasoning generation on NVIDIA B300-SXM6-AC,/v1/health/readycan take longer than 5 seconds to respond while/v1/chat/completionscontinues to return HTTP 200. If a deployment’s liveness probe targets/v1/health/readywith a short timeout, such as 5 seconds, the orchestrator can restart a server that is still processing requests. The NIM Helm chart’s default liveness probe uses/v1/health/liveinstead. Both NVFP4 TP1 profiles completed the shorter OCRBench accuracy benchmark on NVIDIA B300-SXM6-AC. The BF16 and FP8 profiles completed GPQA Diamond on NVIDIA B300-SXM6-AC in this release but also showed delayed/v1/health/readyresponses, so they can be affected. This also affects prior releases. Workaround: Point the liveness probe at/v1/health/live, or increase its timeout and failure threshold. This configuration has not been validated with the benchmark on NVIDIA B300-SXM6-AC. Alternatively, use NVIDIA B200, where all NVFP4 TP1 profiles completed the benchmark in this release. Refer to Requests Exceed the Client Timeout.
For
nemotron-3-nano-omni-30b-a3b-reasoning, video input on NVIDIA RTX PRO 4500 Blackwell Server Edition can stop the NIM server. While decoding a video request, the hardware video decoder reportscuvidMapVideoFrame(...) returned error 208, and the server process aborts instead of failing only that request. Requests in flight at that time fail. In this release’s testing, this occurred with both NVFP4 TP1 profiles on this GPU during the video-input API tests, and it did not occur on NVIDIA RTX PRO 6000 Blackwell Server Edition in the same tests. The same decoder error has also stopped other NIMs on other GPUs, so other GPUs can be affected.Affected Configurations
Profile ID prefix
Precision
Tensor parallel size
GPU
642f3562NVFP4
1
NVIDIA RTX PRO 4500 Blackwell Server Edition
b0c36da4NVFP4
1
NVIDIA RTX PRO 4500 Blackwell Server Edition
In this release’s testing, the server restarted in its pod and completed startup again within about 4 minutes. No workaround that prevents the abort has been validated.
For
nemotron-3-nano-omni-30b-a3b-reasoning, the generic NVFP4 TP1 profile (vllm-nvfp4-tp1-pp1, profile ID prefixb0c36da4) is not listed for NVIDIA RTX PRO 4500 Blackwell Server Edition in the Support Matrix for NIMs. If you pin this profile on that GPU, the NIM can intermittently fail to start withValueError: max_num_seqs (128) exceeds available Mamba cache blocks. Workaround: Use the default profile selection, which picks the RTX PRO 4500 throughput-optimized NVFP4 TP1 profile (642f356201892f339146d30c52e92ada94de23ac0914583dae769f3f15b84c51), or setNIM_MODEL_PROFILEto that profile ID.
nemotron-3-super-120b-a12b
nemotron-3-super-120b-a12brejects requests that set a nonzeromin_por a non-emptylogit_biaswith HTTP 400 on NVIDIA B200 with the NVFP4 TP4 throughput-optimized profile (6bd9e1c75425eeee3f8e0ebe562409116f3bd728e668c11c9d175a176a2da95e). This profile enables speculative decoding by default, and vLLM does not yet support these parameters with speculative decoding. Requests that omit them are unaffected. Workaround: SetNIM_MODEL_PROFILE=f7c0416d2f9ed6f6ca30634833156f1c9df0171955ed4c7213505569962c8323, the NVFP4 TP4 (vllm-nvfp4-tp4-pp1) profile. It runs without speculative decoding and without the throughput tuning of the optimized profile.
nemotron-3-super-120b-a12brejects requests that set a nonzeromin_por a non-emptylogit_biaswith HTTP 400 on NVIDIA H200 with the FP8 TP4 throughput-optimized profile (0e13d08b10121c8c2e41f03f6eb67fdf6f9261ba7e5a30e16f79709ff3622c6f). This profile enables speculative decoding by default, and vLLM does not yet support these parameters with speculative decoding. Requests that omit them are unaffected. Workaround: SetNIM_SPECDEC_ENABLE=0to disable speculative decoding on this profile.
nemotron-3-super-120b-a12bLoRA profiles, including the BF16 TP4 LoRA profile (vllm-bf16-tp4-pp1-lora), do not support--max-lora-rankvalues above 128 in this release, because the fused mixture-of-experts LoRA kernels support a maximum LoRA rank of 128. On NVIDIA H100-NVL with the BF16 TP4 LoRA profile,--max-lora-rank 256also exceeds GPU memory: startup fails during memory profiling withCUBLAS_STATUS_ALLOC_FAILED, even with a low-rank adapter, because the configured value sizes the LoRA buffers before any adapter loads. Workaround: Set--max-lora-rankto 128 or lower, and use adapters whose rank does not exceed it. LoRA buffer memory grows with both--max-lora-rankand--max-loras. On NVIDIA H100-NVL with the BF16 TP4 LoRA profile,--max-lora-rank 64with the default--max-lorasis validated;--max-lora-rank 128is not validated. Refer to Out of Memory During LoRA Adapter Allocation.
nemotron-3-ultra-550b-a55b
nemotron-3-ultra-550b-a55btext completions attemperature=0can repeat untilmax_tokenswithout emitting the requested stop string, in streaming and non-streaming modes. Affected GPUs are NVIDIA B200, B300-SXM6-AC, GB200, GB300, H100 80GB HBM3, H100-NVL, and H200, including optimized NVFP4 TP4 profiles. Workaround: Setmax_tokensto bound generated output; this does not correct the repetitive response.
For
nemotron-3-ultra-550b-a55b, the NIM does not apply its own NVFP4 profiles whenNIM_MODEL_PATHpoints to the NVFP4 checkpoint or to a model store created from an NVFP4 profile withcreate-model-store. The NIM cannot read the weight precision of this mixed-precision NVFP4 checkpoint, so it serves generic profiles instead. The NIM starts and reports ready, but the profile’s tuned settings are not applied: MTP speculative decoding is disabled, and the profile’s GPU memory utilization and maximum number of sequences fall back to generic defaults. This was observed with the NVFP4 TP4 throughput profiles on NVIDIA B200 and H200 GPUs and applies to every NVFP4 profile of this model. Deployments that do not setNIM_MODEL_PATHare not affected. No workaround has been validated forNIM_MODEL_PATHdeployments of the NVFP4 profiles. Refer to Air-Gap Deployment.
For
nemotron-3-ultra-550b-a55b, the NVFP4 profiles on NVIDIA B200, B300-SXM6-AC, GB200, and GB300 GPUs can intermittently fail at startup. During engine warmup, while FlashInfer autotunes its NVFP4 mixture-of-experts kernels, one tensor-parallel worker fails withCUDA error: unspecified launch failure. The server then either exits without becoming ready or stalls until it is stopped. In this release’s testing of this model, this occurred once, on NVIDIA B200, with the NVFP4 TP4 throughput profile (9d06a0e06444481c655310f7521afda72b34916d99427c3264c99c081aa2be5c), and was not observed on the other GPUs. Workaround: If the NIM does not become ready and its log shows this error, stop the container or pod and start the NIM again. In this release’s testing, a new start of the same build on a different NVIDIA B200 system became ready and served requests. Restarting on the same system has not been validated.
nemotron-3.5-content-safety
For
nemotron-3.5-content-safety, some/v1/chat/completionsrequests with image input return HTTP 500 instead of a response or an HTTP 400 error. This was observed with streaming and non-streaming requests that contain two or more images (requests with 2 and with 10 images were tested) and with requests whose message contains an image but no text part. A non-streaming multi-turn request whose first user turn contained one image and a text prompt also returned HTTP 500; the same request with streaming returned HTTP 200. Single-turn requests with one image and a text prompt returned HTTP 200 in both modes. In this release, image input was tested only with the BF16 TP1 profile for NVIDIA A100-SXM4-40GB (ecc0c366), so profiles for other GPUs can also be affected. No workaround has been validated.
nemotron-3.5-lightning
nemotron-3.5-lightningBF16 TP1 (vllm-bf16-tp1-pp1) on NVIDIA GB10 can take much longer to start than on NVIDIA H100-80GB-HBM3, and the startup time varies from run to run with the same configuration. In this release’s testing on NVIDIA GB10 with default settings, the server took between about 15 and 35 minutes to become ready, compared with under 3 minutes on NVIDIA H100-80GB-HBM3. A large and variable part of this time is spent while the inference engine allocates memory for the KV cache. In this release’s testing, API requests succeeded once the server was ready, but accuracy on NVIDIA GB10 was not validated for this profile. Workaround: If your deployment sets its own startup probe or readiness timeout, allow at least as long as the NIM Helm chart’s default startup probe, about 60 minutes, which is longer than any startup observed in this release’s testing.
nemotron-parse-v2.0
On
nemotron-parse-v2.0, an optical character recognition (OCR) request with a blank or empty input image can return a successful (200) response that contains hallucinated document content, such as a fabricated title and garbled body text, instead of an empty result. This was observed on NVIDIA A100 80GB, B200, GB200, H100 80GB HBM3, H200, and L40S GPUs, and it also affects prior releases. No workaround has been validated.
qwen3.5-122b-a10b
qwen3.5-122b-a10bforced-tool requests can return HTTP 200 with emptytool_calls. Affected GPUs include NVIDIA B200, GB200, H200, and H100 80GB HBM3. Most forced requests succeed, and unforced selection is unaffected. Workaround: Usetool_choice=autoif optional tool selection is acceptable. Refer to A Forced Tool Call Is Missing.
qwen3.5-122b-a10bsupports text and image input only. Video input is unsupported on all GPUs and profiles in this release. During validation, video requests to/v1/chat/completionsthat included a 4K video could trigger an unrecoverable NVDEC error (cuvidMapVideoFramereturned error 208) that terminated the server on NVIDIA H100-80GB-HBM3, H200, RTX PRO 4500 Blackwell Server Edition, and RTX PRO 6000 Blackwell Server Edition with BF16, FP8, and NVFP4 profiles. Workaround: Use text or image input.
qwen3.5-122b-a10bNVFP4 TP8 LoRA (vllm-nvfp4-tp8-pp1-lora) exhausts GPU memory at startup on NVIDIA RTX PRO 4500 Blackwell Server Edition when started with--max-loras 8(rank 16) or with--max-lora-rank 256. Workaround: Use the default LoRA settings, which work on this GPU, as do--max-loras 2at rank 16 and--max-lora-rank 64with one adapter slot (--max-loras 1). Refer to Out of Memory During LoRA Adapter Allocation.
qwen3.5-122b-a10breturns HTTP 404 for/inference/v1/generateon all profiles and GPUs. This limitation also affects release 2.1.4. Workaround: For text generation, use/v1/chat/completionsor/v1/completionsinstead.
qwen3.5-397b-a17b
qwen3.5-397b-a17bchat requests withtool_choice=requiredor a named function can return HTTP 200 with emptytool_callsacross multiple profile and GPU combinations. Workaround: Usetool_choice=autoif optional tool selection is acceptable. Refer to A Forced Tool Call Is Missing.
qwen3.5-397b-a17bNVFP4 TP4 on NVIDIA B200 returned reasoning without a final answer for an image chat request withtemperature=0.7,frequency_penalty=0.5,presence_penalty=0.5, andmax_tokens=2000. The HTTP 200 response hadcontent=nullandfinish_reason=stop.
For
qwen3.5-397b-a17b, the NVFP4 TP2 throughput profilesvllm-nvfp4-b200-tp2-throughput(NVIDIA B200,f2475206) andvllm-nvfp4-h200-tp2-throughput(NVIDIA H200,9fff2d89) place a native CPU KV-offload pool in/dev/shm: 160 GiB on NVIDIA B200 and 100 GiB on NVIDIA H200. The pool is backed by host memory. With a smaller shared-memory size, such as--shm-size=16GB, the engine fails at startup withInsufficient space in /dev/shm for CPU KV offload shared region. Workaround: For these two profiles, run the container with--shm-size=200gon NVIDIA B200 or--shm-size=128gon NVIDIA H200, or with--ipc=host. On Kubernetes, size the shared-memory volume mounted at/dev/shmthe same way. These are the shared-memory sizes this release was validated with.
qwen3.5-397b-a17bsupports text and image input only. Video input is unsupported on all GPUs and profiles. In this release’s testing on NVIDIA H200, video input triggered an unrecoverable NVDEC error that terminated the server.
qwen3.5-397b-a17bcan fail to become ready on its first Kubernetes deployment with the NIM Helm chart’s default startup probe when the model cache is empty. The NIM downloads the selected profile from NGC inside the main container, and the chart’s default startup probe (initialDelaySeconds: 60,periodSeconds: 30,failureThreshold: 120, about 61 minutes) restarts the container if the download and model load have not finished by then. The model artifacts are about 251 GB for NVFP4 profiles, 406 GB for FP8 profiles, and 807 GB for BF16 profiles. In this release’s testing, model loading took about 11 minutes on NVIDIA GB300 once the cache was populated, so a cold deployment of an NVFP4 profile needs roughly 670 Mbit/s of sustained download throughput (FP8 about 1.1 Gbit/s, BF16 about 2.2 Gbit/s) to finish within the default window. In the affected test runs, files downloaded before a restart were downloaded again after it, and the deployment did not become ready. Workaround: Pre-populate the model cache volume for the selected profile before deploying, and sizepersistence.sizefor the profile; the chart default of 50Gi is too small for this model. RaisingstartupProbe.failureThresholdso thatinitialDelaySeconds + failureThreshold × periodSecondsexceeds the expected download time has not been validated in this release.
qwen3.5-397b-a17breturns HTTP 404 for/inference/v1/generateon all profiles and GPUs. This limitation carries forward from release 2.1.4. Workaround: For text generation, use/v1/chat/completionsor/v1/completionsinstead.
For
qwen3.5-397b-a17b, the profiles that enable MTP speculative decoding reject requests that setmin_porlogit_biaswith HTTP 400 (The min_p and logit_bias sampling parameters are not yet supported with speculative decoding). These profiles arevllm-nvfp4-b200-tp2-throughput(NVIDIA B200),vllm-nvfp4-h200-tp2-throughput(NVIDIA H200),vllm-fp8-h200-tp4-pp1-image-text-throughput(NVIDIA H200), andvllm-nvfp4-gb300-tp4-pp1-image-text-throughput(NVIDIA GB300). Workaround: Omitmin_pandlogit_biasfrom requests to these profiles.
SGLang Model-Free NIM
In the SGLang Model-Free NIM,
download-to-cache --allwith a remoteNIM_MODEL_PATH, such as anhf://URI, downloads the same checkpoint once for each generated profile. This repeats the transfer of the model weights and can cause cache preparation jobs to exceed their time limits. This also affects Kubernetes and KServe jobs that run this command, and it also affects release 2.1.4. Workaround: Instead of--all, download only the profile that you deploy by runningdownload-to-cache -p <PROFILE_HASH>with the sameNIM_MODEL_PATH, using a profile hash fromlist-model-profiles. This transfers the checkpoint once. Serving from a cache prepared this way has not been validated for this NIM in this release. For air-gapped systems, you can also use a local model directory as described in Model-Free NIM with a Local Path.
In the SGLang Model-Free NIM, explicitly selecting a generic profile with
NIM_MODEL_PROFILEcan fail to start with a CUDA out-of-memory error during CUDA graph capture, even thoughlist-model-profilesreports the profile as compatible. The generic profile starts SGLang with a static memory fraction of 0.92 and the model’s default context length, and too little GPU memory remains for graph capture. This was observed withnvidia/GLM-5.3-NVFP4and the generic TP4 profile (sglang-tp4-pp1) on four NVIDIA B200 GPUs, and withzai-org/GLM-5.3and the generic TP2 PP4 profile (sglang-tp2-pp4) on eight NVIDIA H200 GPUs. For these models on these GPUs, automatic profile selection is not affected: it selects the tuned NVIDIA B200 NVFP4 TP4 throughput profile and the tuned NVIDIA H200 FP8 TP8 throughput profile, respectively, and each starts and serves requests. Workaround: Fornvidia/GLM-5.3-NVFP4on four NVIDIA B200 GPUs andzai-org/GLM-5.3on eight NVIDIA H200 GPUs, leaveNIM_MODEL_PROFILEunset so that the NIM selects the tuned profile automatically.
vLLM Model-Free NIM
When the vLLM Model-Free NIM serves
gpt-oss-20b, streaming and non-streaming/v1/chat/completionsrequests that setstopstrings can keep the matched stop string in the returnedreasoningorcontentfield, even wheninclude_stop_str_in_outputisfalseor omitted. If the stop string matches while the model is still reasoning, the response can return no answer (contentisnull). This was observed on every GPU tested and also affects prior releases. No workaround is validated. Do not assume that a requested stop string is excluded from either field.
In the vLLM Model-Free NIM,
download-to-cache --allwith a remoteNIM_MODEL_PATH, such as anngc://URI, downloads the same checkpoint once for each generated profile. This repeats the transfer of the model weights and can cause cache preparation jobs to exceed their time limits. This also affects Kubernetes and KServe jobs that run this command. Workaround: Instead of runningdownload-to-cache --all, start NIM on a system with network access withNIM_MODEL_PATHset and a persistent cache volume. At startup, NIM fetches the model files only for the selected profile and reuses them from the cache on later restarts. For air-gapped systems, use a local model directory as described in Model-Free NIM with a Local Path. Startup from an empty cache has not been validated as a replacement for cache preparation jobs in this release.
The following known issues apply to variant containers that NVIDIA released
separately from release 2.1.5: the qwen3.8-27b, glm-5.3-flash, and
Qwen3.8-Flash-Next containers built on release 2.1.4, the experimental
SGLang Model-Free NIM container for MiniMax M3.1 Flash, and the
experimental vLLM Model-Free NIM container for Kimi K3.1 Pro. They
do not describe the release 2.1.5 containers.
For MiniMax M3.1 Flash served by the experimental SGLang Model-Free NIM container
2.1.7-variant,json_schemaoutput can contain incorrect values or incomplete JSON when a field type differs from the model’s natural answer. Workaround: Match schema field types to the expected answer, such as usingintegerfor an integer result.
For Kimi K3.1 Pro,
/openapi.jsonadvertisesPOST /generative_scoring. Earlier development builds returned HTTP 404 for this endpoint. NIM2.1.6-variant-kimi-k3.1-proincludes a fix.
For Kimi K3.1 Pro, a readiness
GET /v1/health/readyrequest sent with a JSON body can cause the nextGET /v1/metricsrequest to return HTTP 400. NIM2.1.6-variant-kimi-k3.1-proincludes a fix. Workaround: Send readiness probes without a request body. Refer to Kimi K3.1 Pro.
For Kimi K3.1 Pro on NIM
2.1.6-variant-kimi-k3.1-pro, audio and video input andNIM_DISABLE_MODEL_DOWNLOADare not supported. The environment variable is deprecated for this model and release; it must not be used to prevent checkpoint-file writes. Mount the downloaded checkpoint read-only. Refer to Kimi K3.1 Pro.
On
qwen3.8-27b, the image pins--max-num-seqs 256in its defaultNIM_PASSTHROUGH_ARGS. The cap is required: without it, vLLM selects 1,024 on GPUs with 70 GB or more of memory, the Mamba cache of this hybrid model runs out of blocks, and the server fails at startup withmax_num_seqs exceeds available Mamba cache blocks. Passthrough arguments take precedence over the values a profile declares, so the optimized profiles run at 256 instead of their own: 24 for B200 NVFP4 TP1 and B200 FP8 TP2, 48 for B200 BF16 TP2, 22 for H200 NVFP4 TP2, and 32 for H200 FP8 TP2 and H200 BF16 TP2. Workaround: To use the value a profile declares, append--max-num-seqs <value>to the container command after the image name (for exampledocker run ... nvcr.io/nim/qwen/qwen3.8-27b:2.1.4-variant --max-num-seqs 24), which overrides the cap and keeps every other flag the image sets. Do not setNIM_PASSTHROUGH_ARGSinstead. A user value replaces the whole default string, and without--exclude-tools-when-tool-choice-none,tool_choice: "none"requests return empty content again. Run the container with--dry-runto confirm the effective value, which must not exceed the available Mamba cache blocks.
On
qwen3.8-27b, a fatal startup error, such as an invalidNIM_MODEL_PROFILEvalue or a profile that is not compatible with the GPU, stops the container with exit status 0 instead of a non-zero status. A script or orchestrator that checks only the exit status does not detect the failure. Workaround: Check the container log forNIM-LLM process diedand the error message that precedes it. A fix is planned for a later release.
On
qwen3.8-27b, time to first token rises sharply at concurrency 64 or higher on long-prefill workloads (8K and 64K input) on NVIDIA L40S, NVIDIA A100 40GB, and NVIDIA RTX PRO 4500 Blackwell Server Edition GPUs. Throughput at concurrency 32 or lower is at parity with a standalone vLLM deployment. Workaround: Keep concurrency at 32 or lower per GPU set on these GPUs or add replicas.
glm-5.3-flashdoes not support NVIDIA RTX PRO 6000 Blackwell, RTX PRO 4500 Blackwell, A100, L40S, GH200, A10G, or GB10. SGLang 0.5.20 has no sparse-attention (DSA) backend for the RTX PRO Blackwell architecture, the sparse-attention kernels need Hopper (SM90) or newer, the Arm64 SGLang package omits the FlashAttention 3 kernels that GH200 decoding uses, and the model does not fit in GPU memory on one A10G or GB10 node. Workaround: Use a GPU listed in GLM-5.3-Flash.
glm-5.3-flashdoes not support multi-node deployment. Workaround: Use a single-node GPU configuration from GLM-5.3-Flash.
For
glm-5.3-flash, video input is not validated. Workaround: Use text or image input.
For
glm-5.3-flash, the throughput-optimized NVFP4 profile on four NVIDIA GB200 GPUs keeps 100 GB of KV cache per GPU in host memory. Workaround: Provide about 400 GB of free host RAM and run the container with--shm-size=64g.
For
glm-5.3-flash, reasoning cannot be turned off. Settingchat_template_kwargs.enable_thinkingtofalsehas no effect, and reasoning tokens count towardmax_tokens. Workaround: To shorten reasoning, setreasoning_efforttolow. At the default effort, use amax_tokensof at least 8192. Refer to Control Reasoning.
For
glm-5.3-flash,stopsequences also match text in the reasoning. If a stop sequence appears while the model is reasoning, the response ends before the answer andcontentis empty. Workaround: Choose stop sequences that are unlikely to appear in the reasoning, or checkcontentbefore using the response.
For
glm-5.3-flash, when generation stops at a string fromstop_sequences, the Anthropic Messages API (/v1/messages) reportsstop_reasonasend_turninstead ofstop_sequenceand omits thestop_sequencefield. This affects streaming and non-streaming requests. Generation still stops before the matched string. Workaround: To detect which stop sequence matched, use/v1/chat/completionswithstop, which reports the matched string inmatched_stop.
For
glm-5.3-flash, a Responses API (/v1/responses) request that includes an image and omitsmax_output_tokensreturns HTTP 400 with a context-length error. Workaround: Setmax_output_tokenson Responses API requests that include images.
For
Qwen3.8-Flash-Next, the tuned FP8 recipes for NVIDIA B200 and NVIDIA H200 select tensor parallel 2 and expert parallel 2 with MTP speculative decoding and use two GPUs. Do not setNIM_TENSOR_PARALLEL_SIZEand do not pass the--tensor-parallel-sizeflag for these recipes; the image sets neither. A value ofNIM_TENSOR_PARALLEL_SIZE=4, or the flag--tensor-parallel-size 4appended to the container command, overrides the recipe’s tensor-parallel size but keeps its expert-parallel size, and the NIM exits at startup withValueError: expert_parallel_size (2) must be divisible by tensor_parallel_size (4) to derive data_parallel_size. Workaround: Remove (unset)NIM_TENSOR_PARALLEL_SIZEfrom the deployment environment and remove--tensor-parallel-sizefrom the container command. Reducing the number of visible GPUs does not clear the override. With the variable unset and the flag removed, the NIM starts with 2 or 4 visible GPUs and applies the recipe parallelism. Other GPUs this model supports are unaffected.
For
Qwen3.8-Flash-Next, the NVIDIA H200 tuned FP8 recipe (TP2, EP2, MTP, two GPUs) trades time to first token (TTFT) for throughput above a concurrency of 64. Measured with a chat workload (2,000 input / 2,000 output tokens, greedy decoding), aggregate output throughput is 3,143 tokens/s at concurrency 32 (TTFT p50 0.19 s) and 4,072 tokens/s at 64 (TTFT p50 1.8 s). At concurrency 128 and 256, throughput rises only to 4,309 and 4,344 tokens/s while TTFT p50 rises to 30 s and 88 s. Image workloads behave the same way.
For
Qwen3.8-Flash-Next, the vLLM Model-Free NIM image setsNIM_PASSTHROUGH_ARGSto--reasoning-parser qwen3 --enable-auto-tool-choice --tool-call-parser qwen3_coder --max-num-seqs 256 --no-enable-log-requests --disable-uvicorn-access-log --exclude-tools-when-tool-choice-none. ANIM_PASSTHROUGH_ARGSvalue set in the container environment replaces this whole string instead of extending it. A replacement that omits the default flags drops the reasoning parser, the tool-call parser,--exclude-tools-when-tool-choice-none, and the two logging flags. Without the parsers, the NIM returns reasoning text incontentinstead ofmessage.reasoning, and a request withtoolsreturns HTTP 400"auto" tool choice requires --enable-auto-tool-choice and --tool-call-parser to be set. Without the two logging flags, image-request throughput is lower. Workaround: If you setNIM_PASSTHROUGH_ARGS, start from the full default string and append your flags to it. To add one flag and keep the rest, append the flag to the container command after the image reference instead (for exampledocker run ... ${NIM_LLM_IMAGE} --max-num-seqs 128). Run the container with--dry-runto print the effectivevllm servecommand and confirm the flags. To restore per-request log lines, add--enable-log-requests. Request-level visibility also remains available through the nginx access log and theX-Request-Idheader. Refer to Logging and Observability.
For
Qwen3.8-Flash-Next, the Docker default shared memory of 64 MB is too small for the tuned FP8 recipes for NVIDIA B200 and NVIDIA H200 (tensor parallel 2). The container logsInsufficient space in /dev/shmand stops. Workaround: Add--shm-size=16GBtodocker run.
For
Qwen3.8-Flash-Next, a fatal startup error, such as too little shared memory, a missingNIM_MODEL_PATH, an unsupported tensor-parallel override, or an unknownNIM_MODEL_PROFILEvalue, logs an error but stops the container with exit status 0 instead of a non-zero status. A--dry-runprintsNIM-LLM process died (exit code: 0)after a successful dry run. Restart policies, Kubernetes Jobs, and CI pipelines that check only the exit status treat the failed start as a success. Workaround: Check the container log forERRORlines and poll/v1/health/readyinstead of relying on the exit status.
For
Qwen3.8-Flash-Next, whenNIM_MODEL_PATHpoints to a Hugging Face repository that cannot be resolved (for example, a typo in the name, or no access with HTTP 401 or 404) and the cache directory already holds a model, the NIM logs a WARNING that it falls back to the cached manifest, reaches ready, and serves the cached model under the configuredNIM_SERVED_MODEL_NAME./v1/metadatareports the URI of the cached model, not the requested one. Workaround: Check the startup log forfalling back to the cached manifestand compare the model URI in/v1/metadatawith the intended model. Use a separate cache directory for each model.
For
Qwen3.8-Flash-Next,NIM_MODEL_PROFILErejects generic profile names, such asvllm-fp8-tp2-pp1, and the valuedefaultwithno matching profile_id or profile description is found in manifest. Only a profile ID from the Support Matrix for NIMs or the full profile description (for examplevllm-nvidia-b200-fp8-tp2-pp1-ep2-throughput-2901:10de-2-1) is accepted. Thelist-model-profilesanddownload-to-cachecommands fail withCould not determine path of NIM manifestwhenNIM_MODEL_PATHis not set. Workaround: SetNIM_MODEL_PROFILEto the profile ID for your GPU from the Support Matrix for NIMs, or read the profile description from--dry-runor/v1/metadataand pass it in full. SetNIM_MODEL_PATHbefore you run the helper commands.
For
Qwen3.8-Flash-Nextrunning on an H200 NVL GPU with the FP8 profile (TP4), long-context throughput (64k input / 400 output) is 17% to 26% below plain vLLM at concurrency 4 to 32. Short-context (8k/1k), chat and image workloads on this SKU are at parity or faster.
For information about past updates and older versions, refer to the previous release notes.