Skip to content

NVIDIA EP (NvTensorRtRtxExecutionProvider) not auto-downloaded on clean system #589

@Sthen111

Description

@Sthen111

Issue: NVIDIA NPU EP Download Error
Env:
NVIDIA GeForce RTX 3060 Laptop GPU, driver version 32.0.15.7324, cuda version 12.5
windows 11 Pro, 24H2
windows Update to KB5065789(2025-09 D)

To test whether CppConsoleDesktop can automatically call the NVIDIA execution provider on a clean PC, I ran the original sample (with only minor debug prints added):

std::cout << "Getting available providers..." << std::endl;
auto catalog = winrt::Microsoft::Windows::AI::MachineLearning::ExecutionProviderCatalog::GetDefault();
auto providers = catalog.FindAllProviders();
for (const auto& provider : providers)
{
    std::wcout << L"Provider: " << provider.Name().c_str() << std::endl;
    try
    {
        auto readyState = provider.ReadyState();
        std::wcout << L"  Ready state: " << static_cast<int>(readyState) << std::endl;

        // Only call EnsureReadyAsync if we allow downloads or if the provider is already ready
        if (allowDownload || readyState != winrt::Microsoft::Windows::AI::MachineLearning::ExecutionProviderReadyState::NotPresent)
        {
            std::wcout << L"  Ensuring ready..." << std::endl;
            provider.EnsureReadyAsync().get();
        }

        if (!provider.TryRegister())
        {
            std::wcout << L" Failed to register provider!" << std::endl;
        }
        else
        {
            std::wcout << L" Successfully registered." << std::endl;
        }
    }
    catch (...)
    {
        // Continue if provider fails to initialize
    }
}

The app detects NvTensorRtRtxExecutionProvider in the catalog, but TryRegister() fails, and the EP is never actually downloaded or becomes usable.

Getting available providers...
Provider: NvTensorRTRTXExecutionProvider
  Ready state: 2
  Ensuring ready...
 Failed to register provider!
ONNX Runtime Version: 1.23.2

According to the official documentation, NvTensorRtRtxExecutionProvider was released in version 1.8.14.0 via Windows Update in "2025 9D."
However, why am I not getting the execution provider (EP) properly, even though I'm using the corresponding system version?

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