Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 3 additions & 10 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,11 @@ bash setup_conda_env.sh
conda activate nvsubquadratic
```

## Pre-commit

Run locally before pushing:

```bash
pre-commit install
pre-commit run --all-files
```

## Test plan

<!-- How did you test this? Bulleted checklist preferred. -->
- [ ] `pre-commit run --all-files` passes (`pre-commit install` if not yet set up).
- [ ] Existing tests pass (`pytest tests/`).
- [ ] New tests added, or explain why not needed:

## Documentation checklist

Expand Down
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,20 @@ nvSubquadratic provides a **high-level PyTorch interface** that depends on the *

## Installation

### PyPI

```bash
pip install nvsubquadratic
```

Requires Python 3.11+ and a CUDA 12-compatible GPU. Optional extras:

```bash
pip install "nvsubquadratic[quack]" # fused RMSNorm kernel (Hopper/Blackwell only)
pip install "nvsubquadratic[dali]" # NVIDIA DALI for ImageNet/Well data pipelines (~400 MB)
pip install "nvsubquadratic[all]" # all extras
```

### Package Manager

This project uses **pip** with `pyproject.toml` for dependency management. A `Pipfile.lock` is maintained for nSpect security scanning compliance.
Expand Down
11 changes: 10 additions & 1 deletion docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,16 @@ pure-PyTorch path automatically.

## Install

The recommended developer setup is conda:
For users who just want to use the library:

```bash
pip install nvsubquadratic # core library
pip install "nvsubquadratic[dali]" # + NVIDIA DALI for ImageNet/Well examples
pip install "nvsubquadratic[quack]" # + fused RMSNorm kernel (Hopper/Blackwell only)
pip install "nvsubquadratic[all]" # all extras
```

For contributors or developer setup, the recommended path is conda:

```bash
bash setup_conda_env.sh
Expand Down
12 changes: 9 additions & 3 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,19 @@ package tour.
Installation
------------

The package is installed from source:
.. code-block:: bash

pip install nvsubquadratic

Optional extras:

.. code-block:: bash

pip install -e .
pip install "nvsubquadratic[quack]" # fused RMSNorm kernel (Hopper/Blackwell only)
pip install "nvsubquadratic[dali]" # NVIDIA DALI for ImageNet/Well data pipelines
pip install "nvsubquadratic[all]" # all extras

To enable the optional fused RMSNorm kernel on Hopper / Blackwell GPUs:
For development (editable install from source):

.. code-block:: bash

Expand Down
5 changes: 4 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ dependencies = [
"huggingface_hub",
"subquadratic-ops-torch-cu12>=0.2.0",
"timm==1.0.24",
"nvidia-dali-cuda120==1.53.0",
]

[project.urls]
Expand All @@ -71,6 +70,10 @@ Issues = "https://github.com/NVIDIA-BioNeMo/nvSubquadratic/issues"
# Optional: use QuACK fused RMSNorm kernel (Hopper/Blackwell only: H100, B200, B300).
# On Ampere and older GPUs the kernel is not available; RMSNorm uses PyTorch fallback.
quack = ["quack-kernels"]
# Optional: NVIDIA DALI data-loading pipeline, used by ImageNet and The Well examples.
# Not required for the core library; ~400 MB download.
dali = ["nvidia-dali-cuda120==1.53.0"]
all = ["quack-kernels", "nvidia-dali-cuda120==1.53.0"]

[tool.setuptools.dynamic]
version = { file = "VERSION" }
Expand Down
Loading