thehardwarestore.ai

where AI agents shop for the right tools

── 99052 repos indexed ── | filtered by tag: #mixed-precision
deepspeedai/DeepSpeed ★ 43161 5013 APPLICATION

DeepSpeed is a comprehensive distributed training and inference optimization library for large-scale deep learning. It provides a suite of system innovations including ZeRO (Zero Redundancy Optimizer) memory optimization stages 1-3, 3D parallelism (data, tensor, pipeline), sequence parallelism (DeepSpeed-Ulysses), mixture-of-experts training and inference, automatic tensor parallelism (AutoTP), CPU/NVMe offloading, and compiler-based optimizations (DeepSpeed-DeepCompile). The architecture centers around a runtime engine that wraps PyTorch models, optimizers, and data loaders to provide transparent distributed training with JSON-based configuration. Key entry points include `deepspeed.initialize()` for training, `deepspeed.init_inference()` for inference, and CLI launchers (`deepspeed`, `ds_report`). The codebase spans Python runtime logic, C++/CUDA custom ops (fused optimizers, transformer kernels, async I/O, quantization), multi-backend communication (NCCL, MPI, HCCL, oneCCL), and accelerator abstraction for NVIDIA, AMD, Intel, and other hardware. Recent additions include ZenFlow stall-free offloading, SuperOffload for superchip architectures, Muon optimizer support, and DeepSpeed-FastGen for high-throughput LLM serving with Dynamic SplitFuse scheduling.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 10 reusable components found
Lightning-AI/pytorch-lightning ★ 31378 3810 APPLICATION

PyTorch Lightning is a deep learning framework that provides a high-level PyTorch training interface (Trainer, LightningModule, LightningDataModule) and a lower-level Fabric API for distributed training. It is a library, not a standalone application. The architecture is modular: strategies (DDP, FSDP, DeepSpeed, XLA, ModelParallel), precision plugins (fp16, bf16, transformer-engine, bitsandbytes), callbacks (checkpointing, early stopping, progress bars, timing), loggers (TensorBoard, MLflow, WandB, Comet, CSV, LitLogger), and IO plugins (checkpoint load/save, async). The core design follows a plugin/strategy pattern with registries for extensibility. The codebase is well-tested (extensive unit, integration, parity, and legacy checkpoint tests) and actively maintained. It is a production-quality framework with high craftsmanship, though some experimental features and deprecation shims exist.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
huggingface/accelerate ★ 9911 1543 APPLICATION

Hugging Face Accelerate is a production-grade Python library that abstracts away the boilerplate of distributed training and inference with PyTorch. It provides a unified `Accelerator` class that wraps models, optimizers, dataloaders, and schedulers, automatically handling device placement, mixed precision (fp16, bf16, fp8), and gradient accumulation across CPUs, GPUs, TPUs, and other accelerators. The library supports multiple distributed backends including DDP, FSDP (v1/v2), DeepSpeed, Megatron-LM, and native PyTorch parallelism (tensor, context, pipeline), all configurable via a plugin system and a CLI tool (`accelerate launch`, `accelerate config`). It also includes utilities for large-model inference (CPU/disk offloading, device maps), quantization (bitsandbytes, FP8 via torchao/Transformer Engine), experiment tracking (TensorBoard, W&B, MLflow, etc.), and checkpointing with resume support. The architecture centers on the `Accelerator` class in `accelerator.py` (~3000 lines), which delegates backend-specific logic to `_prepare_*` methods and uses singleton state objects (`PartialState`, `AcceleratorState`) for process coordination. The `state.py` module implements a Borg pattern for distributed state, while `data_loader.py` provides sharded dataloaders with support for uneven batches and stateful iteration. The `big_modeling.py` module offers `init_empty_weights`, `cpu_offload`, `disk_offload`, and `dispatch_model` for handling models that exceed single-device memory. The library integrates deeply with the Hugging Face ecosystem (Transformers, Diffusers, PEFT) and is used as a dependency by many third-party training frameworks. Key entry points include the `Accelerator` class (imported as `from accelerate import Accelerator`), the `accelerate launch` CLI command, and the `notebook_launcher` for interactive environments. External dependencies are minimal at runtime (only PyTorch), but optional integrations with DeepSpeed, bitsandbytes, torchao, Transformer Engine, SageMaker, and various trackers are version-gated and lazily imported. The library is actively maintained with a comprehensive test suite covering CPU, GPU, TPU, and multi-node scenarios, though the proliferation of backends and version checks introduces moderate technical drift risk.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
NVIDIA/apex ★ 9004 1528 APPLICATION

NVIDIA Apex is a PyTorch extension library that provides high-performance, fused CUDA kernels for mixed-precision and distributed deep learning training. In production, it serves as a drop-in acceleration layer for PyTorch models, offering optimized implementations of common operations such as layer normalization, group normalization, fused optimizers (Adam, LAMB, SGD), and structured sparsity (2:4 pruning). The library is not an end-user application but a collection of reusable components that integrate seamlessly with PyTorch's autograd and distributed data-parallel frameworks. The architecture is a hybrid Python/C++/CUDA stack: Python modules expose user-facing APIs (e.g., `apex.optimizers.FusedAdam`, `apex.normalization.FusedLayerNorm`), while the heavy lifting is done by custom CUDA kernels compiled as PyTorch C++ extensions. Key entry points include the `apex.optimizers`, `apex.normalization`, and `apex.contrib` subpackages, which contain both stable and experimental features. Data flows are typical of PyTorch training loops: forward/backward passes invoke autograd Functions that dispatch to fused CUDA kernels, and distributed training utilities (e.g., `DistributedFusedAdam`) overlap gradient synchronization with computation. External dependencies include PyTorch, CUDA, cuDNN, and NCCL. The library also includes experimental modules for TorchInductor multi-stream scheduling, OpenFold-specific Triton kernels, and cuDNN frontend-based operations. While the core components are well-maintained, some contrib modules show signs of technical drift (duplicate optimizer implementations, deprecated API usage, hardcoded shape constraints). Overall, Apex is a mature, high-quality library that has been widely adopted in the PyTorch ecosystem for accelerating large-scale model training.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: