Skip to content

OCI: H100/H200/L40S/A100-v2/B200/B300/RTX PRO shapes are filtered out of offers #4301

Closed

Description

@fede-kamel

Steps to reproduce

Configure the oci backend and run dstack apply with a run that requests an H100 (or H200, L40S, A100-v2, B200, B300, RTX PRO 6000) in a region and tenancy that has quota for it.

Actual behaviour

No OCI offer is ever selected for those GPUs. SUPPORTED_SHAPE_FAMILIES in src/dstack/_internal/core/backends/oci/compute.py still lists only the shapes that existed when Bare Metal support landed (#1325): BM.GPU3., BM.GPU4., BM.GPU.A10. plus the VM families. Every newer shape that gpuhunt already catalogs (BM.GPU.H100.8, BM.GPU.H200.8, BM.GPU.L40S.4, BM.GPU.A100-v2.8, BM.GPU.B200.8) is filtered out by _supported_instances. #2343 asked for H100 and was closed as non-priority; its blocker (Fabric Manager, #2348) was fixed in #2355, so the images now install open kernel modules and Fabric Manager.

Separately, the gpuhunt OCI provider dropped OCI's AMD shapes and the newest NVIDIA shapes, and published GB200 under its display name (fix in dstackai/gpuhunt#262).

Expected behaviour

Runs that request these GPUs get OCI offers when the account has quota for them. I use the OCI backend with NVIDIA GPU shapes and want to schedule newer ones through dstack rather than by hand.

dstack version

master (branch off 68e701d0's parent)

Additional information

I have a change ready that adds the x86-64 NVIDIA families to the allowlist and records why AMD (no ROCm image) and Grace GB200/GB300 (arm64 hosts, x86 images only) stay out, plus a note on why SUPPORTED_REGIONS is fixed (the Marketplace listings carrying the dstack images are regional). PR to follow.

Activity

  1. fede-kamel commented on Sep 24, 2026

    @fede-kamel
    ContributorAuthor

    One more shape worth recording, kept out of the PR because it cannot be fixed there alone.

    BM.GPU.B4.8 (8 x A100 40GB, 128 OCPUs, 2048 GB) is returned by the Compute API as a shape distinct from BM.GPU4.8 (64 OCPUs), and it is filtered out twice over:

    • "BM.GPU.B4.8".startswith("BM.GPU4.") is False, so the allowlist would not match it even after this change.
    • It does not appear in the OCI Cost Estimator shapes.json that the gpuhunt provider reads, so the catalog has no row and no price for it.

    Adding BM.GPU.B4. to SUPPORTED_SHAPE_FAMILIES on its own would therefore be dead code - the catalog side would have to come first.

    Caveat on how much this matters: BM.GPU.B4.8 is also absent from Oracle's Compute Shapes documentation, which lists 21 GPU shapes and includes BM.GPU4.8 but not this one. So it looks like a legacy or undocumented shape still served by the API rather than a gap in current coverage, and it is probably not worth acting on unless someone turns out to be running it. Recording it so it is not rediscovered later.

  2. jvstme commented on Oct 7, 2026

    @jvstme
    Collaborator

    Since dstack 0.22.2, you can use the experimental_instance_types backend setting to enable these shapes.

    experimental_instance_types: [BM.GPU.RTXPRO.8]

    We will make the shapes available without experimental_instance_types once we get a chance to test them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions