ML Training Failure Encyclopedia
Every failure class Denpex diagnoses. With the root cause, the exact fix, and how to prevent it. Searchable, referenceable, and built from thousands of real distributed training incidents.
Environment
90Python Path Conflict
mediumPython path conflicts cause wrong module versions to be loaded, leading to subtle bugs and errors....
HuggingFace Tokenizers Rust Error
mediumHuggingFace tokenizers library uses Rust backend, which can fail with native errors not visible in Python traceback....
Python Multiprocessing Fork Issue
mediumPython multiprocessing fork issues cause CUDA context conflicts and worker process deadlocks....
Python Version Mismatch
mediumPython version mismatches between training and inference cause subtle bugs from library incompatibilities....
OpenMPI / MPI Issue
mediumOpenMPI and general MPI issues cause distributed training to fail at initialization or hang during collectives....
HuggingFace Hub Error
mediumHuggingFace Hub errors occur when downloading models or datasets fails due to auth, network, or rate limits....
SSH Key Authentication Issue
mediumSSH key authentication issues prevent passwordless login for distributed training and remote execution....
Conda Environment Conflict
mediumConda environment conflicts cause package version mismatches, broken dependencies, and hard-to-debug import errors....
PyTorch CUDA Mismatch
highPyTorch CUDA version mismatch with installed CUDA toolkit/driver causes import errors or runtime failures....
Libc Version Mismatch
mediumLibc (glibc, musl) version mismatches between training and deployment cause binary incompatibility and runtime errors....
Docker Image Mismatch
mediumDocker image mismatches between dev and production cause code to behave differently due to library versions, CUDA, or system dependencies....
GCC Version Mismatch
mediumGCC version mismatches cause C++ extension compilation failures and runtime library incompatibilities....
SSL Certificate Error
mediumSSL certificate errors prevent downloading models, datasets, or connecting to APIs in ML training pipelines....
Ulimit Too Low
mediumLow ulimit values (open files, max processes) cause data loading failures and parallel training issues....
Environment Variable Not Set
lowMissing environment variables (CUDA_VISIBLE_DEVICES, HF_TOKEN, MASTER_ADDR) cause silent failures or wrong behavior....
Connection Timeout
mediumConnection timeouts prevent model downloads, data fetches, and inter-node communication from completing....
Timezone / UTC Mismatch
lowTimezone mismatches cause confusion in distributed training logs, scheduled jobs, and time-based events....
Docker GPU Passthrough Error
highDocker containers fail to access GPUs when nvidia-docker or GPU passthrough is not properly configured....
Docker Permission Error
mediumDocker permission errors prevent containers from accessing required resources like GPUs, files, or network....
Python Import Error
mediumPython import errors prevent training from starting when modules cannot be loaded....
Type Error (Python)
mediumPython type errors crash training when incompatible types are used in operations....
Value Error (Python)
mediumPython value errors crash training when functions receive values of correct type but inappropriate value....
Key Error (Python Dictionary)
mediumPython key errors crash training when accessing dictionary keys that don't exist....
Attribute Error (Python)
mediumPython attribute errors crash training when accessing attributes that don't exist on objects....
Index Error (Python)
mediumPython index errors crash training when accessing list/tuple indices that don't exist....
PyTorch Hub Error
mediumPyTorch Hub errors prevent loading pretrained models or datasets from torch.hub....
PyTorch CUDA Error (Generic)
highGeneric PyTorch CUDA errors indicate various GPU-related issues that prevent training....
Torchvision Error
mediumTorchvision errors prevent loading pretrained vision models or using vision transforms....
Transformers Version Mismatch
highTransformers version mismatches between training and inference cause subtle bugs and performance regressions....
Unsloth Studio Streaming Chat Crashes on Python 3.13 (anyio cancel scope)
highStreaming chat completions from Unsloth Studio's OpenAI-compatible endpoint crash with a RuntimeError about exiting a cancel scope in a different task, on macOS with Python 3.13. The anyio/Starlette s...
No Matching Distribution Found for bitsandbytes on macOS
mediumInstalling a QLoRA/4-bit training stack (Axolotl, TRL, Unsloth) on macOS fails with 'No matching distribution found for bitsandbytes==0.43.0'. bitsandbytes historically shipped only CUDA Linux/Windows...
DeepSpeed ImportError: '_disable_dynamo_if_unsupported' is not defined
highImporting DeepSpeed fails with NameError/ImportError for _disable_dynamo_if_unsupported because DeepSpeed references a torch internal symbol absent from the installed torch version. Aligning the torch...
DeepSpeed async_io/aio Won't Compile on Windows
mediumInstalling DeepSpeed on native Windows fails building the async_io op because it depends on Linux libaio, which has no Windows equivalent. DeepSpeed targets Linux; use WSL2 or a Linux host, or build w...
DeepSpeed ImportError: cannot import '_get_socket_with_port' from torch.distributed.elastic
highDeepSpeed import/launch fails with 'cannot import name _get_socket_with_port from torch.distributed.elastic.agent.server.api' because DeepSpeed uses a torch internal symbol that was renamed/removed in...
UnicodeDecodeError Importing Unsloth on Windows (missing encoding=utf-8)
mediumImporting Unsloth on Windows fails with a UnicodeDecodeError because an internal open() omitted encoding='utf-8' and Windows defaults to cp1252. Upgrade Unsloth (now passes the encoding), or set PYTHO...
Axolotl ModuleNotFoundError After a Successful pip Install
mediumA git/editable install of Axolotl reports success, but importing axolotl or running accelerate launch -m axolotl.cli.train fails with ModuleNotFoundError. The src-layout package never landed on the pa...
Megatron @jit_fuser Fails: 'Unknown type constructor Sequence'
mediumtorch.jit.script on a Megatron @jit_fuser-decorated function fails with 'Unknown type constructor Sequence' on newer torch. TorchScript can't resolve typing.Sequence as used inside the fused function....
DeepSpeed cpu_adam Build Fails: 'cusolverDn.h: No such file or directory'
mediumBuilding DeepSpeed's cpu_adam op fails with 'fatal error: cusolverDn.h: No such file or directory' and 'Error building extension cpu_adam'. PyTorch's conda package shipped its own nvcc that shadows th...
DeepSpeed Windows Build Fails (LNK1181 aio.lib / missing stdint)
lowBuilding a DeepSpeed wheel on Windows 11 fails with 'LINK : fatal error LNK1181: cannot open input file aio.lib' and header compile errors. async_io/libaio is Linux-only and some headers don't compile...
Import / Environment Error
mediumImport and environment errors crash training at startup due to missing or mismatched dependencies....
PyTorch / CUDA / cuDNN Version Mismatch
highVersion mismatches between PyTorch, CUDA, and cuDNN cause cryptic errors....
CUDA Driver / Runtime Mismatch
highCUDA driver and runtime version mismatches prevent PyTorch from initializing CUDA....
PyTorch Not Compiled With CUDA
highPyTorch installed without CUDA support prevents GPU training entirely....
Container CUDA Runtime Mismatch with Host Driver
highThe containerized CUDA runtime fails to execute kernels because the host NVIDIA driver is too old to support it....
Apptainer/Singularity --nv GPU Binding Failures
mediumHPC containers lose GPU access when --nv cannot locate host driver libraries (nonstandard driver install paths, missing nvidia-container-cli, ldconfig cache staleness) or when overlay mounts fail on k...
Misaligned TCPStore and NCCL Initialization Timeouts
mediumDuring init_process_group, PyTorch uses a TCPStore to exchange initial connection information (like ncclUniqueId). The default timeout for TCPStore is often shorter than the NCCL watchdog or the time ...
Thermal-Induced ECC Throttling causing NCCL timeouts
mediumPoor airflow or a dried-out thermal pad on the HBM stack causes the memory to overheat. High temperatures exponentially increase the rate of transient single-bit flips. The hardware ECC engine correct...
DataLoader Deadlock from Silent Worker OOM
criticalWhen a PyTorch DataLoader worker exceeds available memory (often due to small Docker `/dev/shm`), it is silently killed by the OS OOM killer. The parent process is waiting on a multiprocessing Queue f...
PyTorch vs System CUDA Compilation Mismatch
highFlashAttention compiles custom CUDA kernels during installation via `setup.py`. It queries PyTorch for its compiled CUDA version (`torch.version.cuda`) and compares it against the system's `nvcc` comp...
Pre-built Wheel Undefined Symbol Error
highThe user installed a pre-built wheel of `flash-attn` compiled against a specific PyTorch and CUDA version (e.g., PyTorch 2.1.0 + cu118), but their runtime environment has a different PyTorch version (...
FlashAttention Build Hang / OOM due to missing Ninja
highBuilding FlashAttention requires compiling massive CUDA templates. If the `ninja` build system is not installed, `setuptools` falls back to standard sequential compilation, which takes hours. Furtherm...
Topology Graph Override Mismatch
highAn environment variable forces NCCL to use a static topology XML file that does not match the actual hardware layout of the dynamically allocated compute node....
Triton Compiler FlashAttention Fallback Failure
mediumThe FlashAttention kernel hits a hardware capability block (e.g., unsupported SM version) and initiates a fallback path. The fallback Python code attempts to parse metadata that was never instantiated...
NCCL Shared Memory Namespace Error
highDisplays as 'Call to open failed: No such file or directory' for /dev/shm. Caused by container environments lacking NUMA support or adequate shared memory limits....
trtllm-build fails because an optimization profile has a minimum dimension above its optimum
highTensorRT requires min to be less than or equal to opt, and opt less than or equal to max, for every dynamic dimension in an optimization profile. The engine build aborts when TensorRT-LLM derives a pr...
TensorRT-LLM rejects FP8 quantization on a GPU below compute capability 8.9
highFP8 in TensorRT-LLM requires hardware FP8 tensor cores, which exist from compute capability 8.9 onward. A build targeting an Ampere device such as the A100, which reports compute capability 8.0, is re...
vLLM crashes initialising an NVFP4 model because the emulation lookup table stays on the CPU
highWhen no hardware NVFP4 backend is available, vLLM falls back to an emulation path that unpacks four-bit values through a small constant lookup table. The table is indexed by a tensor that lives on the...
TensorRT-LLM fails at model init because the FlashInfer FMHA kernel has no build for the GPU architecture
criticalTensorRT-LLM delegates fused attention to FlashInfer, whose FMHA runner is compiled for a specific set of architectures. On a device outside that set the runner raises an unsupported-architecture erro...
TensorRT-LLM serving fails with an AttributeError from the FlashInfer attention backend
criticalThe FlashInfer attention backend inside TensorRT-LLM reads fields from an attention metadata object that the release bundled beside it does not define. Serving fails with a plain Python AttributeError...
TensorRT-LLM conversion and build scripts fail after NumPy is upgraded inside a pinned container
highNGC containers ship a set of extensions compiled against a specific NumPy major version. Installing anything that pulls a newer NumPy replaces the runtime those extensions were built for, and the next...
Python 3.13 cannot pickle code objects, so a distributed job reports the wrong failure
mediumAn interpreter upgrade changes what pickle will serialise, and traceback objects stop qualifying. Any machinery that ships an exception between ranks then fails while packing it, so the error the clus...
accelerate CannotDynamicallyBSZError Batch size must stay constant across gradient accumulation
mediumBatch size changed between gradient accumulation micro-steps. Accumulation sums gradients across micro-batches before one optimizer step, so a varying batch silently reweights the average. Accelerate ...
CUDA error: invalid configuration argument awq_gemm_kernel grid block dimensions exceed SM limit
mediumThe AWQ GEMM kernel was launched with a grid or block configuration the device rejects. AWQ kernels assume shapes divisible by their tile size; an unusual hidden dimension or a batch of 1 can produce ...
NaN Inf loss detected in flash_attn_varlen_func with autocast fp16
mediumFlashAttention produced non-finite values under FP16 autocast. Overflow can originate in the inputs, attention logits, scaling, or an unsupported kernel path, so the first non-finite tensor determines...
ExLlamaV2 kernels do not support act-order desc_act with group_size
mediumThe ExLlama kernel cannot serve this GPTQ checkpoint: act-order (desc_act=True) combined with a grouped quantization is unsupported by that kernel path. The model is fine; the kernel choice is not. Th...
bitsandbytes was compiled without GPU support libbitsandbytes_cuda.so could not be loaded
mediumbitsandbytes loaded its CPU-only build, or the CUDA build it selected does not match the installed toolkit or the GPU architecture. Quantized (8-bit / 4-bit) paths silently fall back or fail outright....
bitsandbytes matmul_4bit CUDA error: no kernel image is available for execution on the device
mediumThe installed bitsandbytes CUDA binary does not contain a 4-bit kernel for the GPU compute capability in use. This is an architecture or binary compatibility failure, not a model-memory shortage. This...
CUDA error: operation not permitted when stream is capturing
mediumAttempting to perform CPU synchronization or stream switching (e.g..item() or dynamic tensor operations) while a CUDA graph is actively capturing operations. This entry explains how to confirm the cau...
CUDA graph replay detected invalidated memory buffer
mediumA CUDA graph was replayed after the memory it captured was freed or reallocated. Graphs record raw device pointers, so any tensor whose storage moved between capture and replay leaves the graph readin...
cudaErrorLaunchFailure an illegal instruction was encountered sm90a
highA kernel executed an instruction the GPU does not implement. Almost always an architecture mismatch: the binary contains SASS for a different compute capability, or was JIT-compiled from PTX targeting...
cuDNN error: CUDNN_STATUS_NOT_SUPPORTED cudnnConvolutionForward
mediumcuDNN convolution operation failed, unsupported algorithm, channel layout mismatch, or GPU compute capability limit. This entry explains how to confirm the cause, apply the fix, and separate it from a...
Segmentation fault in custom CUDA kernel .so during backprop
mediumA native custom CUDA extension crashed the process during backward execution. The fault is inside the extension or its ABI boundary, not an NCCL collective simply because distributed ranks exit afterw...
CUDA out of memory during AutoencoderKL tiling decode intermediate latents
highAutoencoderKL ran out of VRAM while decoding tiled latent intermediates. Tiling reduces the peak for the main VAE operation, but overlap buffers, output assembly, dtype, and concurrent model residency...
could not select device driver with capabilities gpu nvidia-container-cli initialization error
mediumThe container runtime could not select or initialize the NVIDIA GPU runtime. The host toolkit, runtime configuration, driver visibility, or requested GPU capability is missing before the application s...
pyxis enroot import failed to extract squashfs image disk quota exceeded
mediumEnroot exhausted the user or filesystem quota while importing and extracting the SquashFS image. Free space elsewhere on the node does not help when the configured cache or data path has a separate qu...
llama_model_load: error loading model: unknown tensor type unsupported GGUF version
mediumllama.cpp/GGUF load failure, file is not GGUF (old GGML), GGUF version newer than the runtime, truncated download, or quantization type unsupported by this build. This entry explains how to confirm th...
The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks
highThe Rust tokenizer's thread pool was already active when the process forked, so the child inherits locks held by threads that do not exist in it. The warning precedes either a silent hang in the DataL...
CUDA out of memory during Inductor CUDA graph execution allocator private memory pool fragmentation
highTorchInductor exhausted a private CUDA Graph memory pool even though total free memory may appear sufficient. Captured graphs retain stable addresses, so inactive blocks in the private pool cannot alw...
nvidia-device-plugin Failed to initialize NVML libnvidia-ml.so.1 cannot be found
mediumThe NVIDIA device plugin could not load libnvidia-ml.so, so it never registered nvidia.com/gpu with the kubelet. Every GPU pod on the node stays Pending with "Insufficient nvidia.com/gpu" while the no...
NVDEC hardware decoder stream allocation failed maximum concurrent decode sessions exceeded
mediumThe GPU's hardware video decoder ran out of concurrent sessions. NVDEC session count is a fixed hardware/driver limit, and consumer boards are capped far below data-center parts regardless of availabl...
nvidia-container-cli device node error /dev/nvidiactl no such file or directory
mediumThe container runtime could not find the NVIDIA device nodes on the host. The kernel modules are not loaded, or the node was created after the container runtime cached its view, the GPU is invisible i...
OMP: Error #15: Initializing libomp.so but found libgomp.so already initialized
mediumTwo OpenMP runtimes were loaded into one process (Intel/LLVM libomp alongside GNU libgomp). Behaviour is undefined, in practice thread pools collide, causing deadlocks, oversubscription, or crashes in...
Only Tensors of floating point dtype can require gradients int8 LoRA
mediumA LoRA adapter was attached to a quantized (int8/int4) base layer and the training path tried to make the quantized weight itself require gradients. Only the floating-point adapter weights are trainab...
rclpy RCLError Failed to publish sensor_msgs Image shared memory ring buffer overwrite
mediumA ROS 2 publisher overwrote shared-memory ring buffer entries a subscriber had not yet consumed. The consumer is slower than the producer, so frames are being lost, and with zero-copy transport the su...
SafetensorError: Error while deserializing header: HeaderTooLarge
mediumsafetensors header/metadata error, file truncated (interrupted download/save), wrong format (HTML error page saved as .safetensors), or reader raced a writer. This entry explains how to confirm the ca...
torch._dynamo.exc.BackendCompilerFailed backend inductor LoweringException
mediumTorchDynamo captured the graph, but TorchInductor failed while lowering an operation to generated code. The useful cause is the nested LoweringException and its target operator, not the outer BackendC...
torch._dynamo.exc.RestartAnalysis Exceeded maximum graph break limit
mediumPyTorch: TorchDynamo encountered a graph break due to unsupported Python construct. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent torch-compile failures....
torchao quantization CalibrationError observed activation tensor contains NaN during INT8 observer
mediumThe INT8 observer saw NaN or Inf activations while calibrating. Quantization scales are derived from observed ranges, so a single non-finite activation poisons the scale for that tensor and every valu...
Triton JIT compilation failed ptxas fatal Value sm_90a is not defined for option gpu-name
mediumNVIDIA PTX assembler failed on Triton output. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent torch-compile failures....
triton OutOfResources Out of resources during kernel launch shared memory request exceeds device maximum
mediumTriton kernel requested too much shared memory. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent quant failures....
Hardware
78GPU Memory Clock Throttle
mediumGPU memory clock throttling reduces memory bandwidth and training performance when memory is under-utilized....
NVLink Error
highNVLink errors cause intra-node GPU communication failures and degraded multi-GPU performance....
GPU Thermal Throttling
highGPU thermal throttling reduces clock speeds to prevent overheating, causing training to be slower than expected....
GPU Power Cap Reached
mediumGPU power cap limits GPU power consumption, reducing performance for power-constrained deployments....
CUDA Driver Crash
criticalCUDA driver crash terminates all GPU processes on the node, losing unsaved training progress....
GPU Overheating
highGPU overheating causes thermal throttling, performance degradation, and potential hardware damage....
GPU Not Detected
criticalGPU not detected errors prevent training from starting when the system cannot see the GPU....
CUDA Illegal Instruction
criticalCUDA illegal instruction errors crash training when the GPU encounters unsupported instructions, often from binary mismatches....
GPU Clock Throttle
mediumGPU clock throttle reduces performance when power or thermal limits are reached....
GPU Memory Bus Error
criticalGPU memory bus errors corrupt data transfer between GPU cores and memory, causing silent data corruption or crashes....
GPU MIG (Multi-Instance GPU) Mode
mediumGPU MIG mode splits a GPU into multiple instances, which can cause issues with PyTorch and NCCL if not configured correctly....
High ECC Error Rate Detection
highHigh GPU ECC error rates indicate degrading memory hardware. Correctable errors accumulating signal impending failure....
GPU Memory Bandwidth Limit
mediumGPU memory bandwidth limits reduce training performance when compute exceeds memory access speed....
NVLink/NVLS Failure with Xid 31 MMU Fault Cascade
criticalNVLS collective failures on Hopper/NVLINK4 nodes cascade from Fabric Manager restarts, producing Xid 31 MMU page faults and illegal memory accesses across the node....
cuMemImportFromShareableHandle Fails (CUDA error 101)
highP2P fabric-handle import between containers on a multi-node NVLink (MNNVL) GPU fails with CUDA 'invalid device ordinal' due to a CUDA driver bug, not NCCL....
Partial NVLink Failure vs NVSwitch Failure (Localization)
highNVLink bandwidth degradation can be a single failing link or a whole-node NVSwitch fault. Comparing per-GPU NVLink bandwidth across all 8 GPUs tells them apart....
GSP RPC Timeout (Xid 119)
highThe GPU System Processor (GSP) stops responding to RPCs, logged as Xid 119. The GPU becomes unresponsive and usually needs a reset....
GPU Fallen Off the Bus (Xid 79)
criticalA GPU drops off the PCIe bus (Xid 79) and disappears from the system. A critical hardware/connectivity fault that ends training on that node until the GPU is recovered....
GPU Memory Row Remapping Event
mediumThe GPU remaps a failing memory row after ECC errors. A recovery mechanism, but a rising remap count signals degrading memory that may need RMA....
NVIDIA Xid 48. ECC Uncorrectable Memory Error
criticalXid 48 is NVIDIA's code for uncorrectable GPU memory errors. It crashes training and corrupts model weights. Denpex correlates Xid 48 events with NCCL failures to identify the originating GPU and trig...
NVIDIA Xid 79. GPU Has Fallen Off the Bus
criticalXid 79 means the GPU lost PCIe connectivity entirely. Training dies immediately. Denpex identifies which GPU, node, and the chain of events that led to the GPU fall. Root caused by bad PCIe, power eve...
CUDA Device Assertion Failure
criticalCUDA device assertion failures indicate GPU hardware problems that crash training with ambiguous error messages. Denpex maps the device assertion to the specific GPU and operation, distinguishing hard...
KV Cache Corruption on Non-P2P Topologies
criticalKV cache corruption or NaNs in key_value tensors occurring during decoding on hardware topologies that do not fully support PCIe P2P memory sharing....
nvlddmkm TDR (Timeout Detection and Recovery)
criticalThe display driver crashes and recovers (or fails to recover) due to a long-running CUDA kernel triggering the OS watchdog....
Intel GPU (i915/Xe) Engine Hangs and GuC Firmware Failures
highOn Intel data-center GPUs, engine hangs surface as i915 "GPU HANG"/engine-reset dmesg lines and GuC (scheduling microcontroller) load or crash messages. Compute contexts die on reset; repeated hangs i...
NVLS Illegal Memory Access (CUDA Error 700)
highNVLS (NVLink SHARP) offloads collective operations to the NVSwitch hardware. An incompatibility between the NCCL library version, the CUDA toolkit, and the NVIDIA display driver can cause incorrect me...
PCIe ACS Blocking GPU Direct P2P
mediumPCIe Access Control Services (ACS) is enabled in the host motherboard's BIOS or the Linux kernel. ACS forces all PCIe peer-to-peer traffic to be routed up to the Root Complex (CPU) for IOMMU translati...
Silent OOM Leading to Cluster-wide NCCL Timeout
criticalOne specific worker experiences a CUDA OOM (e.g., due to memory fragmentation or an unusually large sample) and crashes. PyTorch's default process group error handling doesn't forcefully abort the rem...
Xid 43: Watchdog Timeout due to PSU Transient Spikes
criticalDuring heavy compute operations, modern GPUs (like the A100 or H100) experience massive microsecond-level power spikes. If the Power Supply Unit (PSU) or the 12V PCIe power cables cannot handle the tr...
Xid 48: Double Bit ECC Error from VRAM Degradation
criticalThe physical VRAM (HBM or GDDR) on the GPU has degraded over time due to thermal stress or manufacturing defects. A double-bit error is mathematically uncorrectable by the GPU ECC engine, meaning data...
Xid 43: PCIe Link Training Failure Under Load
highPoor physical seating of the GPU in the PCIe slot, or a degraded PCIe riser cable, degrades signal integrity. When the system shifts into high-bandwidth PCIe Gen4/Gen5 states for inter-GPU communicati...
NVIDIA Xid 61 - Internal Microcontroller Breakpoint
highThe GPU's internal processors (like the Power Management Unit or GSP) encountered a diagnostic event, such as a thermal anomaly, voltage droop, or firmware bug, and halted execution to prevent corrupt...
NVIDIA Xid 69 - Graphics Engine Class Error
highThe GPU engine received an illegal command or entered an invalid state, commonly triggered by thermal throttling, power instability, or severe CUDA context corruption from conflicting workloads....
NVIDIA Xid 74 - NVLink Fatal Error
criticalA physical hardware fault on the NVLink connection between GPUs. This can be caused by signal integrity degradation, mechanical stress, or connector contamination....
NVIDIA Xid 79 - GPU Fallen off the Bus
criticalThe CPU lost communication with the GPU over the PCIe bus. Common causes include inadequate power supply under high load, a loose PCIe connection, faulty riser cables, or active state power management...
NVIDIA Xid 94 - Contained ECC Memory Error
mediumThe GPU hardware detected an uncorrectable memory error in VRAM. However, it successfully 'contained' the error to the specific application using that memory page, preventing a full system crash....
Xid 48 Double-Bit ECC Error in HBM
criticalA multi-bit memory error occurred in the High Bandwidth Memory (HBM) that the hardware ECC engine cannot correct. To prevent silent data corruption, the GPU driver marks this as a 'sticky' hardware er...
Xid 63 Page Retirement Storm causing severe throttling
highThe HBM is rapidly degrading, triggering single-bit ECC errors at an extremely high frequency. The GPU's self-healing mechanism dynamically retires and remaps these bad memory pages (Xid 63). Doing th...
HBM Silent Data Corruption leading to Loss Spikes
criticalA transient hardware fault occurred in an unprotected part of the GPU memory pipeline (e.g., a multi-bit flip that bypassed ECC, or a fault in the L1 cache/SRAM). This resulted in an incorrect matrix ...
Xid 64 InfoROM Page Retirement Failure
highThe GPU detected a bad HBM memory page and attempted to record it in the InfoROM (EEPROM) for permanent retirement. However, the InfoROM is either full or physically degraded, preventing the page rema...
PCIe AER Uncorrectable Error Dropping GPU
criticalMarginal signal integrity on the PCIe riser cable or motherboard slot under heavy thermal load causes a Malformed Transaction Layer Packet (TLP). The PCIe root complex detects the fatal error via AER ...
Silent PCIe Link Speed Downgrade Under Load
mediumThermal expansion or microscopic dust in the PCIe slot causes transient connection issues during Active State Power Management (ASPM) or link retraining. The PCIe controller automatically negotiates a...
PyTorch Pin_Memory Thread Deadlock
highWhen `pin_memory=True`, PyTorch spawns a background thread to copy pageable host memory to pinned (page-locked) host memory. If the objects returned by the Dataset are not standard tensors (e.g. custo...
TopologyAffinityError Admission Rejection
highThe Kubernetes scheduler is topology-blind. It assigns the Pod to a node based on total available capacity. However, the Kubelet's Topology Manager on the node (often configured with the 'single-numa-...
NVIDIA NVML Initialization Failure
criticalThe NVIDIA device plugin relies on the NVML library to discover GPUs and report their health to the kubelet. If the underlying GPU hardware experiences a fault (e.g., an Xid error causing it to fall o...
FlashAttention Unsupported GPU Architecture
highFlashAttention v2 heavily optimizes memory access and matrix multiplication using specific hardware features introduced in NVIDIA's Ampere architecture (Compute Capability 8.0+), such as asynchronous ...
InfiniBand Link Flap Triggering NCCL Async Handshake Failure
highA brief hardware network event (link flap, switch reset, optical transceiver issue) breaks the reliable InfiniBand (RC) connection between nodes. NCCL encounters an unrecoverable RDMA error and raises...
GPU Fallen Off Bus (Xid 79) causing Async NCCL Hang
criticalA severe hardware fault (often power delivery or PCIe signal integrity) causes the GPU to disconnect from the PCIe bus entirely. The CUDA runtime loses contact with the device, and NCCL operations imm...
Uncorrectable Double Bit ECC Error
fatalPhysical silicon degradation in the High Bandwidth Memory (HBM) modules causing multi-bit data corruption in a single memory word....
Fabric-Induced SM Containment Cascade
highA transient transmission failure on the NVLink or RoCE fabric propagates corrupted state to the SM. The GPU isolates the SM fault to prevent data corruption, emitting a containment Xid without an actu...
GSP Firmware Silent Death (Bus Drop)
fatalThe GPU System Processor (GSP) firmware crashes internally, terminating the PCIe link negotiation. This can occur even under near-zero utilization or idle states....
PDN Resonance-Induced Silent Data Corruption
criticalHighly synchronous computational workloads (like dense GEMMs in LLMs) cause periodic power oscillations that resonate with the physical PDN, causing voltage droops that violate logic gate timing margi...
Xid 61 (Internal Micro-Controller Breakpoint)
mediumOften occurs randomly when the GPU utilizes aggressive power saving and attempts a rapid transition from its lowest state (PCIe Gen 1) to a high-performance state (Gen 3/4)....
Xid 62 (Internal Micro-Controller Halt)
mediumCaused by aggressive CPU contention (like massive dataloader thread counts) starving the NVIDIA kernel module of the CPU cycles required to acknowledge GPU interrupts....
nrt_enqueue_dma failed device ring buffer full Neuron DMA channel saturated
mediumThe Neuron runtime's DMA ring buffer filled, transfers were queued faster than the device drained them. The accelerator is keeping up with compute but not with the data being pushed at it. This entry ...
NeuronCompilerError graph compilation timed out HloModule optimization Trainium
mediumThe Neuron compiler exceeded its time budget compiling the graph. Trainium compiles the whole model graph ahead of execution, and compile time grows sharply with graph size and with the number of dist...
die-to-die thermal delta between primary die and secondary die emergency throttle
criticalA Blackwell B200 module detected an unsafe temperature difference between its two dies and entered emergency throttling. The delta points to uneven cooling or contact, not ordinary workload-wide therm...
CUDA uncorrectable ECC error on an NVIDIA GPU
criticalAn uncorrectable GPU memory error means ECC could not repair the affected data. On modern NVIDIA data-center GPUs, the next action depends on whether the error was contained, the recovery-action flag,...
Coolant Distribution Unit CDU secondary loop flow rate low immediate system power-off
criticalLiquid cooling flow dropped below the safe threshold. This is a facilities fault with a very short fuse, direct-liquid-cooled GPUs have little thermal mass, so an emergency power-off follows quickly a...
DCGM_FI_DEV_NVLINK_CRC_FLIT_ERROR counter incremented link degraded
mediumDCGM observed an increase in NVLink CRC flit errors and marked the link degraded. A rising counter indicates signal or link integrity trouble, not a collective software timeout. This entry explains ho...
DCGM_FI_DEV_ROW_REMAP_FAILURE pending row remap failed bank row reserve exhausted
mediumHBM row remapping failed: the GPU has exhausted its reserve of spare memory rows and can no longer retire failing ones. This is a terminal hardware state, the GPU will keep producing uncorrectable ECC...
NVLink-C2C fatal link error cache coherency check failed Grace CPU Hopper GPU
criticalThe coherent NVLink-C2C path between the Grace CPU and Hopper GPU reported a fatal link or coherency failure. Continuing on the node risks invalid data movement, so this is a platform health event rat...
TPU Inter-Chip Interconnect ICI link error mesh coordinate link state DOWN
mediumA TPU ICI link at the reported mesh coordinate is down, so the accelerator slice cannot provide the topology expected by the distributed program. This is a slice or platform health fault, not an XLA g...
habana synapseai HCLError HCL_TIMEOUT waiting for AllReduce on Gaudi OAM module
highA Habana collective timed out waiting for a peer. Like every collective timeout this names the ranks that WERE waiting, not the one that failed to arrive, the OAM module in the message is the reporter...
Fabric Manager initialization failed: NVLink topology match failed
mediumNVIDIA Fabric Manager failed to initialize, so NVSwitch routing was never programmed. On an HGX/DGX baseboard every NVLink-based collective is unavailable until this is fixed, jobs either fall back to...
Clocks throttled HW Slowdown SW Thermal Slowdown core clock reduced
mediumGPU is thermal-throttling, clocks reduced to prevent damage, causing silent performance degradation. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent telemetr...
NVRM: Xid 119, Timeout waiting for RPC message from GSP-RM firmware
criticalXid 119/120 - GSP (GPU System Processor) RPC timeout. The driver-firmware RPC channel deadlocked; the GPU resets and the CUDA context is lost. Known driver/GSP-firmware combo bugs are the usual cause ...
NVRM: Xid 31, MMU Fault: ENGINE GRAPHICS GPCCLIENT FAULT_PDE
criticalGPU MMU page fault (Xid 31), often an NVLS/Fabric Manager cascade. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent xid failures....
NVRM: Xid 45, Preemptive cleanup
criticalXid 45 records driver cleanup after a CUDA context was terminated. It is usually evidence of an earlier application exit, GPU reset, or administrator action, not the initiating hardware fault. This en...
NVRM: Xid 62, Internal Microcode Error
criticalXid 62, internal microcode error. The GPU firmware hit an unrecoverable internal fault. The device usually survives a reset, but a repeat on the same serial is a hardware or firmware defect rather tha...
Xid 79: GPU has fallen off the bus
criticalXid 79 means the driver can no longer reach the GPU over PCIe. The device stopped responding to config-space reads mid-operation, so the kernel dropped it. Every process holding a CUDA context on that...
NVRM: Xid 92, High uncorrectable double-bit ECC error threshold exceeded
criticalGPU ECC fault (Xid 48/94/95, double-bit/uncorrectable ECC, or row-remap event) caused the CUDA/runtime failure. The CUDA error is downstream hardware fallout, not the root cause. This entry explains h...
NVLink 5 switch tray ASIC port link training failed signal integrity
criticalAn NVLink switch tray port failed link training, the physical layer could not establish a clean signal. On an NVL72-class rack this removes a path from the fabric, and collectives crossing it either f...
nvidia-smi nvlink NVLink Link Recovery Error Link State Down
mediumNVLink Correctable/Recovery Errors - The link is experiencing high noise, causing CRC failures and replays. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent n...
HW Power Brake Asserted GPU power capped check chassis PSU redundancy
mediumSXM power brake event. GPU exceeded power budget; system forced power limiting. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent telemetry failures....
PCIe Link Width 1x Max 16x PCIe Link Gen 1 Max 5 degraded
mediumPCIe link speed or width downgraded, the GPU is not running at Gen5 x16 (or expected width). This entry explains how to confirm the cause, apply the fix, and separate it from adjacent telemetry failur...
RCCL WARN Ring failed IPC handle mapping failed across AMD Infinity Fabric gfx90a
mediumRCCL could not map a peer IPC handle across AMD Infinity Fabric, so the ring could not be formed. The AMD equivalent of an NCCL P2P transport failure, peer access between GPUs is unavailable or blocke...
HIP error: hipErrorOutOfMemory Out of device memory AMD Instinct /dev/kfd
mediumHIP runtime returned Out of Memory error. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent non-nvidia failures....
Memory
74Activation Memory Spike
highActivation memory spikes during specific operations cause transient OOM even when steady-state memory fits....
Memory Summary Tool Usage
lowtorch.cuda.memory_summary() helps debug memory issues but output can be overwhelming without understanding it....
PyTorch Caching Allocator Debug
lowDebugging PyTorch's caching allocator helps identify memory issues but requires understanding its behavior....
CPU RAM Exhaustion During Training
highCPU RAM exhaustion during training kills the process or causes swapping that drastically slows training....
Gradient Accumulation Memory Spike
mediumGradient accumulation can cause unexpected memory spikes when scaled batch size is large or loss is not properly reduced....
Memory Leak in DataLoader
highMemory leaks in DataLoader workers cause steadily growing memory usage over training epochs....
CUDA Graph Memory Trap
mediumCUDA Graphs capture memory allocations that are hard to release, causing memory leaks across graph replays....
KV Cache Memory Growth
mediumKV cache memory grows with sequence length in transformer inference and some training setups, causing OOM at long contexts....
Inference Memory Leak
highInference memory leaks cause growing GPU memory usage during serving, eventually OOM-ing the server....
Pinned Memory Overuse
mediumPinned (page-locked) memory overuse causes system RAM exhaustion and slow CPU-GPU transfers when over-allocated....
Activation Distillation Memory
mediumActivation distillation memory costs grow with teacher model size and student hidden dimension matching requirements....
Flash Attention Memory
lowFlash Attention saves memory by not materializing the full attention matrix, but has shape and dtype constraints....
Transformer Cache Memory
mediumTransformer cache (KV cache, past_key_values) memory grows with sequence length and can cause OOM at inference....
Dataset Cache Memory
mediumDataset cache memory usage grows when transformations or augmentations are applied before batching....
Gradient Checkpointing Tradeoff
mediumGradient checkpointing trades compute for memory; misconfiguration can either not save memory or drastically slow training....
torch.compile Memory
mediumtorch.compile can use additional memory for graph compilation, guard evaluation, and dynamic shape handling....
cuDNN Benchmark Memory
lowcuDNN benchmark mode can use more memory for algorithm search, and not all algorithms work with all configs....
Tensor Parallel Memory
mediumTensor parallel training splits model across GPUs, but communication buffers and synchronization can still cause OOM....
Checkpoint Loading Memory
mediumLoading checkpoints can temporarily double memory usage because both old and new model states exist in memory....
Safetensors Load Error
lowSafetensors load errors occur from corrupted files, version mismatches, or architecture mismatches with the loading model....
Tensor Views Memory Leak
lowTensor views (slices, reshapes, transposes) can hold references to large base tensors, preventing memory release....
Pipeline Parallel Memory
mediumPipeline parallel memory issues arise from stage imbalance, bubble overhead, and activation storage across micro-batches....
DeepSpeed OOM
highDeepSpeed OOM errors occur when ZeRO partitioning, CPU offload, or activation partitioning is misconfigured....
FSDP All Gather Timeout
mediumFSDP all-gather operations can timeout when parameters are large or network is slow, causing training to fail....
CUDA Context Leak
mediumCUDA context leaks occur when CUDA contexts are not properly destroyed, accumulating GPU memory across processes....
CUDA Caching Allocator Fragmentation
mediumCUDA caching allocator fragmentation causes OOM despite enough total free memory, due to non-contiguous blocks....
Optimizer State Memory
mediumOptimizer state memory (Adam: 2x model size, AdamW: 2x) can exceed model size memory, dominating total usage....
Transformer Attention Memory
mediumTransformer attention memory grows quadratically with sequence length; long-context training requires Flash Attention or similar....
Embedding Layer Memory
mediumEmbedding layer memory grows with vocabulary size and can dominate total memory for large vocab models....
CUDA Out of Memory
criticalCUDA out of memory is the most common training error, occurring when GPU memory is exhausted....
Activation Checkpointing Compatibility
lowActivation checkpointing compatibility issues arise when using torch.compile, FSDP, or DDP with checkpointing....
Python Out of Memory
highPython OOM kills the training process when Python's heap memory is exhausted, even if GPU memory is fine....
CUDA Shared Memory Limit Exceeded
mediumCUDA shared memory limits are reached when kernels use too much shared memory per block....
CUDA Caching Allocator Issue
highCUDA caching allocator issues cause memory not being released back to the GPU when expected....
CUDA Unified Memory Error
highCUDA Unified Memory (UVM) errors cause page faults and performance issues when memory oversubscription occurs....
Activation Checkpoint Misuse
highActivation checkpointing misuse causes either OOM (not enough checkpointing) or slow training (too much checkpointing)....
DeepSpeed ZeRO Offload Host-RAM OOM (SIGKILL -9)
highZeRO CPU/NVMe offload materializes parameters and optimizer states in host RAM on every rank, exhausting system memory and getting the process OOM-killed with no Python traceback....
DeepSpeed FusedAdam Illegal Memory Access on H100
criticalDeepSpeed FusedAdam optimizer triggers CUDA illegal memory access errors on NVIDIA H100 GPUs. This is a compatibility issue between FusedAdam's CUDA kernels and H100's SM90 architecture. Denpex detect...
DeepSpeed ZeRO GPU Memory Not Freed After Training (hooks leak)
highGPU memory is not released after trainer.train()/engine teardown, so repeated training calls (CV folds, hyperparameter sweeps) leak until OOM. DeepSpeed left gradient-accumulation/backward hooks attac...
DeepSpeed ZeRO-3 High GPU Memory / OOM Loading a Large Model Without zero.Init
highFine-tuning a large model (e.g. Flan-T5-XXL 11B) with ZeRO-3 uses far more GPU memory than expected or OOMs at load because the model was constructed outside DeepSpeed's zero.Init context. Every rank ...
CUDA Memory Leak
highCUDA memory leaks accumulate over training, eventually causing OOM. Denpex tracks allocation patterns to identify leaks....
Memory Fragmentation
highMemory fragmentation causes OOM even when total free memory is sufficient, because no contiguous block is available for the allocation....
Host OOM Killed
criticalHost OOM (out of memory) kills training processes when system RAM is exhausted, often silently....
CUDA Memory Allocation Failed
highCUDA memory allocation fails when the requested memory block cannot be allocated, often due to fragmentation or insufficient total memory....
Host RAM OOM-Kill of DataLoader Workers Misread as GPU OOM
highThe kernel oom-killer (or cgroup limit) kills python workers whose RSS grew unbounded. Shard caches, tokenized-in-RAM datasets, prefetch queues. Surface strings ("Out of memory", "Killed") route engin...
Watchdog Timeout Caused by Silent Single-Rank OOM
criticalA single rank hits a CUDA Out of Memory error during the forward or backward pass and crashes or raises an exception. Because the process group isn't cleanly torn down, the surviving ranks continue to...
System Memory OOM on FSDP Checkpoint Save
highWhen using `FullStateDictConfig(offload_to_cpu=True)` without setting `rank0_only=True`, FSDP instructs every single rank to independently gather and reconstruct the full model parameters into its own...
CUDA OOM from Caching Allocator Fragmentation
highFSDP performs frequent allocations and deallocations of varying sizes (flattening, padding, un-sharding, sharding). This usage pattern severely fragments the CUDA caching allocator. Memory gets trappe...
Rank 0 OOM During ZeRO-3 Checkpoint Save
criticalBy default, DeepSpeed's ZeRO-3 config parameter `gather_16bit_weights_on_model_save` is often set to true. This instructs DeepSpeed to unshard and consolidate all model weights onto a single GPU (Rank...
Host RAM Exhaustion via ZeRO Offload Pinned Memory
highWhen using ZeRO-Offload (CPU offloading for parameters/optimizer states), DeepSpeed enables `pin_memory: true` by default. Pinned memory (page-locked memory) cannot be swapped to disk. Offloading larg...
Forward Pass OOM due to Excessive Parameter Prefetching
highDeepSpeed ZeRO-3 uses a `prefetch_bucket_size` (defaulting to a very large number like 50M) to preemptively AllGather upcoming layers into VRAM to hide communication latency. For large models or restr...
Xid 31: Memory Page Fault from Process Resource Exhaustion
highXid 31 occurs when the GPU attempts to access a virtual address that is not mapped in the GPU page tables. While this can be a kernel bug, it frequently happens under severe memory pressure or thrashi...
PyTorch CUDA Memory Fragmentation
highThe PyTorch caching allocator reserves large blocks of memory and splits them for individual tensor allocations. Over time, memory becomes fragmented into many small blocks, preventing the allocation ...
Computation Graph Memory Leak via Loss Accumulation
criticalThe developer accumulates the loss tensor across batches for logging (e.g., `total_loss += loss`). Because `loss` is a PyTorch tensor attached to the computation graph, accumulating it keeps the entir...
Evaluation Loop OOM due to Missing torch.no_grad
highThe evaluation loop is executing without `with torch.no_grad():` or `@torch.inference_mode()`. Therefore, PyTorch continues to build the autograd computation graph during evaluation, storing activatio...
Optimizer State Memory Explosion
highOptimizers like Adam and AdamW maintain moment states (running averages of gradients and squared gradients) for every parameter. For a model with N parameters, the optimizer state requires 2 * N memor...
Activation Memory Explosion from Quadratic Attention
criticalStandard multi-head dot-product attention computes an attention matrix of size (batch_size, num_heads, seq_length, seq_length). The memory complexity is O(N^2) with respect to the sequence length. As ...
nn.Embedding Out of Bounds Illegal Memory Access
criticalAn index passed to a PyTorch `nn.Embedding` layer exceeds the configured `num_embeddings` (e.g., passing token ID 1000 to an embedding matrix of size 1000, where max valid is 999). Because CUDA execut...
torch.multinomial Invalid Probability Memory Access
highWhen `torch.multinomial` receives a probability distribution tensor containing `NaN` values, negative values, or all zeros, the CUDA kernel fails to build a valid Cumulative Distribution Function (CDF...
DeepSpeed ZeRO-3 Parameter Offload Illegal Access
highZeRO-3 partitions model parameters and offloads them to CPU memory. When a custom operation (like a custom regularizer or un-traced optimizer step) tries to access a parameter tensor directly, it pass...
FlashAttention Max Sequence Length Illegal Access
criticalWhen using variable length sequences in FlashAttention (e.g., passing `cu_seqlens`), if the actual sequence length in the data exceeds the `max_seqlen_k` or `max_seqlen_q` parameter passed to the kern...
Silent Pod GPU OOM Hang
mediumA CUDA Out Of Memory (OOM) error is an application-level exception thrown by the CUDA runtime to the framework (e.g., PyTorch). Unlike a system RAM OOM where the Linux kernel's OOM-killer sends a SIGK...
Time-Slicing Cross-Pod VRAM Exhaustion
highKubernetes GPU time-slicing multiplexes compute execution time, but it provides absolutely zero hardware-level memory isolation. If a physical GPU with 24GB VRAM is time-sliced into 4 logical GPUs, Ku...
vLLM refuses to start with No available memory for the cache blocks
highvLLM aborts during engine initialisation because, after loading model weights and profiling the activation peak, nothing is left inside its memory budget to allocate a single paged KV cache block. The...
vLLM rejects a request because the prompt plus completion exceeds the served context length
mediumvLLM returns an error for a request whose prompt tokens plus requested completion tokens exceed the context window the server was started with. The served window is not always the one advertised on th...
vLLM runs out of GPU memory during serving after the prefill token budget is raised
highRaising the number of tokens vLLM may batch per step improves time to first token and throughput, and it also raises the peak activation memory a prefill step needs. When that peak collides with the m...
CPU Offloading Overhead
mediumCPU offloading trades GPU memory for PCIe bandwidth. Parameters, gradients or optimizer state cross the bus every step, and when the transfer cannot hide behind compute the step becomes bound by the l...
cudaHostAlloc out of memory pinned memory check ulimit -l max locked memory
highA large pinned host-memory allocation exceeds the host pinning path; the generic CUDA debugging footer is not an observed device assertion. This entry explains how to confirm the cause, apply the fix,...
cudaIpcGetMemHandle returned error out of memory
highCUDA could not export an interprocess memory handle for the allocation. Device memory pressure, an ineligible allocation, or exhausted IPC and driver bookkeeping can cause this before the receiving pr...
faiss StandardGpuResourcesImpl allocMemory CUDA error out of memory
highFAISS could not allocate GPU memory for the index. A flat GPU index holds every vector in VRAM, so the requirement is vectors × dimensions × 4 bytes plus working space, it scales linearly and unforgiv...
milvus Failed to load vector index segment into GPU memory insufficient VRAM
mediumMilvus could not load a vector index segment into GPU memory. Segments are loaded whole, so a single oversized segment fails even when total free VRAM across the collection looks sufficient. This entr...
CUDA out of memory during sentence_transformers encode sequence length batch size
highSentence Transformers exceeded VRAM during encoding because the token count, batch size, output handling, and other GPU residents exceeded the model memory budget. Sequence length can dominate even wh...
unable to mmap bytes from /dev/shm No space left on device torch multiprocessing
mediumPyTorch multiprocessing could not map another shared-memory region because /dev/shm is full or capped too low. This consumes shared memory, not filesystem disk and not GPU VRAM. This entry explains ho...
UVM fault excessive page migrations between host RAM and GPU HBM cudaMallocManaged
mediumManaged-memory pages are bouncing between host RAM and GPU HBM faster than either processor can reuse them. The migration traffic saturates the interconnect and can surface as an Xid 31 page fault or ...
Communication
74NCCL CUDA Failure
criticalNCCL CUDA failures occur when the underlying CUDA runtime has issues, causing all NCCL operations to fail....
NCCL P2P Disabled
mediumNCCL P2P (peer-to-peer) communication can be disabled, forcing fallback to slower transport....
NCCL Hang Detection
highNCCL hangs can be hard to detect because they don't produce errors until the watchdog timeout. Proper monitoring helps catch them early....
NCCL Wrong Rank Configuration
criticalWrong rank configuration in NCCL causes collectives to fail or produce incorrect results when rank assignments don't match expectations....
NCCL P2P Communication Issue
highNCCL peer-to-peer (P2P) communication issues cause pipeline parallelism and tensor parallelism to fail or be slow....
Gloo Backend Issue
mediumGloo backend issues occur when using Gloo instead of NCCL for distributed training, especially on CPU or limited GPU setups....
TCP Port Exhaustion
mediumTCP port exhaustion occurs in distributed training when many connections exhaust ephemeral port range....
TorchElastic Error
highTorchElastic errors occur when training jobs need to be elastic (resize dynamically) but configuration is wrong....
Horovod Setup Error
highHorovod setup errors occur when MPI or NCCL integration is misconfigured, preventing elastic or multi-GPU training....
NCCL IB HCA Mismatch
mediumNCCL InfiniBand HCA (Host Channel Adapter) configuration mismatches cause slow or failed inter-node communication....
NCCL IPv6 Issue
lowNCCL IPv6 issues occur when NCCL tries to use IPv6 but the network only supports IPv4, or vice versa....
Pipeline Parallel Bubble
mediumPipeline parallelism has idle time (bubble) at start and end of each pipeline, reducing efficiency for small models or small micro-batches....
AWS EFA Driver Issue
highAWS EFA (Elastic Fabric Adapter) driver issues cause NCCL to fall back to slower TCP/IP for inter-node communication....
DDP Port Conflict
highDDP port conflicts prevent distributed training from starting when the master port is already in use....
RDMA Configuration Issue
mediumRDMA configuration issues prevent high-bandwidth, low-latency inter-node communication in GPU clusters....
NCCL Rank Fail
highNCCL rank failures occur when one or more ranks fail to initialize or join the distributed group....
NCCL Version Mismatch
mediumNCCL version mismatches between nodes cause collective operations to fail or hang in distributed training....
DDP Setup Error
highDDP setup errors occur when distributed data parallel training is not properly configured, preventing multi-GPU training....
NCCL Bucket Size Mismatch
lowNCCL bucket size mismatches in DDP cause inefficient gradient reduction, hurting performance....
All-Reduce Deadlock
highAll-reduce deadlocks occur when DDP/FSDP all-reduce operations are mismatched across ranks or with batch norm....
NCCL Error 2: Internal Error
highNCCL error 2 is an internal assertion failure in NCCL itself, often from corrupted state or hardware issues. Denpex correlates with hardware diagnostics....
NCCL Initialization Timeout
criticalNCCL initialization times out when nodes cannot establish the communication channel within the allowed time....
NCCL Bad RDMA Performance
highNCCL RDMA performance degrades when GPUDirect RDMA is unavailable or misconfigured, causing slow multi-node training....
NCCL Asynchronous Error Handling
highNCCL asynchronous error handling issues cause silent failures or deadlocks when collective errors are not properly handled....
NCCL GPUDirect over RoCE
highNCCL GPUDirect over RoCE (RDMA over Converged Ethernet) requires proper configuration for high performance....
NCCL P2P Bandwidth Issue
mediumNCCL point-to-point bandwidth issues cause slow intra-node GPU communication when P2P is disabled or limited....
NVLS Multicast Slot Exhaustion (NVSwitch)
highNCCL exhausts the NVSwitch's fixed pool of NVLink SHARP (NVLS) multicast slots, then treats the binding failure as fatal instead of falling back to a non-NVLS transport....
RoCE QP Timeout During Distributed Checkpoint Save
highNCCL queue-pair creation times out specifically during distributed checkpoint save at large scale on RoCE, while normal training collectives succeed....
ncclUnhandledCudaError: Cuda failure 999 'unknown error'
highA generic CUDA 'unknown error' (999) surfaces during NCCL communicator initialization, usually pointing to a GPU in a bad state or a driver/runtime mismatch rather than an NCCL bug....
broadcast_coalesced Fails with Cuda failure 1 'invalid argument'
mediumDataParallel model replication fails at the SharedInit step with a CUDA invalid-argument error, often tied to legacy nn.DataParallel inside complex launchers....
FSDP ncclSystemError on InfiniBand (works on TCP)
highFSDP all-gather fails with ncclSystemError on one node during collective init over InfiniBand, while a TCP fallback succeeds. Pointing to a per-node fabric or plugin issue....
NCCL RAS Query Crashes Job (Memory Corruption, 2.27.3)
highQuerying the NCCL RAS subsystem during training on NCCL 2.27.3 returns corrupted communicator data and can crash the job via TCPStore connection failures....
NCCL 'Could not find NET with id 0' (NIC Fusion)
highIntermittent NCCL internal errors during init on partial-node allocations, caused by the NIC-fusion feature remapping NET IDs so the hardcoded fallback NET/0 no longer exists....
NCCL RoCE GID Read Failed (Invalid argument)
highNCCL fails to read the RoCE GID on containerized/macvlan setups because GID iteration starts at index 0 where leading entries are all-zero, returning EINVAL....
ncclCommSplit Segfault with Non-Blocking Init
highA dangling group-job pointer causes a segfault during ncclCommSplit when using threads with non-blocking communicator init; fixed in NCCL 2.26.2....
NCCL RAS Race Segfault During Initialization
highA race in the NCCL RAS subsystem segfaults during init when a RAS command runs before peer info is populated; fixed in NCCL 2.27.3....
NCCL NVLS Memory Corruption with Dual-Port NICs
highNVLS did not support dual-port NIC transmission, producing duplicate head-rank entries in the proxy loop and heap corruption; fixed in NCCL 2.19.4....
NCCL Random Segfault from Out-of-Order NIC Names
highInconsistent NIC enumeration (e.g. mlx5_3 before mlx5_0) on one node breaks NCCL topology detection and causes random multi-node segfaults; fixed in NCCL 2.23.4....
NCCL socketStartConnect: Software caused connection abort
mediumA stale socket file descriptor is reused on retry after a failed connect, triggering ECONNABORTED during NCCL communicator init; fixed in NCCL 2.24....
NCCL P2P Fails on RTX 5090 / Blackwell (SM120)
mediumNCCL P2P topology detection lacks SM120 (Blackwell) support, using a wrong shared-memory maximum so peer-to-peer connections fail on RTX 5090....
NCCL MNNVL Init Segfault at Large World Size (Stack Overrun)
highOn GB200 NVL72, NCCL's recursive MNNVL topology search overruns the stack at world_size >= 44, especially with ulimit -s unlimited; fixed in NCCL 2.28....
NCCL Proxy Connect Failed (IPv6 Interference)
mediumNCCL's proxy thread tries to connect over IPv6 while the peer only answers on IPv4, producing 'Proxy Connect failed' on dual-stack hosts....
NCCL Hangs with Exactly Three InfiniBand NICs
mediumNCCL's NIC selection/path-finding can deadlock when a node has an odd number of HCAs (specifically three), while 1, 2, or 4+ work fine....
RoCE MTU Mismatch. Completion Error 12 / Vendor Err 129
criticalRoCE MTU mismatches between the NIC and switch cause NCCL RDMA queue-pair errors (completion error 12, vendor error 129). Training hangs or crashes during NCCL init or the first collective. Denpex det...
NCCL Mismatched Collective. Different Ranks Executing Different Operations
criticalNCCL mismatched collective errors occur when different ranks call different collective operations or call the same collective with different parameters. This is a programming error, not a hardware fau...
OFI Memlock Exhaustion. RDMA Memory Registration Failure
criticalNCCL's OFI (OpenFabrics Interface) transport fails to register memory for RDMA when the OS memlock limit is too low. Training crashes at NCCL init with 'Unable to register memory RC:12'. Denpex detect...
ACS Disabled. GPU Direct RDMA Failure (Vendor Err 81)
highWhen Access Control Services (ACS) is disabled in the BIOS, GPU Direct RDMA (GDR) fails with RDMA completion error 4 and vendor error 81. NCCL performance degrades severely or training crashes. Denpex...
NCCL Topology XML Missing NIC Bus ID
highNCCL topology detection fails when the NIC's PCI bus ID is missing from the system topology XML. This causes NCCL to fall back to a suboptimal transport or fail to use GPU Direct RDMA. Denpex detects ...
NCCL BUFFSIZE Oversized, Socket Transport Stall
mediumSetting NCCL_BUFFSIZE too large causes NCCL Socket transport to stall or hang during communication. This is a configuration error where users increase the buffer size hoping for better performance but...
NCCL Topology Detection Regression (v2.18.3+)
highNCCL v2.18.3 introduced a topology detection regression that misidentifies GPU-NIC affinity on some systems, causing NCCL to use a suboptimal communication path. Denpex detects the regression from NCC...
NCCL AllReduce Hang
criticalNCCL allreduce hangs stall training when collective operations can't complete. Denpex identifies the stuck rank or rank pair....
NCCL Communication Timeout
criticalNCCL communication timeouts abort training when collective operations take too long to complete....
NCCL Initialization Error
criticalNCCL initialization errors prevent distributed training from starting due to network or configuration issues....
NCCL Rank Stuck / Straggler
highNCCL rank stuck errors occur when one rank cannot keep up with the collective operation, slowing down all ranks....
NCCL Version Conflict
highNCCL version conflicts prevent proper collective operations when nodes have different versions installed....
DNS Resolution Failure Cascading into Rendezvous and NCCL Bootstrap Errors
highWhen cluster DNS degrades, every layer above it fails with ITS own vocabulary: gaierror in python, client-socket failures in torch.distributed, bootstrap failures in NCCL. Teams debug the fabric while...
vLLM workers time out reading the shared-memory broadcast ring and the engine dies
criticalvLLM distributes each step to its workers through a shared-memory ring buffer. When a worker fails to publish within the read deadline, the reader raises a bare TimeoutError from acquire_read, the exe...
Mixture-of-experts dispatch and combine collectives time out on large NVLink domains
criticalExpert-parallel routing sends every token to the ranks holding its chosen experts and gathers the results back, an all-to-all exchange whose volume depends on what the router chose. On large NVLink do...
gdrcopy gdr_pin_buffer failed GPU virtual address is not mapped to BAR1 aperture
mediumGDRCopy could not pin the GPU virtual address into the CPU-visible BAR1 aperture. The allocation is not eligible for peer-direct mapping, BAR1 space is exhausted, or the kernel module and driver disag...
Gloo Connection refused to host 29500 during initial rendezvous
mediumGloo TCP store connection failed (connection refused or DNS resolution failed), ranks cannot reach the rendezvous point. This entry explains how to confirm the cause, apply the fix, and separate it fr...
ibv_rc_pingpong: Failed to modify QP to RTR errno 110 Connection timed out
mediumAn RDMA queue pair could not transition to Ready-To-Receive, so the connection never established. On RoCE this is nearly always a GID index or MTU mismatch between the two endpoints; on InfiniBand it ...
NCCL Tree algorithm deadlocked non-power-of-two rank count NCCL_ALGO Ring
highThe NCCL tree algorithm stalled on this topology. Tree is chosen automatically for some rank counts and message sizes, and an irregular or asymmetric rank layout can leave it waiting on a peer that ne...
NCCL ring buffer allocation failed NCCL_BUFFSIZE exceeds available contiguous pinned host memory
mediumNCCL could not allocate the contiguous pinned host buffer requested by NCCL_BUFFSIZE. The configured buffer and communicator count exceeded available lockable memory or the process memlock limit. This...
NCCL multi-NIC packet reordering detected RoCE packets arrived out of sequence pipeline stalled
mediumTraffic spread across multiple NICs arrived out of order. RoCE is highly sensitive to reordering, go-back-N retransmission means a reordered flow collapses throughput rather than degrading gracefully,...
NCCL WARN Failed to initialize transport NET IB Resource temporarily unavailable
mediumNCCL could not bring up a transport (IB/EFA/NET) between two ranks. "Resource temporarily unavailable" here usually means the RDMA device ran out of queue pairs or memory registrations, or the contain...
NCCL WARN Direct RDMA write between GPU NUMA and HCA NUMA failed UPI interconnect
mediumGPUDirect RDMA was attempted between a GPU and a NIC on different NUMA nodes. The transfer has to cross the CPU interconnect (UPI/Infinity Fabric), which is far slower than a local path and on some pl...
NCCL NVLS CUDA failure 1: invalid argument
highThis NCCL warning occurs while the NVLink SHARP transport is creating or registering multicast resources. The line identifies the failing NVLS path, but it does not prove whether the owner is applicat...
NCCL WARN Ring via NET/Socket Call to connect returned Connection refused
mediumAn NCCL ring peer attempted a TCP connection before the expected listener was reachable. The destination rank may have crashed, advertised the wrong interface, or been blocked by host or network polic...
NCCL WARN Connection failed : Network is unreachable NCCL_SOCKET_IFNAME
mediumNCCL tried to reach a peer on an interface that cannot route to it. Almost always NCCL_SOCKET_IFNAME selecting the wrong NIC, a docker0/lo/management interface instead of the fabric, so ranks advertis...
NCCL WARN Bootstrap: Condition [state == ncclSuccess] failed: Connection reset by peer
mediumAn NCCL bootstrap TCP connection was accepted and then reset by a peer before communicator setup completed. The resetting rank may have exited, selected a different interface, or lost network reachabi...
nvidia-peermem kernel rejected peer-direct DMA mapping BAR1 aperture exhausted
mediumnvidia-peermem could not create another peer-direct mapping because the GPU BAR1 aperture has no usable space for it. Stale peer mappings, an undersized BAR1 window, or an unsupported platform layout ...
NVLink SHARP (NVLS) multicast initialization failure
criticalNVLS initialization failures occur while NCCL is preparing NVSwitch multicast resources for collective offload. Diagnose support, allocation, software state, and fabric health separately instead of tr...
OpenSM SM sweep failed: Link state active timeout on Port GUID
highInfiniBand Subnet Manager Flap - The fabric routing changed during the run, dropping active connections. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent infi...
mlx5_core mlx5_pfc_stall_detect PFC storm detected on priority fabric deadlock
highPriority Flow Control pause frames saturated a link. PFC exists to make RoCE lossless, but a congested or misconfigured fabric can propagate pause backward through switches, a "congestion tree" that s...
Training Stability
70NaN Detection and Skip
highNaN detection and skipping prevents corrupted gradients from propagating but requires careful implementation....
LR Without Warmup or Decay
highTraining without learning rate warmup or decay causes slow convergence and poor final performance....
Learning Rate Finder Result Misuse
mediumMisusing the results of a learning rate finder causes poor training setup choices....
Gradient Accumulation BatchNorm Issue
highGradient accumulation with BatchNorm causes incorrect normalization because BN computes statistics on smaller sub-batches....
Label Noise Training Issue
highLabel noise in training data causes poor model generalization and unexpected training behavior....
Spectral Norm Clipping
mediumSpectral norm clipping for GAN training has different requirements than gradient clipping for other models....
Weight Decay Misconfiguration
mediumWeight decay misconfiguration causes overfitting, underfitting, or training instability depending on the wrong choice....
EMA Decay Misconfiguration
mediumExponential Moving Average (EMA) decay misconfiguration causes poor model averaging and training instability....
Lookahead Optimizer Issues
mediumLookahead optimizer issues arise from improper k (inner steps) or alpha (slow weight) values that destabilize training....
Ranger Optimizer Issues
lowRanger optimizer combines RAdam and Lookahead; misconfiguration can cause training instability or poor convergence....
Adafactor Optimizer Issues
lowAdafactor optimizer issues arise from incorrect epsilon, scaling factor, or relative step handling....
SAM (Sharpness-Aware Minimization) Optimizer Issues
mediumSAM optimizer issues arise from the two-forward-pass requirement, learning rate issues, or rho misconfiguration....
Lion Optimizer Issues
lowLion optimizer issues arise from incorrect learning rate (typically 3-10x lower than Adam) or momentum configuration....
AMP BF16 vs FP16 Confusion
lowBF16 and FP16 mixed precision have different numerical properties; choosing the wrong one causes instability or wasted memory....
Spectral Normalization Collapse
mediumSpectral normalization can cause mode collapse or training failure when applied incorrectly to GANs....
SWA (Stochastic Weight Averaging) Training
lowSWA training issues arise from incorrect averaging frequency, learning rate schedule for SWA, or BN update steps....
Polyak Averaging Issues
lowPolyak averaging issues arise from incorrect averaging window, frequency, or weight initialization....
Curriculum Learning Issues
mediumCurriculum learning issues arise from poorly designed difficulty progression that hurts rather than helps training....
Cyclic LR Scheduler Issues
lowCyclic LR scheduler issues arise from incorrect base/max LR, step size, or mode (triangular, triangular2, exp_range)....
One-Cycle Policy Issue
lowOne-cycle policy issues arise from incorrect max_lr, momentum range, or training duration that destabilize training....
Layer Norm Weight Decay
lowApplying weight decay to LayerNorm and bias parameters hurts training and can prevent convergence in transformers....
Fine-Tuning Failure
highFine-tuning failures occur when pretrained model knowledge is destroyed by aggressive learning rates or insufficient data....
Loss Curve Anomaly
mediumLoss curve anomalies (spikes, plateaus, oscillations) indicate underlying training issues that need diagnosis....
Warmup Missing
mediumMissing warmup causes early training instability, especially with large learning rates or transformer models....
NaN Loss
criticalNaN loss in training is critical because it propagates through all parameters and corrupts the model permanently....
Gradient Clipping Missing
mediumMissing gradient clipping causes gradient explosion in RNNs, transformers, and GANs....
Mixed Precision Loss Scale
mediumMixed precision loss scale issues occur when GradScaler doesn't update properly, causing underflow or overflow in FP16 training....
LR Too High
highLearning rate too high causes training instability, loss divergence, or NaN loss....
Gradient Explosion
highGradient explosion causes loss spikes, NaN loss, and training instability, especially in RNNs and deep networks....
Loss Not Decreasing
highLoss not decreasing indicates fundamental training issues: wrong LR, broken model, bad data, or wrong loss function....
Cosine Annealing Issue
lowCosine annealing issues arise from incorrect min_lr, T_max, or warm restarts that cause poor convergence....
LR Too Low
mediumLearning rate too low causes slow convergence, plateau at high loss, or training to appear stuck....
Mixed Precision Overflow
highMixed precision overflow occurs in FP16 training when values exceed FP16 range (65504), causing inf/NaN....
Init Seed Mismatch
lowDifferent random seeds across runs cause non-reproducible results, making experiments hard to compare....
Runtime Error (Generic)
highGeneric runtime errors can indicate various issues from code bugs to hardware problems....
PyTorch torch.compile Error
hightorch.compile errors crash training when the compiled graph has issues with the model or hardware....
PyTorch JIT Compile Error
highPyTorch JIT compilation errors crash training when the script or model uses unsupported features....
AdamW Weight Decay Misconfiguration
highAdamW weight decay misconfiguration causes poor generalization or unstable training....
Adam Epsilon Hyperparameter Issue
mediumAdam epsilon hyperparameter issues cause training instability or poor convergence....
SGD Momentum Configuration Issue
highSGD momentum misconfiguration causes training to oscillate, diverge, or converge slowly....
EMA Checkpoint Issue
mediumEMA (Exponential Moving Average) checkpoint issues cause problems with model averaging across checkpoints....
LR Warmup-Decay Schedule Issue
mediumLR warmup-decay schedule issues cause training instability at transitions between phases....
Wrong Weight Initialization
highWrong weight initialization causes training instability with NaN losses, slow convergence, or dead neurons....
EMA Decay Too High
mediumEMA (Exponential Moving Average) decay values that are too high or too low cause poor model averaging....
Gradient Accumulation Misuse
mediumGradient accumulation misuse causes incorrect gradient updates or memory issues....
DeepSpeed fp16: Current loss scale already at minimum
highPersistent fp16 overflow drives the dynamic loss scale down to its minimum and DeepSpeed aborts. Typically a bf16-pretrained model being fine-tuned in fp16 on hardware without bf16....
DeepSpeed bf16 Gradient Norm Underflow
highDeepSpeed's bf16 training can trigger 'assert all_groups_norm > 0' because bf16 gradient norms can underflow to zero. This is a numerical precision issue specific to bf16's limited range. Denpex detec...
DeepSpeed NaN from overlap_comm + contiguous_gradients
highEnabling both overlap_comm and contiguous_gradients in DeepSpeed ZeRO-3 causes gradient buffer reuse races that produce NaN losses. This is a known DeepSpeed bug where the communication overlap reads ...
CUDA Device-Side Assert Triggered
highA CUDA kernel hit a device-side assertion. Almost always an out-of-bounds index into an embedding, loss, or gather/scatter op. Because CUDA is asynchronous, the reported stack trace points at an unrel...
Unsloth/TRL Warning: attention implementation not flash_attention_2 with packing
lowWhen fine-tuning with Unsloth + TRL using sample packing or padding-free training, the trainer warns that the attention implementation is not flash_attention_2 even though it was configured. Flattened...
Unsloth Fused Loss Breaks with Transformers average_tokens_across_devices=True
highMulti-GPU fine-tuning with Unsloth breaks when the Transformers default average_tokens_across_devices=True multiplies the loss by num_processes. The Unsloth fused-loss backward does not expect that sc...
GRPO/vLLM: 'Inference tensors cannot be saved for backward'
highGRPO training that feeds vLLM-generated tensors into the trainable graph fails with 'Inference tensors cannot be saved for backward'. vLLM produces tensors under torch.inference_mode(), which cannot e...
Unsloth Gemma 3: 'Gemma3ModelOutputWithPast' object has no attribute 'loss'
highFine-tuning Gemma 3 with Unsloth crashes with AttributeError: 'Gemma3ModelOutputWithPast' object has no attribute 'loss'. A transformers change to the Gemma3 output class outran Unsloth_zoo's patch, w...
Megatron-LM Hangs at Fused Kernel Compilation
mediumMegatron-LM training hangs at startup while compiling fused kernels (right after 'using torch.float16 for parameters ...') and never proceeds. A stale or contended megatron/fused_kernels/build directo...
ValueError: Another Profiling Tool Is Already Active
lowEnabling PyTorch Lightning's profiler raises 'ValueError: Another profiling tool is already active'. Python's cProfile allows only one active profiler per thread, so a second cProfile-based profiler (...
PyTorch Lightning + torch.compile: MisconfigurationException on self.log
mediumTraining a Lightning model with torch.compile crashes in the logger connector with a 'called self.log twice with different arguments' MisconfigurationException raised inside the compiled region. Dynam...
DeepSpeed Training Hangs at Start with HuggingFace auto_find_batch_size
mediumDeepSpeed (ZeRO offload) training with HuggingFace Trainer auto_find_batch_size=True hangs right after model load at 0/N steps. The batch-size auto-search re-initializes the engine and desynchronizes ...
Gradient Explosion
highGradient explosions cause loss to diverge to NaN. Denpex traces the norm spike to the layer and step....
NaN Loss During Training
highNaN loss corrupts training state. Denpex traces NaN propagation to the originating layer....
Weight Divergence Across Ranks
criticalWeight divergence silently corrupts distributed training. Denpex detects divergence by comparing per-rank weight snapshots....
Infinity Loss / Inf Weights
criticalInfinity loss or weights occur when loss values overflow to infinity, often from numerical instability in mixed-precision training....
Zero Gradient / Dead Neurons
highZero gradients stall training when ReLU neurons die or gradient flow is broken in the network....
Loss Plateau / Training Stalled
highLoss plateaus occur when training stops making progress, often due to suboptimal hyperparameters or model architecture issues....
Gradient Explosion Caused by Corrupted All-Reduce (Not Learning Rate)
highGradient norms explode suddenly while loss remains normal because the cross-rank reduction itself is corrupting values. In-network reduction (SHARP) faults, NCCL data corruption over a marginal link, ...
CUDA Device-Side Assert from Tokenizer/Embedding Vocab Mismatch
highindexSelectLargeIndex: srcIndex < srcSelectDimSize assertion fires when input token ids exceed the embedding table size. The standard outcome of pairing a tokenizer that has added tokens with a model ...
NaN Loss from TransformerEngine FP8 Scaling Saturation
highFP8 training with delayed scaling produces NaNs when an activation outlier saturates the scaling factor (amax history too short / margin too small). Loss and gradients are healthy until the exact step...
ZeroDivisionError float division by zero GradScaler.step all gradients unscaled to zero or Inf
mediumThe AMP gradient scaler reached a state where every gradient was zero or non-finite, so the scale update divided by zero. The scaler is reporting a numerical collapse upstream, not causing one. This e...
flash_attn_func produced all NaN values scale factor reciprocal overflowed FP8 E4M3 range
mediumThe FP8 attention scale or its reciprocal left the representable E4M3 range, so the kernel produced non-finite output. This is a scale-calibration failure before it is a general training-divergence fa...
LayerNorm backward pass produced Inf values input variance below machine epsilon
mediumLayerNorm produced non-finite gradients because the input variance underflowed. The backward pass divides by sqrt(var + eps); in FP16 a near-constant activation drives variance below representable ran...
Loss is NaN gradients contained NaN in transformer layer mlp c_proj bf16
mediumTraining loss became NaN. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent numerics failures....
Infrastructure
66Dual ISP BGP Route Withdrawal Causing Complete GPU Cloud Region Outage
criticalLambda Labs' us-south-3 region experienced a complete network outage when both redundant ISPs simultaneously stopped advertising BGP routes. The primary fiber link was damaged the prior day, shifting ...
Routine UPS Maintenance Triggering Cascading Power and Cooling Failure Across GPU Cloud Region
criticalA routine UPS-related maintenance procedure in Lambda's us-south-1 region unexpectedly affected power delivery to cooling systems, causing networking equipment and other hardware to either power off o...
Remediation Storm Prevention via Circuit Breaker Pattern in AutoClusters
highCrusoe's AutoClusters system implements a circuit breaker pattern that pauses automatic node replacement when failure patterns look anomalous. If too many nodes in a cluster fail within a short window...
Network Storage Volume Causing Process Hangs on H100 GPU Nodes
highRunPod discovered an issue affecting pods using volume disk or network storage in their CA-MTL-1 region. When executing commands on storage-backed files, processes would hang indefinitely even though ...
MongoDB Info Cache Collection Queries Overloading Database During HuggingFace Hub Outage
criticalThe Hugging Face Hub suffered an extended 36-hour outage when repeated requests to space_info_cache and datasets_info_cache MongoDB collections overloaded the database cluster. A script repeatedly que...
Ray Actor Resource Reservation Causing GPU Starvation from Occupied CPU Slots
highAnyscale users experienced GPU starvation when CPU-heavy Ray actors consumed all available CPU slots on GPU nodes, preventing GPU-dependent actors from ever being scheduled. A SpectrogramExtractor wit...
Host Component Kernel Panic Causing Intermittent Network Connectivity on GH200 Instances
highLambda's us-east-3 region, serving exclusively GH200 instances, experienced intermittent network connectivity caused by a host component kernel panic. Nodes would crash and become unreachable until po...
Ray Data Auto-Scaling Failure from Resource Shape Mismatch Between Requested and Available
mediumRay Data auto-scaling fails when operator resource requirements exceed available cluster resources, throwing ActorUnschedulableError. The specific case documented by Anyscale involved a MapBatches ope...
AWS us-east-1 Outage Degrading GPU Cloud Control Plane with Multi-Region Failover Response
highAn AWS us-east-1 outage degraded RunPod's control plane, making the UI, API, and serverless coordination unavailable for GPU users. However, running pod workloads remained fully operational since GPU ...
Xet Storage Migration Workers Filling Disk with Orphaned Temporary Shard Files
highDuring HuggingFace's migration from Git LFS to Xet storage backend, migration worker pods filled their ephemeral disks with orphaned temporary shard files. The shard files were first written to /tmp a...
NCCL Errors as Surface Symptom for Diverse Underlying Infrastructure Root Causes
mediumIn large-scale distributed training, NCCL errors are almost always the surface symptom rather than the root cause. The actual failure originates at a lower infrastructure layer: GPU hardware fault, st...
RAID Storage Failure
criticalRAID storage failures cause data loss and training interruption when storage media degrades....
SLURM Cgroup Limit
highSLURM cgroup limits restrict resources (CPU, memory, GPU) for jobs, causing OOM kills or throttling when exceeded....
Kubernetes GPU Pod Pending
highKubernetes GPU pods can stay in Pending state when GPU resources are not available or configured incorrectly....
nvidia-smi Missing or Broken
highnvidia-smi is missing or broken when NVIDIA driver is not properly installed, blocking GPU access entirely....
GPU Temperature Throttling
highGPU temperature throttling reduces clock speed and performance when GPUs overheat, sometimes causing training failures....
Cluster Shared Storage Slow
highCluster shared storage (NFS, Lustre, GPFS) can be a major bottleneck for distributed training data loading....
MIG and MPS Conflict
mediumMIG (Multi-Instance GPU) and MPS (Multi-Process Service) both partition GPU resources, causing conflicts when used together....
GPU TDP / Power Limit
mediumGPU TDP and power limit configuration affects performance, thermals, and energy efficiency of training workloads....
SLURM Time Limit
highSLURM time limit causes training jobs to be killed when they exceed their requested walltime, losing progress....
Container Time Drift
lowContainer time drift occurs when container time differs from host time, causing TLS failures and timestamp issues....
DNS Resolution Failure
mediumDNS resolution failures prevent distributed training from finding nodes, downloading from HF Hub, or connecting to services....
Ray Task Timeout
highRay task timeouts occur when tasks take longer than the configured timeout....
Ray Dataset Out of Memory
highRay Dataset OOM occurs when the dataset pipeline uses more memory than available in Ray object store or worker memory....
NFS / Network Filesystem Stall
highNFS stalls freeze training when the storage server becomes unresponsive....
Cloud Storage Throttling
highCloud storage throttling slows or fails training when too many requests hit the storage service....
SLURM Node Out of Memory
criticalSLURM node OOM kills training when the requested memory exceeds the SLURM memory limit....
Cloud GPU Quota Exceeded
highCloud GPU quota limits prevent spinning up new training instances when the account has exhausted its allocated GPU quota....
GPU Scheduling Delay
mediumGPU scheduling delays cause jobs to wait in queue for GPU resources to become available....
Parameter-Plane Cable Link Down
highA physical link on the parameter (backend) network plane goes down, isolating a node's RDMA path and stalling distributed collectives. One of the most common hardware faults in production traces....
NIC Degradation (Link Speed Low / NIC Lost / GID Error)
highA network interface degrades. Negotiating a lower link speed, disappearing, or reporting GID errors. Silently throttling RDMA collective throughput across the job....
Power Supply Failure / Redundancy Lost
highA node power supply fails or loses redundancy, risking a hard node-down event mid-training; sensor telemetry gives early warning before the node drops....
Fan Speed Critical / Cooling Redundancy Lost
highA cooling fan hits a critical speed/fault or loses redundancy, leading to rising GPU temperatures and thermal throttling if not addressed....
Checkpoint I/O Stall (NFS RPC Saturation)
highCheckpoint writes stall because the NFS RPC layer saturates its slot table, producing a 'bandwidth paradox' where the network is barely utilized yet I/O is the bottleneck....
Docker /dev/shm Exhaustion. NCCL Shared Memory Allocation Failure
highDocker containers default to 64MB of /dev/shm, which is far too small for NCCL shared memory inter-process communication. Training crashes with 'posix_fallocate failed: No space left on device'. Denpe...
Disk Full During Training
highFull disks crash training by preventing checkpoint writes....
OOMKilled Containers Without Clear Attribution
mediumKubernetes OOM kills report the process name (e.g., 'python' or 'java') rather than the pod name, making it highly difficult to trace which specific distributed training job caused a cluster-wide memo...
GPFS/Spectrum Scale Daemon Stalls: Token Contention, Quorum Loss, Deadlocks
criticalWhen mmfsd degrades. Token-manager overload, quorum loss, or internal deadlock. Mounts stall cluster-wide and training processes block in D-state on I/O. Jobs neither progress nor die, mimicking silen...
Azure Blob Storage Throttling and Timeouts in Training I/O Paths
mediumAzure Blob returns 503 "server busy" and operation timeouts when per-account/partition limits are exceeded by dataset streaming or parallel checkpoint uploads. SDK surfaces vary (ServiceResponseError,...
Socket Interface Bootstrap Isolation
highThe NCCL bootstrap routine binds to a virtual ethernet interface (veth) created by Docker/Kubernetes, which lacks routability to peer nodes. TCP connection attempts silently blackhole....
vLLM tensor parallelism fails in a container because shared memory is limited to 64 MB
criticalA container gets 64 MB of shared memory by default. PyTorch and NCCL use that space to move data between the worker processes of a tensor-parallel deployment, so a model that runs on one GPU fails to ...
An out-of-tree GPU or storage kernel module stops building after a kernel upgrade
criticalDKMS rebuilds out-of-tree modules against each new kernel, but it can only recompile the source it was given. When the kernel removes or renames an internal function the module calls, the rebuild fail...
libfabric efa_cq_poll_ibv failed to poll cq Transport endpoint is not connected
mediumThe EFA provider reported a disconnected endpoint while polling the completion queue. A peer process exit, security-group mismatch, EFA attachment problem, or libfabric transport fault interrupted the...
NCCL WARN RoCE MTU mismatch detected local MTU != remote MTU mlx5
mediumRoCE MTU Mismatch - Packets are being dropped because the node MTU exceeds the switch MTU. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent cloud failures....
flashinfer CUDA kernel launch failure cudaErrorIllegalAddress paged_prefill
highA FlashInfer paged-prefill kernel accessed an invalid GPU address. Common owners are malformed page metadata, a shape or dtype unsupported by the selected kernel, or a binary built for an incompatible...
FP8 GEMM torch._scaled_mm only supported on CUDA capability >= 8.9
mediumFP8 matrix multiply was requested on a GPU without hardware FP8 support. torch._scaled_mm requires compute capability 8.9 or newer (Ada, Hopper, Blackwell); Ampere (sm_80/sm_86) has no FP8 tensor core...
0/32 nodes are available: Insufficient nvidia.com/gpu
mediumInsufficient nvidia.com/gpu resources, scheduler cannot fit pod on any node. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent k8s failures....
Pod evicted: Usage of ephemeral-storage exceeds limit
mediumThe kubelet evicted the pod for exceeding its ephemeral-storage limit. On training pods this is almost always checkpoint or dataset cache written to the container filesystem instead of to a mounted vo...
Insufficient nvidia.com/mig device is locked by defunct process
mediumMIG partition not accessible. MIG mode off or GPU instance misconfigured. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent mig-vgpu failures....
NVIDIA-Driver-DaemonSet kernel module build failed gcc version mismatch
mediumThe GPU Operator driver daemonset could not build the NVIDIA kernel module for the running kernel. Until it succeeds the node has no driver, so every GPU pod stays Pending while the node otherwise loo...
nvidia-smi mig unable to create GPU instance requested profile is incompatible
mediumThe requested MIG profile does not fit alongside the instances already configured. MIG placements are constrained to fixed slot positions, so a set of profiles that sums to the right memory can still ...
nvidia-gridd failed to acquire license from DLS server license lease expired throttling
mediumThe vGPU guest could not reach its Delegated License Service. NVIDIA vGPU throttles clocks severely when unlicensed, so the symptom users report is "the GPU got slow", not "a license expired". This en...
ray.exceptions.ClusterUnavailableError Raylet process crashed OOM killed
highThe operating system or container memory limit killed the Raylet, which made the cluster unavailable. This is node memory exhaustion, not an object-store eviction or a recoverable worker-only failure....
ray.exceptions.RuntimeEnvSetupError Runtime environment setup timed out
mediumRay could not prepare the job runtime environment before its setup deadline. Package download, dependency installation, or working-directory upload is stalled or too large on at least one node. This e...
sglang RadixCacheError Failed to lock memory page during dynamic prefix eviction
mediumSGLang failed to acquire a radix-cache page lock while dynamic prefix eviction was mutating the cache. Extreme token pressure can expose the race, but repeated failure at moderate pressure indicates a...
slurmstepd: task/cgroup: unable to allocate requested memory for GPU step
mediumslurmstepd could not create the memory cgroup for the step. The requested amount exceeds what the node can back, or the cgroup hierarchy is misconfigured, the job never starts rather than being killed...
Node state DRAIN: NVML health check timed out GPU uncorrectable ECC
mediumSlurm drained the node because its NVML health check timed out while the GPU also reported uncorrectable ECC evidence. The timeout is a node-health failure, not a reason to return the GPU to service a...
slurmstepd: error: JOB CANCELLED DUE TO OOM-KILLER
highSlurm step memory cgroup limit hit during NCCL all-gather in FSDP due to memory spike. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent slurm failures....
TensorRT-LLM KVCacheManager Available blocks exhausted
mediumTensorRT-LLM ran out of paged KV-cache blocks. The block pool is fixed at engine build/startup, so concurrent sequences × their lengths exceeded what was reserved, commonly triggered by beam search or...
Dynamic batcher queue exceeded max_queue_delay_microseconds
mediumTriton's dynamic batcher held requests longer than max_queue_delay_microseconds and dropped them. The server is saturated: arrival rate exceeds what the model instances can clear, so the queue never d...
failed to load model TensorRT engine built with CUDA cannot run on host CUDA runtime
mediumA TensorRT engine (a .plan/.engine file) was built against a different CUDA/TensorRT version than the one the server is running. TensorRT engines are not portable across versions, they are compiled ar...
trtllm-build Out of memory during weight-only INT4 quantization
highThe TensorRT-LLM engine build ran out of HOST memory, not GPU memory. Quantization holds full-precision weights in RAM while it converts them, so a 70B model can need well over 100 GB of system memory...
Active LoRA adapter rank exceeds engine pre-allocated max_lora_rank
mediumA LoRA adapter was requested whose rank is larger than the engine reserved at startup. vLLM preallocates LoRA slots sized by max_lora_rank, so a higher-rank adapter cannot be loaded into the running e...
vLLM AsyncEngineWorker died unexpectedly with SIGSEGV
mediumvLLM async engine crashed, a worker process exited unexpectedly. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent inference failures....
ValueError: No available memory for the cache blocks gpu_memory_utilization
mediumvLLM fails to initialize due to pre-allocating too much memory for cache blocks when CUDA graphs are enabled or `--max-num-seqs` is set too high. This entry explains how to confirm the cause, apply th...
CUDA error: an illegal memory access was encountered paged_attention
highA vLLM paged-attention kernel accessed an invalid GPU address. The immediate owner can be corrupted block-table metadata, an unsupported shape or dtype, or a binary compatibility defect in the selecte...
Distributed Training
63NCCL Broadcast Hang
highNCCL broadcast operations can hang when one rank fails to participate in the collective....
DDP Hang at Epoch Boundary
highDDP training hangs at the end of an epoch when one rank exhausts its data partition before others....
DDP Rank Stuck During Training
highOne DDP rank becomes unresponsive and stalls all ranks waiting for gradient sync....
FSDP Flat Parameter Error
highFSDP flat parameter errors occur when the flattened parameter management fails during sharding or unsharding operations....
FSDP Mixed Precision Error
highFSDP mixed precision errors arise when parameter precision settings conflict between FSDP wrapping and autocast....
Tensor Parallel Error
criticalTensor parallel errors occur when model layer splitting across GPUs fails due to dimension mismatches or communication issues....
DeepSpeed Initialization Failed
criticalDeepSpeed initialization fails when configuration is invalid or incompatible with the model....
PyTorch Distributed Error
highPyTorch distributed errors prevent DDP and FSDP from functioning correctly....
NCCL Watchdog Configuration
mediumNCCL watchdog settings control how long collectives can stall before timing out. Wrong settings cause premature or delayed failure detection....
Finding the Culprit Rank in an NCCL Hang
highWhen one rank stalls, NCCL's synchronous collectives freeze every rank, masking which GPU actually failed. Localizing the culprit needs divergence signals, not the NCCL stack trace....
Node Rank Mismatch at NCCL Init
highThe configured world size does not match the number of ranks that actually connect, so NCCL initialization hangs or errors during the communication-setup stage....
DeepSpeed MoE + ZeRO-3 Hang. Missing Leaf Module Marking
highDeepSpeed ZeRO-3 with Mixture-of-Experts (MoE) models hangs during training because MoE blocks need to be marked as leaf modules for ZeRO-3 parameter gathering. Without this marking, ZeRO-3 attempts t...
DeepSpeed ZeRO-3 + PyTorch 2.5 _parameters Dict Error
highDeepSpeed ZeRO-3 crashes with 'dict object has no attribute _in_forward' when used with PyTorch 2.5+, which changed the internal _parameters attribute from a dict to a different type. Denpex detects t...
DeepSpeed ZeRO-3 Small Parameter Partition Bug
mediumDeepSpeed ZeRO-3 crashes with UnboundLocalError in partition_parameters.py when the model has very small parameters (fewer elements than the number of GPUs). The partition math divides a small paramet...
FSDP2 Unwrapped Model Still Has DTensor Weights, save_pretrained Fails
mediumAfter unwrapping an FSDP2 (fully_shard) model the parameters are still DTensors, so save_pretrained or a plain state_dict produces invalid storage or sharded tensors. You must gather a full, unsharded...
bitsandbytes 'invalid configuration argument' (ops.cu) with DeepSpeed Offload
highCombining a bitsandbytes 8-bit optimizer with DeepSpeed ZeRO offload crashes with 'Error invalid configuration argument at line 216 in file .../bitsandbytes/csrc/ops.cu'. The two optimizer-state manag...
FSDP+QLoRA ValueError: Must flatten tensors with uniform dtype (float32 vs bfloat16)
highFSDP combined with QLoRA fails to build its flat parameter: 'Must flatten tensors with uniform dtype but got torch.float32 and torch.bfloat16'. QLoRA keeps some parameters in float32 while the base is...
DeepSpeed 0.14.x Regression: 'Expected all tensors to be on the same device' (ZeRO-3 / Adam Offload)
highAfter upgrading to DeepSpeed >0.14.0 (e.g. 0.14.2), ZeRO-3 / optimizer-offload training crashes with 'Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!'. A...
Accelerate Checkpoints Miss Weights When Using prepare_model Instead of prepare
mediumModel weights are not written by accelerator.save_state when the model was set up with accelerator.prepare_model(model) instead of accelerator.prepare(...). prepare_model only wraps the model for dist...
DeepSpeed ZeRO-3 Error with Parameters of Multiple Dtypes (allgather)
highDeepSpeed ZeRO-3 errors during parameter allgather when the model holds parameters in more than one dtype (e.g. bf16 base with some fp32 modules). Older ZeRO-3 assumed a single dtype for coalesced all...
DeepSpeed Pipeline Parallel Hangs with Variable Input Shapes
highDeepSpeed pipeline-parallel training (PipelineModule) hangs mid-run when microbatch input shapes vary. The PP engine caches the first microbatch's tensor shapes for point-to-point send/recv buffers, s...
DDP Setup Error
criticalDDP setup errors prevent distributed training from initializing correctly....
DDP Port Conflict
highDDP port conflicts occur when the chosen master port is already in use by another process....
DDP NaN Detected on One Rank
criticalDDP NaN detection on a single rank often indicates inconsistent data or hardware between ranks....
DDP OOM During AllReduce
highDDP OOM during allreduce occurs when NCCL communication buffers exceed available GPU memory....
FSDP Missing Keys / Unexpected Keys
highFSDP state_dict missing keys errors prevent checkpoint saving or loading in sharded models. Denpex identifies the source of key mismatches....
FSDP All-Gather Timeout
criticalFSDP all-gather timeouts stall training when sharded parameters cannot be collected from distributed ranks....
DeepSpeed Out of Memory
criticalDeepSpeed OOM errors crash ZeRO-optimized training when memory optimization settings don't match model architecture....
DeepSpeed ZeRO Stuck / Hang
criticalDeepSpeed ZeRO hangs stall training when gradient synchronization stalls or parameter offload produces deadlocks....
DeepSpeed Initialization Failed
criticalDeepSpeed initialization fails when configuration is invalid or incompatible with the model....
Megatron-LM Initialization Failed
criticalMegatron-LM initialization errors prevent large model training from starting due to configuration mismatches....
Torchrun and SLURM Job Step Incompatibility
highTorchrun's approach to spawning jobs conflicts with SLURM's process management, resulting in hung NCCL initialization, rank mismapping, and job allocation failures....
Silent Cascading Straggler
highA single GPU drops in performance without throwing an error, causing all other GPUs in the collective to wait. This silently degrades cluster-wide throughput....
Checkpoint Save/Restore Gathering Timeout
highNCCL timeout occurs while gathering the state dictionary or broadcasting during a checkpoint save or restore operation....
Triaging torchrun ChildFailedError: the Wrapper Is Never the Root Cause
mediumChildFailedError is torchelastic's envelope around a dead worker. The exitcode/signal in its table is the actual signal: -9 host OOM-kill, -11 segfault, -6 abort (often CUDA), 1 python exception whose...
Asymmetric PT2 Compilation Collective Desync
criticalData-dependent control flow causes the JIT compiler to generate divergent execution graphs across ranks based on local data variance. Ranks attempt to execute different collective operations....
Accelerate-DeepSpeed Watchdog Timeout Mismatch
highHugging Face Accelerate integration drops the `InitProcessGroupKwargs` timeout parameter when DeepSpeed owns the distributed initialization process. The PyTorch watchdog defaults back to 600 seconds....
DistributedDataParallel raises an internal reducer assertion when a backward pass arrives unexpectedly
highDDP's gradient reducer arms itself for exactly one backward pass per forward and disarms once that pass is finalised. A second backward, or a backward whose forward was run under a different synchroni...
FSDP2 raises a KeyError on a tied weight while sharding the model
highA language model whose output projection shares its tensor with the input embedding fails to shard. When fully_shard rebuilds parameters as DTensors, the shared tensor appears once rather than twice, ...
FSDP preparation fails because activation checkpointing calls a wrapping policy that was never set
highChoosing not to auto-wrap is legitimate and leaves the wrapping policy unset. Activation checkpointing then tries to apply that policy to decide which submodules to checkpoint, calls the empty value, ...
FSDP fails when composed with CPU parameter offloading
highSharding and CPU offloading both move parameters, and each assumes it is the component deciding where a parameter lives. Enabling them together produces a failure during setup or the first step, in a ...
Ray client connection aborts on ARM64 after a grpcio upgrade while x86 is unaffected
highConnecting to a cluster starts failing intermittently on ARM64 nodes after a transport library is upgraded, while the identical image on x86 continues to work. The client reports that the server abort...
MXFP4 expert weights lose their scale attribute when a mixture-of-experts model loads under FSDP2
highA quantised mixture-of-experts checkpoint loads on a single device and fails under sharded loading. Materialising a module from the placeholder device reads each parameter by name, and the quantised e...
DeepSpeed PPO Actor forward pass deadlocked waiting for Critic ZeRO-3 parameter gather
highThe actor blocked waiting for a ZeRO-3 parameter gather owned by the critic. Two ZeRO-3 models in one process share a parameter coordinator; if their forward passes interleave, each can wait on a coll...
Overflow detected during fp16 gradient unscaling. Skipping step, loss scale halved
mediumFP16 gradient overflow forced the loss scaler to halve repeatedly. Occasional skipped steps early in training are normal; a scale that keeps collapsing means gradients are genuinely exploding or the m...
DeepSpeed ZeRO-Offload NVMe aio_write failed: No space left on device
mediumDeepSpeed ZeRO-Offload filled the NVMe filesystem used for optimizer or parameter swap. The failed aio_write means the offload state is incomplete, even if the training process reports a later optimiz...
DeepSpeed ZeRO-2 tensor bucket buffer exhausted during reduce_scatter
mediumZeRO-2 batches gradients into a fixed communication bucket before reduce-scatter. A gradient tensor larger than the bucket, or too many arriving at once, exhausts it and the reduction cannot proceed. ...
ZeROStage3ParamStatusException: Parameter in Partitioned state, expected Available
mediumZeRO-3 keeps parameters sharded until they are gathered for use. Code touched a parameter outside a gather context, so it was still partitioned, typically custom forward logic, weight tying, or an ini...
Reference model logits shape does not match policy logits shape vocab mismatch
mediumThe reference model and the policy model have different vocabulary sizes, so their logits cannot be compared. DPO scores the policy against the reference token by token, a vocab difference of even a f...
FSDP reduce_scatter backward hook timed out waiting for gradient sync
mediumAn FSDP gradient reduce-scatter did not complete within the collective timeout. Like any collective timeout this names the ranks that were WAITING, not the one that failed to arrive, one rank left the...
FSDP Failed to allocate unpartitioned full weights during forward pre-hook
mediumFSDP ran out of memory gathering a layer's full weights for the forward pass. Sharding reduces STEADY-STATE memory, but each layer is briefly unsharded to compute, so the peak is set by the largest si...
jax.distributed initialize timed out waiting for rank 0 on coordinator
mediumjax.distributed.initialize() timed out waiting for all processes to check in with the coordinator. One or more workers never reached the rendezvous, they crashed at startup, cannot reach the coordinat...
jax.errors.XlaRuntimeError: RESOURCE_EXHAUSTED: Out of memory while trying to allocate
highXLA could not allocate device memory. JAX preallocates ~75% of VRAM at first use by default, so an OOM here often reflects the preallocation policy or memory fragmentation across recompilations rather...
P2PTimeoutError: Timeout receiving forward activations from rank
highA pipeline stage waited for activations from its neighbour and timed out. In pipeline parallelism a single slow or dead stage stalls the whole pipeline, so the rank that reports the timeout is the VIC...
Rotary embedding dimension must be divisible by head dimension
mediumThe rotary embedding dimension does not divide evenly into the attention head dimension. This is a configuration arithmetic error, caught at construction: hidden_size / num_attention_heads must be com...
Megatron Sequence Parallel requires Tensor Parallel size > 1
mediumSequence parallelism was enabled while tensor parallel size remained 1. Megatron partitions sequence work across the tensor-parallel group, so there is no group to partition across in this configurati...
Watchdog caught collective operation timeout WorkNCCL AllGather
highNCCL collective timed out. One rank stopped participating. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent pytorch-fsdp-ddp failures....
PlacementGroupCreationError placement group creation timed out insufficient GPU resources
mediumRay could not reserve the requested placement group before the timeout. The cluster does not have a set of nodes that simultaneously satisfies the bundle layout, commonly an RLHF setup asking for colo...
torch.OutOfMemoryError: CUDA out of memory. Tried to allocate
highGPU ran out of memory during training. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent pytorch-fsdp-ddp failures....
Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu
mediumTensors on different devices (CPU vs GPU, or different GPUs) in an operation that requires same-device tensors. This entry explains how to confirm the cause, apply the fix, and separate it from adjace...
Cowardly refusing to serialize non-leaf tensor
mediumSomething still attached to the autograd graph was handed to the checkpoint writer. Saving it would serialise the graph as well as the values, so torch refuses rather than writing a checkpoint that ca...
torch.distributed.elastic.multiprocessing.errors.ChildFailedError exitcode -9
mediumtorchrun ChildFailedError, a worker process died and torchelastic is reporting the WRAPPER error. The real failure is in the per-rank traceback above/below this block (exitcode -9 = OOM kill, 1 = pyth...
PPOTrainer CUDA out of memory cannot fit reference model policy model and value head
highTRL PPO could not keep the policy, reference model, value head, activations, and optimizer state within the available VRAM. The simultaneous model residency makes this different from a single-model ba...
Data Pipeline
52Augmentation Pipeline Error
highAugmentation pipeline errors cause inconsistent or corrupted training data when transforms fail or produce unexpected outputs....
TorchData Pipeline Error
mediumTorchData (torch.utils.data.datapipes) errors occur when complex data pipelines have configuration or compatibility issues....
HDF5 Data Corruption
highHDF5 file corruption causes training to fail with I/O errors or silently load incorrect data....
Arrow IPC Format Error
mediumApache Arrow IPC errors occur when serialized Arrow data is corrupted or has version incompatibilities....
TFRecord / tf.data Error
mediumTFRecord and tf.data errors occur when TensorFlow data pipeline has issues with the training data or pipeline configuration....
ImageNet Preprocessing Mismatch
mediumImageNet preprocessing mismatches cause pretrained models to underperform because input normalization differs from training....
WebDataset TAR Corruption
mediumWebDataset TAR file corruption causes data loading failures and missing samples during training....
Augmentations Too Aggressive
mediumOverly aggressive data augmentations hurt model performance by distorting critical features in training data....
MMap File Handle Exhaustion
mediumMemory-mapped (mmap) file handles are exhausted when datasets have many large files, causing data loading failures....
Shuffle Buffer Too Small
lowSmall shuffle buffers cause poor data ordering during training, hurting model generalization....
Tokenizer Padding Mismatch
mediumTokenizer padding mismatches cause data loader errors or poor model performance when padding side or token ID differs....
Audio Sample Rate Mismatch
mediumAudio sample rate mismatches between training data and pretrained models cause poor ASR/TTS performance....
Parquet Schema Mismatch
mediumParquet schema mismatches occur when reading parquet files with different schemas than expected by the loading code....
Streaming Data Error
mediumStreaming data errors occur when loading data from cloud storage or remote endpoints fails mid-training....
Video Codec Mismatch
mediumVideo codec mismatches between training data and pretrained video models cause loading failures or poor performance....
TFRecord Corrupted Shard
mediumTFRecord corrupted shard errors occur when individual TFRecord files are truncated or have inconsistent examples....
LMDB Corruption
mediumLMDB corruption occurs when LMDB files are not properly closed, transactions interrupted, or map_size exceeded....
RAG Embedding Mismatch
mediumRAG embedding mismatches cause retrieval to return irrelevant documents when embedding model differs between indexing and query....
Multi-Label Class Imbalance
mediumMulti-label class imbalance causes poor performance on rare labels and biased predictions toward frequent labels....
Contrastive Learning Augmentation
mediumContrastive learning augmentation pipelines must be carefully tuned to create useful positive pairs without destroying semantic content....
Image Resize Artifacts
lowImage resize artifacts degrade model accuracy when resize method (BILINEAR, BICUBIC, LANCZOS) doesn't match pretrained model expectations....
LLM Tokenization Truncation
mediumLLM tokenization truncation silently cuts long sequences, causing loss of information in long documents....
Data Versioning Issue
mediumData versioning issues occur when training data changes between runs without tracking, making results non-reproducible....
Dataset Bias
highDataset bias causes models to learn spurious correlations that don't generalize to real-world data....
Validation Set Leakage
highValidation set leakage causes overly optimistic metrics because training data includes validation samples....
Tokenizer Version Mismatch
mediumTokenizer version mismatches between training and inference cause different token IDs for same text, breaking model behavior....
Image Corruption Detection
mediumImage corruption detection helps identify and skip/fix corrupted images that would otherwise crash training....
Determinism Broken
mediumBroken determinism causes non-reproducible training runs, making debugging and comparison difficult....
Multi-Task Learning Conflict
mediumMulti-task learning conflicts arise when tasks have different scales, gradients, or learning dynamics that destabilize training....
Missing Data Augmentation
mediumMissing data augmentation causes overfitting and poor generalization, especially on small datasets....
Class Imbalance
highClass imbalance causes models to predict majority class and have poor performance on minority classes....
Audio Channel Mismatch
mediumAudio channel mismatches (mono vs stereo) cause model errors or poor performance in audio ML pipelines....
Text Encoding Mismatch
mediumText encoding mismatches (UTF-8 vs Latin-1) cause data loading failures or corruption in NLP training....
Tokenization Error
mediumTokenization errors occur when text data has issues that prevent proper tokenization....
HuggingFace Tokenizer Error
mediumHuggingFace tokenizer errors crash training when tokenizer configuration mismatches model architecture....
Data Augmentation Error
mediumData augmentation errors occur when augmentation libraries fail or produce corrupted outputs....
Python Multiprocessing Fork Issue
highPython multiprocessing fork issues cause workers to deadlock or share state incorrectly across ranks....
PyTorch Multiprocessing Error
highPyTorch multiprocessing errors prevent DataLoader workers from functioning correctly....
Dataloader num_workers=0 Too Slow
mediumDataLoader with num_workers=0 is often too slow for GPU training, causing the GPU to wait for data....
Pinned Memory Transfer Issue
mediumPinned memory transfer issues cause slow GPU-CPU data transfer or OOM errors....
BatchNorm DDP Synchronization Issue
highBatchNorm synchronization issues in DDP cause inconsistent statistics between ranks and degraded model quality....
WebDataset Error
highWebDataset errors occur when streaming dataset format has corrupted shards or URL issues....
Tokenizer Padding and Truncation Error
mediumTokenizer padding and truncation errors cause sequence length mismatches and OOM during training....
Audio Data Loading Error
mediumAudio data loading errors occur when audio files are corrupted, format unsupported, or sample rates mismatch....
PyTorch Lightning Fault-Tolerant Resume Fails with DataLoader num_workers>1
mediumResuming a run with PyTorch Lightning's experimental fault-tolerant training raises a MisconfigurationException about the worker state when the DataLoader uses num_workers>1. The feature never reliabl...
Unsloth SFTTrainer: 'int' object has no attribute 'mask_token'
mediumConstructing an Unsloth SFTTrainer (often in Colab) raises AttributeError: 'int' object has no attribute 'mask_token'. The crash comes from API drift between Unsloth's patched trainer __init__ and a n...
HuggingFace datasets .map() 'subprocess abruptly died' on Windows
mediumDataset preprocessing with datasets.map(num_proc>1) crashes on Windows with 'One of the subprocesses has abruptly died during map operation'. Windows uses spawn rather than fork, so non-picklable map ...
Dataloader Worker Failure
highDataloader worker failures stall training or produce corrupted batches....
Data Pipeline / DataLoader Stalls
mediumTraining is bottlenecked or completely halted due to the DataLoader failing to fetch the next batch in time....
cuFileRead failed with error 5002 CU_FILE_DRIVER_NOT_INITIALIZED
mediumGPUDirect Storage was requested but the cuFile driver is not loaded, so the nvidia-fs kernel module is unavailable. Reads either fail outright or silently fall back through host memory, losing the ent...
DataLoader worker is killed by signal: Bus error shared memory exhausted
mediumPyTorch DataLoader uses shared memory (/dev/shm) to pass tensors to the main process. K8s defaults /dev/shm to 64MB. When data is large, this fills up rapidly, leading to Bus error or Pod OOMKilled. T...
nfs: server not responding still trying task blocked for more than 120 seconds
mediumD-State Task Hang - A process is stuck in uninterruptible sleep (D-state), waiting on hardware or network I/O. This entry explains how to confirm the cause, apply the fix, and separate it from adjacen...
Reliability
41Sequence Length Imbalance Causing Distributed Training Stragglers
highSequence length imbalance across micro-batches within the same global batch causes certain pipeline stages to compute significantly longer than others. ByteDance's production trace analysis found that...
Silent Data Corruption from GPU Hardware Faults Causing Loss Spikes and Model Divergence
criticalSilent data corruption arising from latent GPU hardware defects bypasses ECC and other hardware detection mechanisms, causing incorrect computation results without any error signal. In LLM training, t...
NIXL Firmware Page Registration Fan-Out Triggers Host OOM Kills on HGX H200 and B200
criticalNVIDIA Inference Xfer Library workloads on HGX H200 and HGX B200 instances triggered host OOM kills because UCX registered GPU memory as firmware pages across all 8 NICs simultaneously, consuming ~34 ...
MTTF Scaling Inversely with GPU Count in Large ML Research Clusters
highMeta FAIR's analysis of 11 months of operational data across two Research SuperClusters confirmed that Mean Time to Failure for training jobs scales inversely with GPU count, dropping from 47.7 days a...
Python Garbage Collection Triggering Periodic Training Stragglers in Distributed LLM Training
mediumByteDance's production trace analysis found that Python's automatic garbage collection causes periodic, transient straggler behavior in distributed LLM training. Full GC passes on long-lived objects (...
Mid-Day Temperature Fluctuations Causing 1-2% Training Throughput Variation
lowDuring Llama 3 training on 16,384 H100 GPUs, Meta observed that mid-day temperature fluctuations of 5-10 degrees Celsius caused 1-2% throughput variation across the training cluster. The effect was at...
Single-Bit Exponent Flip in BF16 Causing Silent Gradient Divergence Across Data-Parallel Ranks
criticalIn BF16 distributed training, a single-bit flip in the exponent field of a gradient tensor can propagate silently through NCCL all-reduce without detection, causing one rank's gradient update to diver...
1-2 GPU Hardware Failures Per Week During BLOOM 176B Training on 384 A100 GPUs
highDuring the 4-month training of the 176B-parameter BLOOM model on 384 NVIDIA A100 GPUs, the team experienced 1-2 GPU hardware failures per week on average. Each failure required a 30-60 minute node rep...
PyTorch Caching Allocator Memory Fragmentation Causing False Straggler Slowdown
mediumByteDance's production straggler analysis identified PyTorch's CUDA caching allocator memory fragmentation as a previously unreported cause of training stragglers. Over long-running jobs, the allocato...
MTTF Optimization from 0.33 to 3.66 Days Through Purpose-Built Infrastructure Architecture
mediumCoreWeave's six-week benchmark training a 30B-parameter Llama-3-style model on 1,024 H100 GPUs demonstrated that purpose-built infrastructure architecture can improve Mean Time to Failure from the ind...
Automatic Node Failure Detection and Training Resumption Using Node Doctor and Watchdog
highMosaicML's training platform automatically detected hardware failures and resumed training without human intervention using its Node Doctor and Watchdog services. During Stable Diffusion training on 1...
Training Restart Stuck
highTraining restarts after failure can get stuck if cleanup didn't complete properly, blocking new training jobs....
Training Checkpoint Corruption on Write
criticalTraining checkpoint corruption on write happens when storage failures, power loss, or process kills interrupt the write operation....
NFS Mount Failure
highNFS mount failures during training cause silent data corruption, hangs, or training failures when accessing shared storage....
Spot Instance Preemption
highSpot instance preemption can kill training jobs with little notice, causing data loss and incomplete training runs....
Graceful Shutdown Missing
highMissing graceful shutdown handlers cause training jobs to be killed without saving final checkpoint or metrics....
Disaster Recovery Missing
criticalMissing disaster recovery planning means training progress can be lost due to hardware failure, corruption, or natural disaster....
Network Partition
criticalNetwork partitions split distributed training into isolated groups, causing hangs, deadlocks, or wrong gradients....
HDF5 Corruption
mediumHDF5 corruption occurs when files are not properly closed, written from multiple processes, or have incompatible versions....
OOM Killed Mid-Step
highOOM kills during training are abrupt and lose progress, often happening mid-step when peak memory is reached....
Training Stuck No Progress
highTraining appears stuck with no progress, often caused by deadlocks, infinite loops, or network hangs in distributed training....
Silent Data Corruption
criticalSilent data corruption during training causes wrong results without error messages, often from hardware issues....
DataLoader Failure
highDataLoader failures cause training to crash or hang when data loading is misconfigured or data is corrupted....
Zombie Process
mediumZombie processes occur when child processes aren't properly reaped, exhausting process table and file descriptors....
Wandb/TensorBoard Failure
lowWeights & Biases or TensorBoard failures cause loss of experiment tracking, making debugging and comparison hard....
Checkpoint Partial Save
criticalPartial checkpoint save happens when training crashes or is killed before all model state is saved....
Training Resume Failure
highTraining resume failures occur when checkpoints can't be loaded properly to continue from a previous run....
Missing Signal Handler
highMissing signal handlers prevent graceful shutdown of training, causing checkpoint loss and resource leaks....
Cgroup Memory Limit
highCgroup memory limits cause OOM kills when training exceeds the container or pod's memory limit....
DeepSpeed ZeRO-3: Cannot partition a param in flight (save)
highsave_16bit_model() under ZeRO-3 asserts because parameters are still in flight when the save interval is not a multiple of the gradient-accumulation steps....
DeepSpeed ZeRO-3: still have inflight params (backward)
highZeRO-3 backward fails because parameters from a previous forward path remain INFLIGHT, common with dynamic forward graphs such as RLHF, NAS, or conditional branching....
DeepSpeed ZeRO-3 NVMe Offload Checkpoint Race (FileExistsError)
highAll ranks race to write into the same consolidation directory during ZeRO-3 NVMe-offload checkpoint save, so only rank 0 succeeds and the rest hit FileExistsError....
DeepSpeed ZeRO-3: 'weight' must be 2-D at F.embedding
mediumAfter ZeRO-3 training, accessing a partitioned parameter directly (e.g. an embedding weight) during inference sees a flattened 1-D tensor and raises a shape error....
Straggler / Slow-Rank Detection
highOne rank runs slower than the rest, so every collective waits on it. There is no crash and no error. Just falling throughput and idle GPUs. Stragglers are the dominant cause of silent efficiency loss ...
DeepSpeed Inference Degrades Generation Quality (GPT-NeoX/Pythia kernel injection)
mediumGPT-NeoX/Pythia models produce degraded or garbled text under DeepSpeed Inference with kernel injection, while the same model generates correctly without DeepSpeed. The injected fused kernels for the ...
Silent Hang / Unresponsive Training
criticalSilent hangs stall training without error messages. Denpex heartbeat detection identifies stuck ranks....
Zombie GPU Process / Orphaned Job
criticalZombie processes hold GPU memory after the main job exits. Denpex auto-detects and kills them....
Job Preemption / Spot Instance Termination
criticalPreemption kills cloud spot instances mid-training, losing progress if checkpoints aren't saved frequently enough....
Replayed/Archived Logs Triggering False Hardware Diagnoses
mediumPostmortem archives, log-replay pipelines, and documentation snippets containing old Xid/ECC lines get concatenated into live streams and pasted into diagnostic tools, producing confident "replace the...
vLLM returns 500 on every request after the EngineCore process dies
criticalThe vLLM V1 API server survives while the separate EngineCore subprocess that owns the model does not. Once that child is gone the server keeps accepting connections and answers every one of them with...
A worker loses its GPU mid-run and the job hangs until a collective times out
criticalWhen a GPU disappears from its host, a bus fault, a driver reset, a thermal or power event, the rank owning it stops answering. Its peers are inside a collective waiting for data that will never arriv...
Data Integrity
28Checkpoint Saved with Older Version
mediumCheckpoints saved with older PyTorch versions may not load with newer versions due to format changes....
Checkpoint Torn Write
criticalTorn writes produce incomplete checkpoint files when training is interrupted mid-save....
PII Leakage in Training Data
highPII in training data can leak through model outputs, causing privacy and compliance issues....
Dataset License Issue
mediumDataset license issues prevent commercial use or distribution of models trained on the data....
Checkpoint Version Incompatible
highCheckpoint version incompatibility prevents loading checkpoints saved with different PyTorch versions....
Optimizer State Dict Mismatch
highOptimizer state doesn't match model parameters when loading checkpoints across different architectures or configs....
Checkpoint Saved with Newer Version
highCheckpoints saved with newer PyTorch versions may not load with older versions, causing compatibility issues....
Model State Dict Corruption
criticalModel state dict corruption produces degraded model quality after loading....
Single-Rank Reduce-Scatter Silent Data Corruption
criticalOn world_size=1 with non-aligned tensor sizes, NCCL's reduce-scatter/AVG left the last elements unprocessed (zero) due to a floor-division bug. Silent corruption with no error....
Silent Data Corruption: Silent Degradation (No NaN)
criticalA faulty GPU corrupts computation without ever producing a NaN. Loss settles slightly above baseline and parameters drift, making it the most deceptive SDC mode....
Silent Data Corruption: Gradual Parameter Drift
criticalA permanent hardware fault causes monotonically increasing divergence of parameters from a baseline once injection begins, even while loss curves look identical to a healthy run....
DeepSpeed DecoupledCheckpointEngine Infinite Hang
criticalDeepSpeed's DecoupledCheckpointEngine can hang indefinitely during checkpoint saving, blocking training progress without producing an error. The hang occurs when the async checkpoint writer thread dea...
DeepSpeed FastFileWriter File Descriptor Leak, Phantom ENOSPC
highDeepSpeed's FastFileWriter leaks file descriptors during checkpoint saves, eventually causing 'No space left on device' (ENOSPC) errors even when disk space is available. The leaked file descriptors e...
DeepSpeed Universal Checkpoint Lexicographic Sort Corruption
criticalDeepSpeed universal checkpoint loading sorts rank directories lexicographically instead of numerically, causing rank_10 to be loaded before rank_2. This silently corrupts model weights because each ra...
DeepSpeed SIGBUS Exit Code -7 After Checkpoint Load
criticalDeepSpeed training crashes with SIGBUS (exit code -7) after loading a checkpoint, with no Python traceback. This typically indicates a memory-mapped file access failure. The checkpoint file was trunca...
Checkpoint Corruption
criticalCorrupted checkpoints silently poison resumed training with bad weights. Denpex validates checkpoint integrity before resume....
Partial Checkpoint Save
criticalPartial checkpoint saves write incomplete data when training is interrupted, leaving a file that appears valid but is truncated....
Safetensors Load Error
highSafetensors loading fails when files are truncated or checksums mismatch....
PyTorch Save Failed / Write Error
criticalCheckpoint save fails when disk writes are interrupted....
PyTorch Load Failed / Unpickling Error
criticalCheckpoint load fails when files are corrupted or format is mismatched....
Optimizer State Dict Mismatch
highOptimizer state doesn't match model parameters when loading checkpoints across different architectures or configs....
TensorRT-LLM refuses a quantized checkpoint because its weight mapper does not recognise the export layout
highTensorRT-LLM loads a checkpoint through a per-model weight mapper that expects tensor names and groupings in a particular layout. A quantized export written by a different tool, or by a different vers...
sudden gradient norm spike without learning rate change transient DRAM parity error
criticalThe gradient norm jumped by orders of magnitude with no change to the schedule. Most such spikes are a data or numerical problem, but a spike with no corresponding loss anomaly, on one rank only, is o...
botocore ClientError 503 PutObject SlowDown S3 prefix request rate exceeded
mediumS3 throttling (503 SlowDown), request rate exceeded per-prefix limits. This entry explains how to confirm the cause, apply the fix, and separate it from adjacent checkpoint-storage failures....
tensor core GEMM calculation deviation silent data corruption bit flip
criticalA GEMM result differs from a trusted recomputation without a CUDA exception. That is a silent data corruption signal, but the comparison must first rule out expected floating-point non-determinism and...
DistCheckpointError Async checkpoint saving failed in background thread write timeout
highA background distributed-checkpoint writer missed its storage deadline. The job may continue computing while a rank is blocked on storage, but that checkpoint must not be treated as complete or recove...
UnpicklingError pickle data was truncated EOFError Ran out of input checkpoint
mediumCheckpoint File Corruption - The PyTorch checkpoint file is truncated or corrupted, likely due to a previous crash during `torch.save()`. This entry explains how to confirm the cause, apply the fix, a...
webdataset TarError Unexpected end of archive while reading shard
mediumA WebDataset tar shard ended mid-record. The shard is truncated, either the upload was incomplete, or an HTTP stream was cut and the reader treated the partial body as the whole file. This entry expla...
Network
12NCCL Watchdog Timeout due to Incorrect Network Interface
highNodes have multiple network interfaces (e.g., a high-speed InfiniBand/RoCE interface, a standard ethernet interface, and a Docker bridge). NCCL heuristically picks an interface, often picking a local ...
NCCL Vendor Err 129 (RDMA Timeout)
criticalVendor Error 129 represents an InfiniBand transport retry counter exceeded error. In a RoCEv2 environment, this typically happens because the network is lossy and packets are being dropped by the swit...
NCCL RoCEv2 GID Index Mismatch
criticalRoCE (RDMA over Converged Ethernet) NICs support multiple protocols simultaneously (IPv4, IPv6, RoCEv1, RoCEv2), mapped to different GID (Global Identifier) indices. By default, NCCL might attempt to ...
NCCL Binding to Virtual/Docker Interface
criticalWhen multiple network interfaces are present (e.g., physical eth0, physical high-speed mlx5_0, virtual docker0, loopback), NCCL uses a heuristic to automatically select the network interface for commu...
FSDP Ignores User-Defined NCCL Timeout with Device Mesh
criticalWhen FSDP uses `device_mesh` or certain sharding strategies like `HYBRID_SHARD`, it creates its own internal sub-process groups for inter-node and intra-node communication. These internally created pr...
TorchElastic Rendezvous Timeout on Large Clusters
mediumThe default `torchrun` rendezvous timeout is 600 seconds. In large scale clusters (e.g., hundreds of nodes on AWS/GCP), container startup times, image pulling, and internal network resolution can easi...
NCCL Hang on AllGather due to Asymmetric Data Loading
criticalZeRO-3 requires all ranks to participate in collective communication (`AllGather`) to reconstruct parameter layers during the forward and backward passes. If `drop_last=False` is set in the PyTorch Da...
Variable Sequence Length Shape Exchange Deadlock
criticalWhen `--variable-seq-lengths` and `batch_p2p_comm=True` are enabled with Pipeline Parallelism (PP >= 4), the `_communicate_shapes()` function enforces a strict, fixed point-to-point operation ordering...
TP Comm Overlap Topology Conflict Deadlock
mediumThe `--tp-comm-overlap` feature schedules communication kernels concurrently with compute kernels using separate CUDA streams. On systems lacking dense NVLink (where P2P must go through PCIe), the PCI...
NCCL Timeout Triggered by Hidden Illegal Memory Access
criticalA completely different, localized error (like an out-of-bounds tensor access, device-side assert, or OOM) occurred on a *single* GPU in the distributed cluster. Because that GPU's CUDA context crashes...
NCCL Timeout During Synchronous Checkpoint Save
highSynchronous checkpointing blocks the training loop. On slow shared storage (e.g., NFS), Rank 0 takes a long time to write the file. Meanwhile, other ranks reach the next distributed collective (e.g., ...
Asymmetric Collective Calls leading to NCCL Watchdog Timeout
criticalDifferent ranks in the distributed process group execute a different sequence of collective operations (e.g., one rank hits an `if` condition and calls `all_reduce`, while another skips it). Since NCC...
Model
10FSDP Hang Due to Divergent Parameter Initialization
highFSDP requires all ranks to have identical model architectures and parameter shapes. If `param_init_fn` is used incorrectly (e.g., using random generation that affects tensor shapes or diverging contro...
MoE Pipeline Stage Asymmetry Hang
mediumWhen using a custom `--pipeline-model-parallel-layout`, users may configure a pipeline stage to have zero MoE layers (e.g., placing all MoE layers in the middle stages). However, the logging/loss aggr...
RMSNorm Variance Overflow in FP16
highIn RMSNorm, the sum of squared activations is computed. In large models (e.g., hidden dimension > 4096), summing the squares of fp16 activations can easily exceed 65,504 (the maximum fp16 value), caus...
Learned Temperature Collapse in Contrastive Loss
highIn contrastive learning (like CLIP), logits are scaled by `1 / temperature`. If the temperature parameter is learned and not constrained, the optimizer may push it towards zero to artificially increas...
Attention Softmax FP16 Overflow
highThe attention scores are calculated as `Q @ K.T`. Before scaling by `1/sqrt(d_k)`, these dot products can be very large. If calculated purely in FP16, the dot product can exceed 65,504, causing an ove...
FSDP Mismatched Tensor Shapes Triggering NCCL Hang
highIn FSDP, dynamic input shapes or uneven batch sizes across ranks can lead to mismatched tensor sizes during the AllGather operation for gradients or model parameters. NCCL expects the collective opera...
ZeRO-3 Partitioned Checkpoint Dimensionality Collapse
highThe parameters were partitioned across GPUs using ZeRO Stage 3, and the checkpoint saving mechanism did not consolidate them back to the universal format. The saved state_dict contains only the local ...
Root FSDP Activation Checkpointing Backward Assert
highNesting all parameters deep within child FSDP modules leaves the outer FSDP root empty. When activation checkpointing triggers recomputation, the lack of parameters in the root module desynchronizes t...
FSDP Extra State Checkpoint Ignored
criticalA regression in PyTorch 2.3's Distributed Checkpoint (DCP) logic stripped the processing of the `_extra_state` dictionary during `set_model_state_dict`....
MoE Activation Recomputation Export OOM
mediumThe conversion script loads the optimizer states into VRAM alongside the model parameters. For dense models, this fits. For MoE models trained with activation recomputation, the sheer parameter volume...
Software
8Watchdog Timeout from Inconsistent Tensor Shapes
mediumRanks attempt to perform an all_gather or all_reduce on tensors that have different shapes across different ranks (e.g., dynamic sequence lengths in NLP). NCCL expects the byte count of the transferre...
Tensor Parallel RNG State Context Divergence Deadlock
highIn Tensor Parallelism (TP), ranks within the same TP group must execute identical control flows for collective operations. If the `CudaRNGStatesTracker` is misconfigured or activation offloading fails...
Xid 13: Graphics Engine Exception due to Kernel Out-of-Bounds Access
highA custom PyTorch C++ / CUDA kernel (or a bug in a framework like TensorRT/DeepSpeed) calculates an incorrect thread index or memory offset, resulting in a read or write operation past the allocated bo...
Adam Epsilon Underflow in FP16 Mixed Precision
criticalWhen using FP16 for the optimizer state (or when the epsilon value itself is cast to FP16), the default Adam epsilon of 1e-8 underflows to 0 (since the smallest representable subnormal in FP16 is ~6e-...
DeepSpeed ZeRO-3 Stale Sync during Grad Clipping
mediumIn ZeRO Stage 3, parameters and gradients are partitioned. When computing the global gradient norm for clipping, all ranks must synchronize their local norms. If there is a communication timeout, or i...
PyTorch DataLoader Hangs Indefinitely with OpenCV due to Fork
criticalOpenCV's internal multi-threading uses OpenMP/pthreads. When PyTorch DataLoader uses `num_workers > 0` with the `fork` start method, the child processes inherit a corrupted state of locks held by thre...
PyTorch SDPA FlashAttention Version Incompatibility
mediumPyTorch introduced `scaled_dot_product_attention` (SDPA) with a built-in FlashAttention backend in version 2.0. However, the specific features supported by the built-in backend depend on the PyTorch v...
Watchdog Timeout False Positive during Long Checkpoint Saves
mediumWhen Rank 0 writes a massive checkpoint to slow storage (like an overloaded NFS or object store), it takes longer than the default NCCL timeout (30 minutes). The other ranks wait at a `dist.barrier()`...
Performance
7CPU Affinity Misconfiguration
mediumCPU affinity misconfiguration prevents DataLoader workers and training threads from using optimal CPU cores....
GPU Utilization Low
mediumLow GPU utilization indicates training is bottlenecked by data loading, CPU work, or communication....
DeepSpeed ZeRO-3 Slow (Synchronous Param Prefetch)
mediumZeRO-3 throughput collapses versus ZeRO-2 because the parameter prefetch behaves synchronously, so transfer time fails to overlap with compute....
Unsloth Qwen3-30B-A3B MoE Fine-Tuning Extremely Slow / Low GPU Utilization
mediumFine-tuning the Qwen3-30B-A3B MoE model with Unsloth is far slower (200-300 s/step) at 10-20% GPU utilization than the comparable dense Qwen3-32B, which runs at full utilization. Missing/unoptimized M...
Persistent Straggler Rank from Single-GPU Thermal Throttling
mediumOne rank consistently 2-4x slower drags every synchronous collective. When the cause is a failed fan/blocked airflow on exactly one GPU, the fleet-wide symptom (slow allreduce everywhere) hides a sing...
vLLM throughput collapses as the scheduler preempts and recomputes the same requests
highWhen KV cache blocks run out, the vLLM scheduler evicts in-flight sequences and recomputes them later. Under sustained load the recomputation consumes the cache and compute that would have retired oth...
An inference scheduler deadlocks under sustained load and stops issuing work
criticalA continuous-batching scheduler admits requests against a token budget it must not exceed. Under sustained concurrency the accounting can reach a state where no admitted request can advance and no new...
Storage
5Ephemeral Storage Exhaustion by Model Weights
highMachine learning workloads often download massive pre-trained model weights (e.g., from Hugging Face) into the default cache directory (like ~/.cache/huggingface) located on the container's root files...
Non-Atomic Checkpoint Save Interruption
criticalThe training process was interrupted (e.g. by OOM, preemption, or crash) while PyTorch was executing `torch.save()`. Because the save operation writes directly to the destination file, the interruptio...
Atomic Save I/O Error on Parallel FS
highPyTorch Lightning uses atomic saves by default, saving to a temporary directory (`/tmp`) and then renaming. If `/tmp` is on a different filesystem than the destination (Lustre), the rename triggers a ...
Multi-Worker Write Race Condition
criticalIn a multi-GPU/multi-node environment (e.g., DDP), multiple processes (ranks) execute the `torch.save()` command simultaneously, attempting to write to the exact same file path. This causes a race con...
FSDP Checkpoint S3 Path Malformation
mediumFSDP checkpointing often relies on utilities like `pathlib.Path` which are designed for local filesystems. When provided an S3 URI (e.g., `s3://bucket`), `pathlib` collapses the double slashes into a ...
Synchronization
4DDP Hang Due to Unused Parameters in Forward Pass
highWhen find_unused_parameters=False (the default), DDP assumes every parameter in the model will receive a gradient. If a parameter is skipped in the forward pass (e.g., due to a conditional if-statemen...
DDP Hang from Uneven Dataset Sizes Across Ranks
criticalWhen using DistributedSampler without drop_last=True, the dataset size might not be perfectly divisible by the number of GPUs. Consequently, some ranks might have N batches, while others have N-1. The...
SyncBatchNorm Deadlock During Single-Rank Evaluation
highSyncBatchNorm performs an all-reduce across all processes to calculate global batch statistics. If the script only runs validation on rank 0 (a common pattern to save time), rank 0 will hit the SyncBa...
dist.all_gather Timeout from Dynamic Tensor Shapes
highdist.all_gather requires every participating rank to pass a tensor of the exact same dimensions. If Rank 0 detects 5 bounding boxes (shape [5, 4]) and Rank 1 detects 3 bounding boxes (shape [3, 4]), t...
Fail-Slow
3HBM3 Memory Failures on 16384-GPU Cluster During Llama 3 Training
criticalDuring the 54-day pre-training of Llama 3 405B on 16,384 NVIDIA H100 GPUs, 419 unexpected interruptions occurred at an average rate of one every 3 hours. HBM3 memory failures alone accounted for 17.2%...
Uneven Pipeline Stage Partitioning as Primary Straggler Cause in LLM Training
highIn a five-month trace analysis of ByteDance's LLM training cluster, uneven pipeline stage partitioning was identified as the most prevalent cause of training stragglers, affecting 39.3% of jobs. The l...
torch.compile AOTAutograd Graph Compilation Timeout
criticalDuring AOTAutograd phase of torch.compile, complex dynamic control flow or deeply nested autograd graphs can cause the Inductor compiler to stall indefinitely. This often manifests as a single node ha...
Distributed Communication
3NCCL Collective Operation Timeout
criticalA NCCL collective operation failed to complete within the watchdog timeout period because one or more ranks stopped participating. This is the most common distributed training failure and is almost al...
NCCL Timeout Cascade from Single Rank Failure
criticalA single rank failure cascades into mass NCCL timeouts across most or all ranks as they wait at a collective barrier. The cascade signature is one rank failing first, followed by a wave of timeouts on...
NCCL Network Topology Lookup Failure (NIC Fusion)
highNCCL cannot find a valid path for the network pattern in the discovered PCIe topology. This is typically caused by NIC fusion (NIC split) remapping NIC device IDs during partial-node InfiniBand alloca...
Hardware/Vendor
3CUTLASS SM120 Kernel Regression Halving MoE Throughput
criticalNVIDIA's CUTLASS kernels for SM120 (and some Hopper architectures) suffer from a silent regression that halves throughput on Mixture of Experts (MoE) inference, commonly seen when utilizing certain Py...
NCCL P2P Level and Topology Routing Limits
highImproper NCCL P2P (Peer-to-Peer) configuration and topology routing lead to PCIe bandwidth bottlenecks, silently degrading multi-GPU training performance....
Mellanox OFED Driver Mismatch
criticalNew InfiniBand adapters (like ConnectX-7) require specific OFED versions. Mismatches with the host kernel or existing driver stack break the network fabric, making nodes unreachable or failing RDMA....
Data
3NCCL Watchdog Timeout due to Uneven Dataset Sharding
highWhen sharding datasets across multiple workers, if the total number of samples is not perfectly divisible by the world size and drop_last=False, some ranks will have fewer batches. These ranks will fi...
HDF5 Concurrent Read Deadlock with Multiprocessing
highThe HDF5 library maintains internal state and file locks. It is not safe to fork a process that has an open HDF5 file handle. When PyTorch creates child workers via fork, they all inherit the same fil...
WebDataset/TFRecord Decoding Crash Mid-Epoch
mediumA large tarball or TFRecord file was partially downloaded, truncated during transfer, or concurrently written to while the training job was reading it. The dataloader hits the truncated EOF mid-stream...
CUDA
3Multi-Allocator Zero-Copy MMU Fault
criticalA secondary memory allocator (like CuPy's memory pool) forcibly freed a block of memory that was zero-copied from PyTorch. PyTorch attempts to access the now-unmapped virtual address....
Xid 43 (GPU Stopped Processing)
highEmitted when a user-space CUDA application violates memory bounds or instructions, forcing the GPU to reset the channel to protect itself....
Hopper mma.sp Silent Data Corruption (SDC)
criticalUsing custom PTX kernels that leverage the mma.sp sparse tensor core instruction on Hopper GPUs causes silent calculation errors on the 535-series NVIDIA drivers....
Hardware/Network
2MoE Expert Parallelism Comm Overlap Deadlock
highThe MoE overlap scheduler uses a shared CUDA event as a 'baton' to sequence communications across nodes. Due to timing variations, ranks can launch overlapping NCCL collectives in different orders (e....
NVLink Fatal Error Xid 74 with Fabric Manager Crash
criticalA physical NVLink transceiver issue or NVSwitch port degradation causes high error rates. The Fabric Manager attempts to isolate the port but fails due to aggressive NCCL polling, resulting in a kerne...
Missing a failure class?
Denpex diagnoses 718failure classes deterministically, with AI fallback for anything novel. If your error isn't listed, paste your logs into the console for instant analysis.
Diagnose your logs now