UAIX.LmRuntime / Package guide

UAIX.LmRuntime.Backends.Vulkan

Vulkan backend registration, declared compatibility metadata, runtime identifiers, and fail-closed local probe diagnostics.

Required For Vulkan backend registration and fail-closed Vulkan diagnostics

UAIX.LmRuntime.Backends.Vulkan

Vulkan backend registration, declared compatibility metadata, runtime identifiers, and fail-closed local probe diagnostics.

Overview

Backends.Vulkan registers the UAIX Vulkan backend family with Acceleration. It declares the intended Vulkan capability surface and package runtime identifiers (win-x64, linux-x64), then probes unavailable until a host-supplied native adapter proves assets, runtime libraries, drivers, and a device. The managed package performs no hidden native inference.

Who should use it Hosts building an explicit Vulkan compatibility lane, diagnostics UI, deployment validation, or future native adapter integration for vendor-diverse Windows and Linux GPU hosts.

Install

.NET CLI
dotnet add package UAIX.LmRuntime.Backends.Vulkan
Project file
<PackageReference Include="UAIX.LmRuntime.Backends.Vulkan" />

Version policy: The documentation deliberately omits UAIX.LmRuntime package version numbers. Resolve and pin versions through your normal dependency-management and lock-file process.

Review the current package metadata, frameworks, dependencies, and downloads on NuGet ↗

Direct package dependencies

Package role and boundaries

Required For Vulkan backend registration and fail-closed Vulkan diagnostics

  • You need the stable Vulkan backend ID and registry extension.
  • You need package-visible Vulkan runtime-identifier and capability declarations.
  • You need fail-closed probe diagnostics before Vulkan execution is proven.

Boundary

  • Installing or registering this package does not prove Vulkan execution.
  • The supplied managed backend does not load native inference libraries or enumerate a real device.
  • Do not report GPU availability unless a host adapter returns an available probe with concrete device evidence.

Registration is not execution

AddUaixVulkanBackend adds metadata and probe behavior to the registry; it does not start a Vulkan engine.

Compatibility fails closed

The default diagnostic probe returns unavailable and states which native evidence has not been supplied.

Runtime identifiers are declared

The package declares win-x64, linux-x64; the current process and deployment still require independent validation.

Key types

These are the main entry points for this package. The generated reference below includes every documented type and member represented by public package XML documentation.

Coding examples

Examples use public package signatures documented on LMRuntime.com. Model paths, hashes, byte counts, prompts, and host-specific identifiers remain application inputs.

Register the Vulkan backend

Add the package-visible Vulkan backend to an explicit Acceleration registry.

RegisterVulkanExample.cs
using UAIX.LmRuntime.Acceleration;
using UAIX.LmRuntime.Backends.Vulkan;

var registry = new RuntimeBackendRegistry();
registry.AddUaixVulkanBackend();

IRuntimeBackend backend = registry.FindById(VulkanRuntimeBackend.BackendId)
    ?? throw new InvalidOperationException("Vulkan backend registration failed.");

Console.WriteLine($"{backend.Id} / {backend.Kind}");

Boundary: Registration exposes Vulkan diagnostics. It does not prove a native runtime or device.

Probe the Vulkan package boundary

Inspect declared capabilities and the independent availability result.

ProbeVulkanExample.cs
using UAIX.LmRuntime.Acceleration;
using UAIX.LmRuntime.Backends.Vulkan;

var backend = new VulkanRuntimeBackend();
RuntimeBackendProbeResult probe = await backend.ProbeAsync(
    new RuntimeBackendOptions
    {
        RequestedRuntimeIdentifier =
            System.Runtime.InteropServices.RuntimeInformation.RuntimeIdentifier,
        RequireNativeAssets = true
    });

Console.WriteLine($"Declared API: {probe.Capabilities.BackendApiName}");
Console.WriteLine($"Native state: {probe.Capabilities.NativeAssetState}");
Console.WriteLine($"Available: {probe.IsAvailable}");
foreach (string diagnostic in probe.Diagnostics)
{
    Console.WriteLine(diagnostic);
}

Boundary: The default probe is expected to remain unavailable until a production adapter proves Vulkan assets, runtime libraries, and a device.

Require the Vulkan backend by ID

Reject CPU substitution when the workload contract specifically requires Vulkan.

RequireVulkanExample.cs
using UAIX.LmRuntime.Acceleration;
using UAIX.LmRuntime.Backends.Vulkan;

var registry = new RuntimeBackendRegistry();
registry.AddUaixVulkanBackend();

var selector = new RuntimeBackendSelector(registry);
RuntimeSelectionResult result = await selector.SelectAsync(
    new RuntimeBackendOptions
    {
        Policy = RuntimeSelectionPolicy.RequireBackendId,
        PreferredBackendId = VulkanRuntimeBackend.BackendId,
        AllowCpuFallback = false,
        RequireNativeAssets = true
    });

if (!result.Succeeded)
{
    Console.Error.WriteLine(result.FailureReason);
}

Boundary: RequireBackendId fails instead of relabeling another backend as Vulkan.

List the Vulkan package runtime identifiers

Use declared identifiers as deployment metadata, not as proof that the current machine is ready.

VulkanRuntimeIdentifiersExample.cs
using UAIX.LmRuntime.Backends.Vulkan;

var backend = new VulkanRuntimeBackend();
foreach (string runtimeIdentifier in backend.Capabilities.RuntimeIdentifiers)
{
    Console.WriteLine(runtimeIdentifier);
}

Boundary: The declared identifiers are win-x64, linux-x64. Probe evidence remains required for a usable Vulkan execution path.

Generated API reference

Expand a type to review its documented fields, properties, constructors, methods, parameter descriptions, and return descriptions. Browser Find also works across the closed detail elements.

RuntimeBackendRegistryExtensionsUAIX.LmRuntime.Backends.Vulkan 1 member

Provides registration helpers for the Vulkan backend.

Registration only exposes diagnostics and selection metadata. It does not authorize hidden native execution.

Method AddUaixVulkanBackend(UAIX.LmRuntime.Acceleration.IRuntimeBackendRegistry)

Adds the UAIX Vulkan backend to a registry.

registry
The registry to update.

Returns: The same registry instance for fluent configuration.

VulkanRuntimeBackendUAIX.LmRuntime.Backends.Vulkan 2 members

Reports Vulkan backend compatibility and diagnostics to the acceleration registry.

Vulkan support is declared for vendor-diverse hardware. This package does not contain hidden Vulkan inference binaries and reports unavailable until runtime and device evidence exists.

Field BackendId

The stable backend identifier used by selection policies.

Method VulkanRuntimeBackend

Initializes a new instance of the UAIX.LmRuntime.Backends.Vulkan.VulkanRuntimeBackend class.

Frequently asked questions

Does this package execute through Vulkan today?

The managed registration package reports unavailable until a host-supplied native adapter proves Vulkan assets, runtime libraries, drivers, and a device.

Why does SupportsGpuExecution read true when IsAvailable is false?

Capabilities describe the backend family. IsAvailable describes the current proven host state.

Does registration contact the network?

No. Registration and the supplied diagnostic probe perform no downloads, provider calls, subprocess execution, or remote inference.