diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 69babe2a46..df2a831c71 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -430,13 +430,22 @@ jobs: MAJOR_MINOR=$(echo "${VERSION}" | cut -d. -f1,2) echo "major_minor_version=${MAJOR_MINOR}" >> "$GITHUB_OUTPUT" + # `release/v2.1` integration tests still invoke `grpcurl`, which + # `main`'s build containers no longer include. Keep canonical v2.1 + # checks on `v2.1-latest`; mirrors continue using the `latest` tag from + # their configured source registry. + build_container_fallback_version=latest + if [[ "${GITHUB_REPOSITORY}" == "NVIDIA/infra-controller" && "${MAJOR_MINOR}" == "v2.1" ]]; then + build_container_fallback_version="${MAJOR_MINOR}-latest" + fi + if [[ "$build_container_x86_64_run" == "true" ]]; then echo "build_container_x86_64_version=${VERSION}" >> "$GITHUB_OUTPUT" echo "build_container_x86_64_ref=${TARGET_REGISTRY}/build-container-x86_64:${VERSION}" >> "$GITHUB_OUTPUT" echo "build_container_x86_64_version_latest=${TARGET_REGISTRY}/build-container-x86_64:${MAJOR_MINOR}-latest" >> "$GITHUB_OUTPUT" else - echo "build_container_x86_64_version=latest" >> "$GITHUB_OUTPUT" - echo "build_container_x86_64_ref=${SOURCE_REGISTRY}/build-container-x86_64:latest" >> "$GITHUB_OUTPUT" + echo "build_container_x86_64_version=${build_container_fallback_version}" >> "$GITHUB_OUTPUT" + echo "build_container_x86_64_ref=${SOURCE_REGISTRY}/build-container-x86_64:${build_container_fallback_version}" >> "$GITHUB_OUTPUT" echo "build_container_x86_64_version_latest=" >> "$GITHUB_OUTPUT" fi @@ -455,8 +464,8 @@ jobs: echo "build_container_aarch64_ref=${TARGET_REGISTRY}/build-container-aarch64:${VERSION}" >> "$GITHUB_OUTPUT" echo "build_container_aarch64_version_latest=${TARGET_REGISTRY}/build-container-aarch64:${MAJOR_MINOR}-latest" >> "$GITHUB_OUTPUT" else - echo "build_container_aarch64_version=latest" >> "$GITHUB_OUTPUT" - echo "build_container_aarch64_ref=${SOURCE_REGISTRY}/build-container-aarch64:latest" >> "$GITHUB_OUTPUT" + echo "build_container_aarch64_version=${build_container_fallback_version}" >> "$GITHUB_OUTPUT" + echo "build_container_aarch64_ref=${SOURCE_REGISTRY}/build-container-aarch64:${build_container_fallback_version}" >> "$GITHUB_OUTPUT" echo "build_container_aarch64_version_latest=" >> "$GITHUB_OUTPUT" fi diff --git a/crates/libmlx-model/src/nvconfig.rs b/crates/libmlx-model/src/nvconfig.rs index 3475e4a8cf..64bf3a4119 100644 --- a/crates/libmlx-model/src/nvconfig.rs +++ b/crates/libmlx-model/src/nvconfig.rs @@ -43,10 +43,12 @@ const GB200_B3240_V1_PARAMETERS: [&str; 18] = [ "PCI_SWITCH0_UPSTREAM_PORT_PEX=0", ]; -const GB200_B3240_PART_NUMBERS: [&str; 3] = [ +const GB200_B3240_PART_NUMBERS: [&str; 5] = [ "900-9D3B6-00CN-AB0", "900-9D3B6-00CN-PA0", "900-9D3B6-00SN-AB0", + "900-9D3B6-00CN-PN0", + "900-9D3B6-00CN-P_Ax", ]; /// `DpuNvConfigProfile` identifies a fixed version of platform mlxconfig values. @@ -59,9 +61,10 @@ pub enum DpuNvConfigProfile { impl DpuNvConfigProfile { /// Returns the GB200 profile for an exact supported B3240 part number. /// - /// Accepted part numbers are `900-9D3B6-00CN-AB0`, `900-9D3B6-00SN-AB0`, - /// and `900-9D3B6-00CN-PA0`. Surrounding whitespace and ASCII letter case - /// are ignored. The caller must separately verify that the DPU belongs to a + /// Accepted identities are `900-9D3B6-00CN-AB0`, `900-9D3B6-00SN-AB0`, + /// `900-9D3B6-00CN-PA0`, `900-9D3B6-00CN-PN0`, and + /// `900-9D3B6-00CN-P_Ax`. Surrounding whitespace and ASCII letter case are + /// ignored. The caller must separately verify that the DPU belongs to a /// GB200 rack. Broader B3240 product prefixes are not accepted. pub fn for_gb200_b3240_part_number(part_number: &str) -> Option { let part_number = part_number.trim(); @@ -90,10 +93,12 @@ mod tests { fn gb200_b3240_profile_requires_an_exact_supported_part_number() { value_scenarios!( run = DpuNvConfigProfile::for_gb200_b3240_part_number; - "supported part numbers" { + "supported identities" { "900-9D3B6-00CN-AB0" => Some(DpuNvConfigProfile::Gb200B3240V1), "900-9D3B6-00SN-AB0" => Some(DpuNvConfigProfile::Gb200B3240V1), "900-9D3B6-00CN-PA0" => Some(DpuNvConfigProfile::Gb200B3240V1), + "900-9D3B6-00CN-PN0" => Some(DpuNvConfigProfile::Gb200B3240V1), + "900-9D3B6-00CN-P_Ax" => Some(DpuNvConfigProfile::Gb200B3240V1), " 900-9d3b6-00cn-pa0\n" => Some(DpuNvConfigProfile::Gb200B3240V1), }