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
52 changes: 52 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,55 @@

# Documentation source.
/docs/ @farhadrgh @saeepaliwal

# subquadratic-ops kernel bindings.
#
# @moradza maintains the upstream subquadratic-ops package these files bind to,
# so a change to the wrapper layer, its dtype/shape marshalling, or the
# torch.compile lowering should reach him automatically rather than by memory.
#
# He is listed ALONGSIDE the default owners, not instead of them: GitHub
# requires an approval from at least one codeowner per changed file, so this
# auto-requests his review without making him a hard blocker when he is
# unavailable. To make his approval mandatory for these paths, list @moradza
# alone on the line — note that would also stop @farhadrgh self-approving
# kernel changes.
/nvsubquadratic/ops/fftconv_custom.py @farhadrgh @saeepaliwal @moradza
/nvsubquadratic/ops/fftconv_lowering.py @farhadrgh @saeepaliwal @moradza
/nvsubquadratic/ops/causal_conv1d_custom.py @farhadrgh @saeepaliwal @moradza
/nvsubquadratic/modules/subq_ops_causal_conv1d.py @farhadrgh @saeepaliwal @moradza
/tests/ops/test_fused_fftconv2d.py @farhadrgh @saeepaliwal @moradza
/tests/ops/test_fftconv_lowering.py @farhadrgh @saeepaliwal @moradza
/tests/ops/test_fftconv_custom.py @farhadrgh @saeepaliwal @moradza
/tests/ops/test_fftconv_custom_1d.py @farhadrgh @saeepaliwal @moradza
/tests/ops/test_causal_conv1d_custom.py @farhadrgh @saeepaliwal @moradza
/tests/ops/test_subq_ops_fft_conv2d.py @farhadrgh @saeepaliwal @moradza
/tests/modules/test_subq_ops_causal_conv1d.py @farhadrgh @saeepaliwal @moradza
/tests/modules/test_ckconv_nd_subq.py @farhadrgh @saeepaliwal @moradza

# ⚠️ PREREQUISITE for the two sections below: a CODEOWNERS entry naming a user
# WITHOUT write access to this repo is silently ignored — no auto-request, no
# required review, and no error beyond a soft warning in GitHub's CODEOWNERS
# editor. As of 2026-09-16 @dwromero and @Dafidofff have `read` only, so these
# rules are inert until someone with admin grants them write (Settings ->
# Collaborators, or add them to a team with write). @moradza already has write.
#
# Note @Dafidofff is David Wessels. A separate `@dwessels` account exists and is
# NOT him — naming it would produce a rule that silently never fires.

# ImageNet / ViT5 experiments — @Dafidofff and @moradza.
/benchmarks/vit5_imagenet/ @farhadrgh @saeepaliwal @Dafidofff @moradza
/examples/imagenet_classification/ @farhadrgh @saeepaliwal @Dafidofff @moradza
/examples/vit5_imagenet/ @farhadrgh @saeepaliwal @Dafidofff @moradza
/reports/vit5_imagenet_dataloader_profiling/ @farhadrgh @saeepaliwal @Dafidofff @moradza
/experiments/datamodules/dali_imagenet_fused.py @farhadrgh @saeepaliwal @Dafidofff @moradza
/experiments/datamodules/tinyimagenet.py @farhadrgh @saeepaliwal @Dafidofff @moradza

# Spatial-recall experiments — @dwromero and @Dafidofff.
/examples/spatial_recall_1d/ @farhadrgh @saeepaliwal @dwromero @Dafidofff
/examples/spatial_recall_2d/ @farhadrgh @saeepaliwal @dwromero @Dafidofff
/examples/spatial_recall_3d/ @farhadrgh @saeepaliwal @dwromero @Dafidofff
/examples/spatial_recall_v2/ @farhadrgh @saeepaliwal @dwromero @Dafidofff
/reports/spatial_recall/ @farhadrgh @saeepaliwal @dwromero @Dafidofff
/experiments/datamodules/spatial_recall_dataset.py @farhadrgh @saeepaliwal @dwromero @Dafidofff
/tests/test_spatial_recall_motion.py @farhadrgh @saeepaliwal @dwromero @Dafidofff
23 changes: 22 additions & 1 deletion .github/workflows/gpu-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,30 @@ jobs:

- name: Run pytest
run: |
# pytest runs inside the container, so coverage has to be written to a
# bind mount or it disappears with --rm. The image runs as USER ubuntu
# (Dockerfile:218), whose uid need not match the runner's, hence 777.
mkdir -p "${{ github.workspace }}/coverage"
chmod 777 "${{ github.workspace }}/coverage"
docker run --rm --gpus all \
-v "${{ github.workspace }}/coverage:/coverage" \
nvsubquadratic-ci:${{ github.sha }} \
python -m pytest nvsubquadratic/ tests/ -v --tb=short
python -m pytest nvsubquadratic/ tests/ -v --tb=short \
--cov-report=xml:/coverage/coverage.xml
# --cov and --cov-report=term already come from pyproject addopts; this
# only adds the machine-readable report Codecov needs.

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
if: always()
continue-on-error: true
with:
files: ${{ github.workspace }}/coverage/coverage.xml
# Never let a Codecov outage or a missing token fail the job this
# workflow exists for. gpu-tests is a required status check and takes
# ~36 minutes; coverage reporting is not worth blocking a merge over.
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}

- name: Run distributed CP tests
run: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ htmlcov/
.cache
nosetests.xml
coverage.xml
coverage/
*.cover
*.py,cover
.hypothesis/
Expand Down
Loading