Skip to content

Deprecate NeMo2#1517

Merged
jstjohn merged 32 commits intomainfrom
jstjohn/deprecate-nemo2
Mar 24, 2026
Merged

Deprecate NeMo2#1517
jstjohn merged 32 commits intomainfrom
jstjohn/deprecate-nemo2

Conversation

@jstjohn
Copy link
Copy Markdown
Collaborator

@jstjohn jstjohn commented Mar 13, 2026

Description

Remove all NeMo2/Megatron-LM dependencies from the repository, delete stale sub-packages, and modernize the framework CI to use a lightweight per-sub-package matrix strategy matching the recipes CI pattern.

What was deleted (~100 files)

  • 3rdparty submodules: Megatron-LM and NeMo git submodules removed.
  • 3 sub-packages: bionemo-example_model, bionemo-llm, bionemo-testing — all depended on NeMo2/Megatron-Core and are no longer maintained.
  • Root build artifacts: Dockerfile, pyproject.toml, requirements-cve.txt, requirements-dev.txt, requirements-test.txt — packages now define their own dependencies in their pyproject.toml.
  • Framework devcontainer: .devcontainer/framework/ removed (only one devcontainer remains).
  • Monolithic CI scripts: ci/scripts/pytest_runner.sh, run_pytest_unittests.sh, run_pytest_slow.sh, run_pytest_notebooks.sh — replaced by per-package install in the workflow itself.

CI overhaul

  • unit-tests-framework.yml rewritten to match the unit-tests-recipes.yml pattern: each sub-package runs in its own matrix job with a lightweight PyTorch container image, installing only its own dependencies.
  • Dependency graph is derived from tach.toml at CI time instead of being hardcoded. When a package changes, its downstream dependents are automatically included in the test matrix.
  • bionemo-noodles gets a .ci_build.sh for Rust toolchain installation (maturin/pyo3 build).
  • Codecov stabilized: each matrix job uploads with a per-package flag and carryforward: true so partial runs don't cause coverage to appear to drop.
  • Sparse checkout now includes LICENSE/ directory so sub-package LICENSE symlinks resolve correctly.

Docs cleanup

  • Overview page rewritten to describe "BioNeMo Recipes" and "Sub-package Utilities" instead of the generic "BioNeMo Framework."
  • Stale NeMo2 references removed across getting-started guides, FAQ, contributing docs, model pages.
  • bionemo2 path references updated to bionemo throughout.
  • gen_ref_pages.py now rewrites relative links when copying recipe READMEs into the docs tree, so source files can use relative paths while the compiled docs still resolve correctly.
  • MolMIM marked as TODO (not yet ported to recipes).
  • GitHub raw URLs in recipe READMEs reverted to relative paths; CI script references changed to plain backtick file paths.

Structure changes

  • Devcontainer moved from .devcontainer/recipes/ to .devcontainer/ (single devcontainer).
  • Root pyproject.toml split: ruff config → .ruff.toml, pytest config → pytest.ini.
  • tach.toml rewritten with accurate module definitions and dependencies for the remaining 8 sub-packages.
  • bionemo-webdatamodule: lightning added as an explicit dependency in its pyproject.toml.

Type of changes

  • Refactor
  • Documentation update
  • Other: Remove deprecated NeMo2 dependencies, sub-packages, and CI infrastructure

jstjohn added 9 commits March 13, 2026 18:28
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
…ndent anymore

Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
…ckages that are now gone

Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 13, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: fa60beb4-956a-4f2f-8531-55a328db245a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jstjohn/deprecate-nemo2

Comment @coderabbitai help to get the list of available commands and usage tips.

@jstjohn jstjohn changed the title Jstjohn/deprecate nemo2 Deprecate NeMo2 Mar 13, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.62%. Comparing base (736d3a3) to head (d248c22).
⚠️ Report is 7 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1517      +/-   ##
==========================================
+ Coverage   79.25%   81.62%   +2.36%     
==========================================
  Files          93       68      -25     
  Lines        6767     5196    -1571     
==========================================
- Hits         5363     4241    -1122     
+ Misses       1404      955     -449     
Flag Coverage Δ
bionemo-core 83.33% <ø> (?)
bionemo-moco 75.93% <ø> (?)
bionemo-noodles 89.65% <ø> (?)
bionemo-recipeutils 80.95% <ø> (?)
bionemo-scdl 87.12% <ø> (?)
bionemo-scspeedtest 69.78% <ø> (?)
bionemo-size-aware-batching 96.95% <ø> (?)
bionemo-webdatamodule 88.59% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...nemo-scspeedtest/src/bionemo/scspeedtest/common.py 56.17% <ø> (+12.92%) ⬆️

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Signed-off-by: John St. John <jstjohn@nvidia.com>
Comment thread .devcontainer/framework/devcontainer.json Outdated
Comment thread Dockerfile Outdated
jstjohn added 5 commits March 13, 2026 21:33
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
@jstjohn jstjohn requested a review from pstjohn March 13, 2026 22:28
@jstjohn jstjohn enabled auto-merge March 13, 2026 23:08
Copy link
Copy Markdown
Collaborator

@jomitchellnv jomitchellnv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest we do not merge until post GTC

@jomitchellnv jomitchellnv disabled auto-merge March 13, 2026 23:42
jstjohn added 2 commits March 14, 2026 00:11
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
@jstjohn jstjohn removed the ciflow:all Run all tests (unit tests, slow tests, and notebooks) for bionemo2 or enforce running all tests label Mar 14, 2026
jstjohn added 4 commits March 14, 2026 01:27
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Comment thread docs/docs/main/about/background/megatron_datasets.md
Signed-off-by: John St. John <jstjohn@nvidia.com>
Comment thread docs/docs/main/about/background/megatron_datasets.md Outdated
jstjohn added 3 commits March 23, 2026 18:54
…md so it is less deprecation focussed

Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Signed-off-by: John St. John <jstjohn@nvidia.com>
Copy link
Copy Markdown
Member

@cspades cspades left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well there goes all that work slightly patching MCore and NeMo2. End of an era.

@jstjohn jstjohn added this pull request to the merge queue Mar 24, 2026
Merged via the queue into main with commit d01dcae Mar 24, 2026
35 checks passed
@jstjohn jstjohn deleted the jstjohn/deprecate-nemo2 branch March 24, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants