Table of Contents

Class MetalCapabilityManager

Namespace
DotCompute.Backends.Metal.Configuration
Assembly
DotCompute.Backends.Metal.dll

Centralized manager for Metal GPU family detection and feature availability. Handles device capability queries and feature tier detection. This is the single source of truth for Metal capabilities.

public static class MetalCapabilityManager
Inheritance
MetalCapabilityManager
Inherited Members

Methods

ClearCache()

Clears the cached capabilities, forcing re-detection on next access.

public static void ClearCache()

GetCapabilities()

Gets the Metal GPU family and features for the system default device. This is the SINGLE source of truth for Metal capability detection.

public static MetalCapabilities GetCapabilities()

Returns

MetalCapabilities

GetMaxBufferLength()

Gets the maximum buffer length.

public static long GetMaxBufferLength()

Returns

long

GetMaxThreadsPerThreadgroup()

Gets the maximum threads per threadgroup.

public static int GetMaxThreadsPerThreadgroup()

Returns

int

HasUnifiedMemory()

Checks if the device has unified memory (Apple Silicon).

public static bool HasUnifiedMemory()

Returns

bool

SupportsArgumentBuffers()

Checks if argument buffers (Tier 2 feature) are supported.

public static bool SupportsArgumentBuffers()

Returns

bool

SupportsGpuFamily(MetalGpuFamily)

Checks if a specific GPU family is supported.

public static bool SupportsGpuFamily(MetalGpuFamily family)

Parameters

family MetalGpuFamily

Returns

bool