Skip to content

fix: pull in additional PNs to GB200xBF3 mlxconfig profile - #5544

Merged
chet merged 1 commit into
NVIDIA:mainfrom
chet:gh-issue-5541
Aug 29, 2026
Merged

fix: pull in additional PNs to GB200xBF3 mlxconfig profile#5544
chet merged 1 commit into
NVIDIA:mainfrom
chet:gh-issue-5541

Conversation

@chet

@chet chet commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

GB200 B3240 DPUs can report 900-9D3B6-00CN-PN0 in bootstrap Redfish data and 900-9D3B6-00CN-P_Ax after Scout records the device identity. The shared selector did not accept either value, so DPF and Non-DPF provisioning selected the generic BF3 profile for those devices even when the rack was identified as GB200.

This adds both exact identities to the shared GB200 B3240 selector. The separate GB200 rack check remains required, and other B3240 prefixes remain rejected.

Related issues

Type of Change

  • Add - New feature or capability
  • Change - Changes in existing functionality
  • Fix - Bug fixes
  • Remove - Removed features or deprecated functionality
  • Internal - Internal changes (refactoring, tests, docs, etc.)

Breaking Changes

  • This PR contains breaking changes

Testing

  • Unit tests added/updated

  • Integration tests added/updated

  • Manual testing performed

  • No testing required (docs, internal refactor, etc.)

  • cargo test -p carbide-libmlx-model

  • cargo make clippy

  • cargo make format-nightly

  • git diff --check

Additional Notes

The existing DPF and Non-DPF integrations already consume this shared selector, so this PR does not change their NVConfig assignments.

The expanded local Carbide lints run (--all-targets --all-features) reaches existing txn_held_across_await failures in unchanged crates/api-core/tests/integration/dns_resolution.rs; that file is identical to origin/main. The hosted lint task does not compile that integration target.

GB200 B3240 devices can report `PN0` in bootstrap Redfish data and `P_Ax` after Scout records the device identity. Neither value was in the exact selector, so both provisioning paths could retain the generic BF3 profile on matching GB200 racks.

Accept both values through the shared selector while preserving the separate GB200 rack check and rejecting other B3240 prefixes.

This supports NVIDIA#5541

Signed-off-by: Chet Nichols III <chetn@nvidia.com>
@chet
chet requested a review from a team as a code owner August 28, 2026 23:39
@chet

chet commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai full_review, thanks!

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-28T23:42:18.845071Z 042a81c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: db8252d5-395b-48fa-93f1-f8d4609ab0eb

📥 Commits

Reviewing files that changed from the base of the PR and between 77355c5 and 042a81c.

📒 Files selected for processing (1)
  • crates/libmlx-model/src/nvconfig.rs

Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review.


Summary by CodeRabbit

  • Bug Fixes
    • Added support for two additional GB200/B3240 part numbers.
    • Updated validation and documentation to recognize the newly supported hardware identities.
    • Expanded test coverage for accepted part numbers.

Walkthrough

The NVConfig selector now accepts two additional GB200/B3240 part numbers. Documentation and table-driven tests reflect the expanded identity set.

Changes

GB200 B3240 identity support

Layer / File(s) Summary
Identity list and selector validation
crates/libmlx-model/src/nvconfig.rs
The selector accepts 900-9D3B6-00CN-PN0 and 900-9D3B6-00CN-P_Ax. Documentation lists both identities. Tests verify that both resolve to Gb200B3240V1 while retaining whitespace and case normalization coverage.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 042a8

This change expands GB200 device matching for the intended identities without altering the existing rack check or provisioning assignments. No actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes address issue #5541 by adding both required exact GB200 B3240 identities, preserving the rack check and matching behavior, updating selector tests, and leaving integrations and NVConfig as…
Out of Scope Changes check ✅ Passed The changes are limited to the shared selector, related documentation, and table-driven tests. They align with the linked issue objectives and introduce no unrelated scope.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files.
Description check ✅ Passed The description clearly explains the added GB200 B3240 identities, the provisioning issue, preserved selector constraints, and validation performed.
Title check ✅ Passed The title clearly identifies the fix: adding additional part numbers to the GB200xBF3 mlxconfig profile selector.
Full details: Linked Issues check

Explanation

The changes address issue #5541 by adding both required exact GB200 B3240 identities, preserving the rack check and matching behavior, updating selector tests, and leaving integrations and NVConfig assignments unchanged.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

@chet: I will perform a complete review of pull request #5544.

🐇🔍

✅ Action performed

Full review finished.

@chet
chet merged commit d47543e into NVIDIA:main Aug 29, 2026
66 checks passed
@chet
chet deleted the gh-issue-5541 branch August 29, 2026 00:17
nv-dmendoza pushed a commit that referenced this pull request Aug 29, 2026
…5547)

This backports #5544 to v2.1. GB200 B3240 DPUs can report
`900-9D3B6-00CN-PN0` in bootstrap Redfish data and `900-9D3B6-00CN-P_Ax`
after Scout records the device identity. The v2.1 selector does not
accept either value, so DPF and Non-DPF provisioning can select the
generic BF3 profile for those devices even when the rack is identified
as GB200.

This adds both exact identities to the shared GB200 B3240 selector. The
separate GB200 rack check remains required, and other B3240 prefixes
remain rejected.

The v2.1 integration tests still invoke `grpcurl`. #5386 removed it from
`main`'s build containers, so release checks that do not rebuild a base
container pull `latest` and fail before the integration tests start.
This also makes the v2.1 workflow use its existing `v2.1-latest` x86_64
and aarch64 build container tags when those containers are not rebuilt.

## Related issues

- Closes #5545
- Backports #5544
- Builds on #5482 and
#5506
- Accounts for #5386
- Part of #5029

## Type of Change

- [ ] **Add** - New feature or capability
- [ ] **Change** - Changes in existing functionality
- [x] **Fix** - Bug fixes
- [ ] **Remove** - Removed features or deprecated functionality
- [ ] **Internal** - Internal changes (refactoring, tests, docs, etc.)

## Breaking Changes

- [ ] **This PR contains breaking changes**

## Testing

- [x] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] Manual testing performed
- [ ] No testing required (docs, internal refactor, etc.)

- `cargo test -p carbide-libmlx-model`
- `cargo make clippy`
- `cargo make format-nightly`
- `cargo carbide-lints --all-targets --all-features`
- `git diff --check`

## Additional Notes

The existing v2.1 DPF and Non-DPF integrations already consume this
shared selector, so this PR does not change their NVConfig assignments.

The `v2.1-latest` build container tags were published from the v2.1
Dockerfiles, which still install `grpcurl`. A Dockerfile change still
selects the versioned container produced by that CI run. Mirrors
continue using the `latest` tag from their configured source registry.

---------

Signed-off-by: Chet Nichols III <chetn@nvidia.com>
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.

Recognize Additional GB200 B3240 Part Numbers for NVConfig Selection

2 participants