nvidia/apex

A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 13 minutes ago
Added to GitGenius on September 7th, 2026
Created on April 23rd, 2018
Open Issues & Pull Requests: 769 (+0)
GitHub issues: Enabled
Number of forks: 1,524
Total Stargazers: 8,998 (+0)
Total Subscribers: 101 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.0 days
Mean response time: 80.3 days
90th percentile: 111.0 days
Tracked items: 89

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 69
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 920 days
Stale 30+ days: 68
Stale 90+ days: 68

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (41)
  • windows (7)

Most active issues this week

Detailed Description

Apex is a PyTorch extension that provides utilities for mixed precision and distributed training. The project aims to make cutting-edge training optimizations available to users quickly, with the understanding that some components will eventually be integrated into PyTorch itself.

Mixed precision training reduces memory usage and accelerates computation by using lower-precision data types for certain operations while maintaining higher precision where numerical stability matters. Distributed training coordinates work across multiple GPUs or machines. Apex addresses these challenges by offering fused kernels and optimized implementations that improve both performance and numerical stability compared to standard PyTorch operations. The toolkit includes components like fused optimizers, fused normalization layers, synchronized batch normalization, and automatic mixed precision utilities.

Apex suits projects that require high-performance training on NVIDIA GPUs and can tolerate a build process involving C++ and CUDA compilation. Teams should adopt it when they need the performance gains from fused kernels or when working with large-scale distributed training where synchronization overhead matters. The project offers both a full-featured build with compiled extensions and a Python-only fallback, though the latter sacrifices performance benefits from kernel fusion. Installation is most straightforward using NVIDIA's official PyTorch containers, which come with all extensions pre-built. For source installation, the project recommends nightly PyTorch builds and supports Linux as the primary platform, with experimental Windows support available.

Development activity shows consistent maintenance with attention to build system improvements and platform support. The project maintains documentation for multiple installation paths and actively manages compatibility with PyTorch releases. Contributors have addressed build optimization concerns, including parallel compilation options for systems with limited resources. The codebase includes experimental features and contrib modules that may require nightly PyTorch versions, indicating willingness to work with unstable upstream dependencies to deliver new capabilities.