Skip to content

[CLI] Catalog returns zero non-CPU (GPU/NPU) model variants on Snapdragon X Elite despite both being detected and EPs loading successfully #882

Description

@steamedeo

Problem

On a Snapdragon X Elite (X1E80100) laptop running Windows 11, foundry model list and foundry model list --variants show 43 available variants — all 43 are CPU-only. Zero GPU or NPU variants appear anywhere in the catalog, despite:

  • foundry status correctly detecting both the Adreno X1-85 GPU and the Hexagon NPU.
  • foundry status printing a GPU-specific warning ("Qualcomm Adreno GPU detected. If acceleration fails, try a CPU model variant or update the GPU driver.") — implying GPU variants are expected to be attempted, yet none exist in the catalog to attempt.
  • foundry server start explicitly downloading and reporting success for QNNExecutionProvider.
  • Attempting to run a known NPU model ID directly (foundry run phi-3.5-mini-instruct-qnn-npu) fails with "No model matching 'phi-3.5-mini-instruct-qnn-npu' was found in the catalog" — confirming the entries are absent from the catalog response itself, not just hidden from the default table view.

Ruled out: eastus regional throttling (#757)

Since foundry config has no exposed key for ModelRegistryRegion (only port, cache-directory, idle-timeout-minutes, log-level), I tested this directly via the Python SDK, pinning the region explicitly and running each test in a fresh process to avoid the FoundryLocalManager singleton carrying over the first config:

config = Configuration(
    app_name=f"probe_{region}",
    additional_settings={"ModelRegistryRegion": region},
    log_level="Warning",
)
FoundryLocalManager.initialize(config)
models = FoundryLocalManager.instance.catalog.list_models()

Results across 5 regions (NPU check):

Region Total models NPU-tagged GPU-tagged
westeurope 43 0
westus2 43 0
northeurope 43 0
eastus2 43 0
southeastasia 43 0
eastus (default) 43 0 0

Every region returns an identical count with zero non-CPU entries. This rules out eastus throttling as the cause — results are identical regardless of region, and the CPU-only pattern is consistent across the board, not a partial/intermittent fetch failure.

Environment

  • CLI version: 0.10.2
  • Hardware: Snapdragon(R) X Elite - X1E80100, Qualcomm(R) Hexagon(TM) NPU, Qualcomm(R) Adreno(TM) X1-85 GPU
  • OS: Windows 11 (reports as build 10.0.26200)
  • RAM: 15.6 GB total
  • QNNExecutionProvider: downloads and registers successfully on foundry server start

Ask

  1. Is this catalog snapshot genuinely missing all non-CPU variants for Snapdragon X Elite hardware right now, or is there a hardware-profile-matching bug preventing GPU/NPU entries from being returned even though they exist server-side?
  2. Is there a catalog endpoint/flag (beyond ModelRegistryRegion) relevant to hardware-profile matching that might need adjusting?
  3. Could foundry config eventually expose ModelRegistryRegion for CLI-only users, since the SDK is currently the only way to attempt this workaround at all?

Happy to provide foundry report output or further diagnostics if useful.

Diagnostics

System

  • OS: Microsoft Windows 10.0.26200
  • Architecture: Arm64
  • CPU: Snapdragon(R) X 12-core X1E80100 @ 3.40 GHz (12 logical cores)
  • GPU: Qualcomm Incorporated Qualcomm(R) Adreno(TM) X1-85 GPU (—)
  • NPU: Qualcomm Technologies, Inc. Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Hexagon(TM) NPU
  • RAM: 7.5 GB available / 15.6 GB total
  • Disk: 707.8 GB free / 952.6 GB total (C:)
  • .NET: .NET 9.0.18

Service

Models

  • Available variants: 43
  • Loaded: 0
  • Cached: 0

Connectivity

  • Local service: Reachable
  • Model registry: Reachable

Warnings

  • Qualcomm Adreno GPU detected. If acceleration fails, try a CPU model variant or update the GPU driver.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions