Registration is not execution
AddUaixMetalBackend adds metadata and probe behavior to the registry; it does not start a Metal engine.
UAIX.LmRuntime / Package guide
Metal backend registration, declared compatibility metadata, runtime identifiers, and fail-closed local probe diagnostics.
Required For Metal backend registration and fail-closed Metal diagnostics
UAIX.LmRuntime.Backends.Metal
Metal backend registration, declared compatibility metadata, runtime identifiers, and fail-closed local probe diagnostics.
Backends.Metal registers the UAIX Metal backend family with Acceleration. It declares the intended Metal capability surface and package runtime identifiers (osx-arm64, osx-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.
dotnet add package UAIX.LmRuntime.Backends.Metal
<PackageReference Include="UAIX.LmRuntime.Backends.Metal" />
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 ↗
AddUaixMetalBackend adds metadata and probe behavior to the registry; it does not start a Metal engine.
The default diagnostic probe returns unavailable and states which native evidence has not been supplied.
The package declares osx-arm64, osx-x64; the current process and deployment still require independent validation.
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.
Examples use public package signatures documented on LMRuntime.com. Model paths, hashes, byte counts, prompts, and host-specific identifiers remain application inputs.
Add the package-visible Metal backend to an explicit Acceleration registry.
using UAIX.LmRuntime.Acceleration;
using UAIX.LmRuntime.Backends.Metal;
var registry = new RuntimeBackendRegistry();
registry.AddUaixMetalBackend();
IRuntimeBackend backend = registry.FindById(MetalRuntimeBackend.BackendId)
?? throw new InvalidOperationException("Metal backend registration failed.");
Console.WriteLine($"{backend.Id} / {backend.Kind}");
Boundary: Registration exposes Metal diagnostics. It does not prove a native runtime or device.
Inspect declared capabilities and the independent availability result.
using UAIX.LmRuntime.Acceleration;
using UAIX.LmRuntime.Backends.Metal;
var backend = new MetalRuntimeBackend();
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 Metal assets, runtime libraries, and a device.
Reject CPU substitution when the workload contract specifically requires Metal.
using UAIX.LmRuntime.Acceleration;
using UAIX.LmRuntime.Backends.Metal;
var registry = new RuntimeBackendRegistry();
registry.AddUaixMetalBackend();
var selector = new RuntimeBackendSelector(registry);
RuntimeSelectionResult result = await selector.SelectAsync(
new RuntimeBackendOptions
{
Policy = RuntimeSelectionPolicy.RequireBackendId,
PreferredBackendId = MetalRuntimeBackend.BackendId,
AllowCpuFallback = false,
RequireNativeAssets = true
});
if (!result.Succeeded)
{
Console.Error.WriteLine(result.FailureReason);
}
Boundary: RequireBackendId fails instead of relabeling another backend as Metal.
Use declared identifiers as deployment metadata, not as proof that the current machine is ready.
using UAIX.LmRuntime.Backends.Metal;
var backend = new MetalRuntimeBackend();
foreach (string runtimeIdentifier in backend.Capabilities.RuntimeIdentifiers)
{
Console.WriteLine(runtimeIdentifier);
}
Boundary: The declared identifiers are osx-arm64, osx-x64. Probe evidence remains required for a usable Metal execution path.
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.
MetalRuntimeBackendUAIX.LmRuntime.Backends.Metal
2 members
Reports Metal backend compatibility and diagnostics to the acceleration registry.
Metal support is declared for Apple GPU systems. This package does not contain hidden Metal inference binaries and reports unavailable until runtime and device evidence exists.
BackendId
The stable backend identifier used by selection policies.
MetalRuntimeBackend
Initializes a new instance of the UAIX.LmRuntime.Backends.Metal.MetalRuntimeBackend class.
RuntimeBackendRegistryExtensionsUAIX.LmRuntime.Backends.Metal
1 member
Provides registration helpers for the Metal backend.
Registration only exposes diagnostics and selection metadata. It does not authorize hidden native execution.
AddUaixMetalBackend(UAIX.LmRuntime.Acceleration.IRuntimeBackendRegistry)
Adds the UAIX Metal backend to a registry.
registryReturns: The same registry instance for fluent configuration.
The managed registration package reports unavailable until a host-supplied native adapter proves Metal assets, runtime libraries, drivers, and a device.
Capabilities describe the backend family. IsAvailable describes the current proven host state.
No. Registration and the supplied diagnostic probe perform no downloads, provider calls, subprocess execution, or remote inference.