$ account NVIDIA
NVIDIA CUTLASS is a comprehensive C++ template library and Python DSL for implementing high-performance CUDA kernels, primarily focused on matrix multiply (GEMM), convolution, and attention operations. It provides a layered architecture from low-level warp matrix multiply-accumulate (MMA) and copy instructions (CuTe atoms) up through threadblock-level collective mainloops and epilogues, kernel-level schedulers (persistent, stream-K, warp-specialized), and a high-level operator API for runtime dispatch with fusion support. The repository includes a Python-embedded DSL (CuTeDSL) that uses MLIR-based compilation to generate optimized CUDA kernels, a separate Python code generation backend (cutlass_cppgen) for JIT compilation, and an extensive profiling and testing infrastructure. It spans NVIDIA GPU architectures from Volta to Blackwell and is actively maintained with contributions to deep learning frameworks like PyTorch and JAX.
cuDF is a GPU-accelerated DataFrame library developed by NVIDIA as part of the RAPIDS ecosystem. It provides a pandas-compatible Python API (`cudf`), a Polars-compatible execution engine (`cudf_polars`), a zero-code-change pandas accelerator (`cudf.pandas`), distributed processing via Dask (`dask_cudf`), a streaming distributed execution engine (`cudf_streaming`), Kafka integration, Java bindings, and a low-level C++ library (`libcudf`). In production, cuDF accelerates data manipulation, ETL, analytics, and ML preprocessing on NVIDIA GPUs by executing columnar operations in CUDA kernels while managing GPU memory through RMM. The monorepo contains over 5000 files spanning C++, Python, Java, Rust, and shell, with extensive unit tests, benchmarks, CI pipelines, and documentation. Key architectural patterns include consistent stream/memory-resource propagation via `cudf::detail` namespaces, a result cache for aggregation reuse, a fast-slow proxy pattern for transparent GPU/CPU fallback, and a streaming actor model for distributed pipelines.
NVIDIA's official CUDA Samples repository is a large catalog of self-contained, compilable example programs demonstrating the CUDA platform across C++ and Python. The C++ collection spans hundreds of samples organized into ten categories: fundamentals (vector add, matrix multiply), utilities (deviceQuery), concepts and techniques (reduction, scan, convolution, histograms), feature showcases (CUDA graphs, cooperative groups, Tensor Core GEMMs, dynamic parallelism, NVRTC JIT), CUDA libraries (cuFFT, cuRAND, cuBLAS, cuSOLVER, CUB), domain-specific applications (Black-Scholes, N-body, optical flow, fluid simulation, volume rendering, Monte Carlo), performance studies, libNVVM/PTX generation, platform-specific Tegra/embedded examples, and CUDA Tile C++ microbenchmarks. A parallel Python collection uses the modern cuda.core API with CuPy/NumPy interop and framework integrations (PyTorch, TensorFlow, RAPIDS). Each sample is typically a standalone CLI or interactive graphics program with its own main() entry point; most include a CPU 'gold' reference implementation and automated pass/fail verification, making the collection both educational and regression-tested.
garak is a CLI tool and Python library for automated red-teaming and vulnerability scanning of large language models (LLMs). It systematically probes models with adversarial inputs (jailbreaks, prompt injections, encoding attacks, etc.) and uses detectors to classify model responses for safety failures. It supports multiple model backends (OpenAI, Anthropic, HuggingFace, etc.) and generates structured reports with severity scoring. The system follows a modular plugin architecture with base classes for probes, detectors, generators, harnesses, evaluators, and buffs. Plugins are dynamically loaded and configured via a hierarchical config system. The default harness runs probes with their associated detectors, while a cross-product harness allows all probes against all detectors. Results are logged as JSONL and can be visualized via a React-based web UI (garak-report) that displays DEFCON-level severity, calibration Z-scores, and technique-intent matrices. While primarily an application, garak incorporates significant research elements: it implements state-of-the-art attack techniques (GCG, AutoDAN, BEAST, TAP) and includes curated datasets of adversarial prompts and calibration data. The codebase serves both as a practical security tool and as a research platform for LLM vulnerability assessment.
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.
NCCL is NVIDIA's Collective Communications Library, a fundamental building block for multi-GPU and multi-node computing. It provides highly optimized implementations of standard collective operations (all-reduce, all-gather, reduce, broadcast, reduce-scatter) and point-to-point communication primitives. The library features a plugin architecture for extensibility, supporting various network transports (InfiniBand, sockets, shared memory), GPU Direct technologies, and remote memory access. With language bindings for Python and Rust, and extensive diagnostic and tuning capabilities, NCCL serves as the communication backbone for deep learning frameworks and HPC applications requiring efficient inter-GPU coordination.
The NVIDIA Container Toolkit is a production-grade suite of command-line tools, OCI hooks, and libraries that enable GPU acceleration inside containers. It provides a container runtime shim (`nvidia-container-runtime`), a prestart hook (`nvidia-container-runtime-hook`), a CDI (Container Device Interface) hook binary (`nvidia-cdi-hook`), a comprehensive CLI (`nvidia-ctk`) for generating CDI specs and configuring container engines (Docker, containerd, CRI-O), and an installer daemon. The system discovers NVIDIA GPU devices, libraries, and capabilities using NVML, nvsandboxutils, and platform-specific logic (Tegra CSV, WSL DXCore), then injects them into container OCI specs via hooks or CDI. It supports multiple runtime modes (legacy, CSV, CDI, JIT-CDI) and handles special features like MIG, IMEX channels, CUDA forward compatibility, and graphics capabilities. The codebase is well-structured with clean interfaces, extensive test coverage (unit, integration, e2e), and is actively maintained by NVIDIA.
AIStore (AIS) is a high-performance, distributed object storage system engineered for AI/ML workloads. It operates as a cluster of proxy (gateway) and target (storage) nodes, providing S3-compatible API, multi-cloud backend support (AWS, GCP, Azure, OCI), and advanced data management features such as erasure coding, mirroring, LRU caching, and distributed resharding (dsort). The system is designed for linear scale-out and consistent performance, with a rich set of extended actions (xactions) for batch operations like copy-bucket, archive, blob download, and ETL transformations. It includes a full-featured CLI (`ais`), a Python SDK with PyTorch dataset integration, and a standalone authentication server (AuthN). The codebase is primarily a production-grade application with strong software engineering practices: modular architecture, extensive unit and integration tests, code generation for high-performance serialization (msgp), and build-tag-based feature gating. It demonstrates non-obvious craftsmanship in areas like memory management (slab allocators, SGL), intra-cluster transport (stream bundles), and probabilistic data structures (dynamic cuckoo filters). While the core is a storage system, it has significant data/research features (ETL pipelines, distributed sorting, shard indexing) that make it a hybrid tool for AI data pipelines. Key entry points include `cmd/aisnode/main.go` (server), `cmd/cli/main.go` (CLI), `cmd/authn/main.go` (authentication), and `python/aistore/sdk/` (Python SDK). The system relies on cloud SDKs, Kubernetes client, and various Go libraries. It is actively maintained with frequent commits, comprehensive CI/CD, and a large test suite.
Enroot is a CLI tool for creating unprivileged sandboxes from container images, particularly Docker images. It uses Linux namespaces and capabilities to provide isolation similar to containers but with reduced overhead, making it suitable for HPC environments. The architecture consists of a main bash script entry point, library functions in src/, and compiled C helper utilities for low-level operations like namespace handling and mounting. Key features include image import from registries, container creation and execution, bundling capabilities, and specialized hooks for GPU and Mellanox support.
DreamDojo is an application repository for training and deploying world foundation models, particularly focused on robotics applications. The system provides end-to-end capabilities for training Cosmos Predict2 models, generating text/video-to-video outputs, action-conditioned video generation for robot control, and model distillation for efficient inference. It features a modular architecture with Hydra-based configuration, distributed training support (FSDP, tensor parallelism, context parallelism), and interactive Gradio demonstrations. The codebase includes sophisticated safety filtering mechanisms and is designed for deployment via Docker containers.
NVIDIA cuOpt is a GPU-accelerated optimization solver library covering linear programming (LP), mixed-integer programming (MIP), quadratic programming (QP), second-order cone programming (SOCP), and vehicle routing problems (VRP, PDP, TSP). The codebase is predominantly an application: it provides multiple deployment formsβa C++ shared library, Python bindings (Cython), a Java JNI interface, a CLI tool (`cuopt_cli`), a gRPC server for remote solves, and a FastAPI-based HTTP server (`cuopt_server`). It also includes comprehensive CI/CD pipelines, benchmarks, and documentation. However, it exhibits a hybrid nature due to its strong research character: advanced algorithmic innovations (e.g., primal-dual hybrid gradient with adaptive step sizing, novel MIP presolve techniques, lattice propagation, deterministic parallel branch-and-bound, SIMD-accelerated MPS parsing, and diversity-based routing heuristics) are deeply embedded in the core solvers. The system is architected as a layered monolith: common utilities and linear algebra form the base, solver-specific modules (PDLP, dual simplex, barrier, branch-and-bound, routing heuristics) sit above, and language bindings and server endpoints wrap the C++ core. Key data flows include parsing MPS/LP files or building problems programmatically, dispatching to the appropriate GPU solver, and retrieving solutions via C structs, Python objects, or protobuf messages. External dependencies include CUDA, cuSPARSE, RMM, NCCL, gRPC, Protobuf, and optionally PaPILO for presolve. The repository is actively maintained with frequent commits and nightly CI, though the presence of deprecated modules and experimental features indicates moderate technical drift.
This repository implements `cuda_tile`, an MLIR-based compiler dialect and toolchain for GPU tile programming, primarily targeting NVIDIA CUDA architectures. It defines a rich set of operations for tile-level computation (arithmetic, matrix multiply, memory views, atomics, control flow) with explicit memory ordering and synchronization. The project includes a custom bytecode serialization format (.tileirbc) with versioned backward compatibility, allowing efficient IR transport and JIT compilation. Key tools are `cuda-tile-opt` (dialect testing), `cuda-tile-translate` (MLIR-to-bytecode conversion), `cuda-tile-optimize` (bytecode-to-bytecode optimization passes), and `cuda-tile-tblgen` (TableGen-based code generation for bytecode readers/writers). Python bindings enable programmatic IR construction. The architecture is a set of modular libraries (dialect, bytecode, optimizer, C API) that can be integrated into larger compiler pipelines. External dependencies are LLVM/MLIR at a pinned commit and CUDA. The codebase demonstrates high engineering rigor with extensive test coverage (bytecode stability, version compatibility, round-trip, transformation passes) and careful version management for evolving the IR format. While primarily a compiler infrastructure application, the project's focus on low-precision matrix operations (FP8, FP4) and tensor core optimizations touches on ML research areas.
This is the NVIDIA RAPIDS Accelerator for Apache Spark (formerly cudf-spark), a high-performance Spark SQL plugin that replaces CPU-based Spark physical operators with GPU-accelerated equivalents using the cuDF library. The codebase provides a comprehensive shim layer supporting over 20 distinct Spark versions (3.3.x through 5.0.x) including Databricks runtimes, along with deep integrations for Delta Lake (2.xβ4.x) and Apache Iceberg (1.6β1.11). It implements GPU versions of nearly every Spark SQL execution node: scans, joins, aggregates, windows, shuffles, file format readers/writers for Parquet, ORC, CSV, JSON, Avro, and Hive. The architecture relies on a sophisticated multi-version shim pattern, service-loading providers, and extensive use of Spark internal APIs to intercept and redirect execution to GPU columnar operations. The repository also includes a UDF compilation framework that converts Scala UDFs to GPU expressions, and a set of performance profiling and metrics tools. Despite its massive scope and high shim count, the codebase is well-structured with clear separation of concerns, comprehensive testing, and active release cadence. It is primarily an application (Spark plugin) with some auxiliary tooling for data generation and testing, but no data research elements.
This repository is the NVIDIA cuQuantum SDK, a comprehensive suite of GPU-accelerated libraries for quantum computing simulation. It provides high-performance implementations for state-vector simulation (cuStateVec), tensor network contraction and decomposition (cuTensorNet), density matrix evolution (cuDensityMat), Pauli propagation (cuPauliProp), and stabilizer simulation (cuStabilizer). The codebase includes Python bindings with both high-level APIs (e.g., NetworkState, DenseMixedState, Operator) and low-level Cython bindings, as well as C++ sample codes, a benchmark suite, and JAX extensions for differentiable quantum operations. The architecture is modular, with each quantum simulation method organized into its own subpackage under `cuquantum/`. The Python package exposes a consistent interface for circuit simulation, operator construction, and distributed execution via MPI/NCCL. Key entry points include the `cuquantum.tensornet`, `cuquantum.densitymat`, `cuquantum.stabilizer`, and `cuquantum.pauliprop` modules, along with the `cuquantum.bindings` for direct C API access. The repository also contains extensive tests and samples that validate correctness against analytical results and reference implementations. The codebase is actively maintained with recent commits and issue triage. It demonstrates strong engineering practices with reusable patterns for memory management, callback-based operator coefficients, distributed tensor layouts, and custom JAX differentiation. However, some experimental APIs and version inconsistencies (e.g., CITATION.cff vs pyproject.toml) indicate areas of potential drift. Overall, it is a high-quality, production-ready SDK for quantum computing research and development.
Tilus is a tile-level GPU kernel programming language and compiler framework, primarily targeting NVIDIA architectures (SM80, SM90, SM100). It provides a Python DSL (`tilus.Script`) for writing high-performance CUDA kernels with explicit management of shared/register memory, tensor cores (WGMMA, tcgen05), and advanced synchronization primitives (mbarrier, cluster sync, TMA). The compiler stack includes a custom IR with layout inference (register/shared/tensor-memory), a pass pipeline (dead code elimination, bound-aware simplification, sub-byte type lowering), and backend emitters that generate PTX/CUDA code. Autotuning over tile sizes, warp counts, and pipeline stages is built into the framework. The architecture separates concerns into three layers: the user-facing `lang` package (Script, autotune, instructions), the `ir` package (tensors, layouts, instructions, inference rules), and the `backends` package (emitters, contexts, code generation). The `hidet` subpackage integrates a vendored copy of the Hidet IR and transforms, which provides the low-level expression/statement IR and a comprehensive set of optimization passes. Examples cover progressive matmul implementations (V0βV6) for Ampere, Hopper, and Blackwell, as well as flash attention, layer norm, and quantization kernels. This is a research project (ASPLOS '26 paper) with a strong emphasis on correctness and performance, evidenced by CUDA-level validation against PyTorch and cuBLAS. While the codebase is well-structured and demonstrates advanced compiler design patterns, it remains in beta (version 0.2.0) and carries some duplication between vendored Hidet code and native Tilus code, as well as hardware-specific constraints (NVGPU only). The layout inference system and autotuning infrastructure are particularly notable as reusable components.
TorchFort is a library that bridges PyTorch with Fortran and C/C++ programs, primarily targeting HPC/scientific computing applications. It provides a C API that allows users to load PyTorch models (via TorchScript or built-in MLP), train them, and perform inference directly on user-provided arrays without data copying. The library supports supervised learning as well as reinforcement learning (RL) with several state-of-the-art algorithms: DDPG, TD3, SAC, and PPO. It includes comprehensive RL infrastructure such as replay buffers, rollout buffers, online running normalizers, and distributed training via MPI. Integration with Weights & Biases is available for experiment tracking. Architecturally, TorchFort consists of a thin C API layer, a set of C++ implementations using LibTorch, and Fortran bindings generated via ISO_C_BINDING. The core C++ code is organized into modules for model management, training, distributed communication, CUDA utilities, and RL subsystems. Configuration is externalized via YAML files, and the library is designed to be used as a static or shared library linked into user applications. Notable components include a prioritized replay buffer with sum-tree implementation (replay_buffer.h), an online running normalizer using Welford's algorithm with MPI synchronization (running_normalizer.h), and a tensor list abstraction for handling multiple typed arrays (tensor_list.h). The codebase demonstrates good engineering practices with extensive test coverage, error handling via return codes, and support for both CPU and GPU execution. While primarily an application/library for integrating PyTorch into HPC codes, the repository also contains research-quality RL algorithm implementations and data preprocessing components, giving it a hybrid character.