Table of Contents

Namespace DotCompute.Backends.Metal.Execution

Classes

ConvolutionConfig

Configuration for convolution operations.

CooperativeGroupsMetrics

Cooperative groups performance metrics.

DynamicParallelismMetrics

Performance metrics for dynamic parallelism.

MetalCommandEncoder

High-level Metal command encoder abstraction for compute operations, providing a simplified interface over native Metal compute command encoders.

MetalCommandEncoderFactory

Factory for creating Metal command encoders

MetalCommandExecutionResult

Result of a Metal command execution

MetalCommandExecutor

Production implementation of IMetalCommandExecutor that makes actual Metal native API calls.

MetalCommandQueueManager

Production-grade command queue manager with priority support and queue pooling. Optimizes concurrent queue usage and tracks performance metrics.

MetalCommandStream

Advanced Metal command stream manager for asynchronous execution pipeline, following CUDA stream patterns for maximum performance and thread safety.

MetalComputeOperationDescriptor

Descriptor for compute operations

MetalConfigurationException

Exception thrown when Metal execution system encounters configuration errors

MetalCooperativeGroups

Metal cooperative groups manager for synchronization primitives. Provides grid-wide synchronization, threadgroup coordination, and Metal barrier optimization. Equivalent to CUDA cooperative groups for Metal compute kernels.

MetalCpuFallbackRequiredException

Exception thrown when CPU fallback is required

MetalDeviceException

Exception thrown when Metal device error occurs

MetalDiagnosticInfo

Comprehensive diagnostic information for Metal execution

MetalDiagnosticMessage

Diagnostic message for Metal execution

MetalDynamicParallelism

Metal dynamic parallelism manager for nested kernel execution. Supports kernels launching other kernels using Metal 3's indirect command buffers. Equivalent to CUDA dynamic parallelism for recursive/hierarchical algorithms.

MetalEncoderCommand

Represents a command that was encoded

MetalEncodingStats

Statistics about encoding operations

MetalErrorHandler

Production-grade Metal error handler with retry logic, graceful degradation, and comprehensive error recovery strategies following CUDA error handling patterns.

MetalErrorRecoveryOptions

Configuration options for Metal error recovery

MetalErrorStatistics

Error statistics tracking for Metal operations

MetalEvent

High-level Metal event abstraction for cross-stream synchronization

MetalEventHandle

Handle for managed Metal events with automatic cleanup

MetalEventManager

Advanced Metal event manager for timing, profiling, synchronization, and event pooling, following CUDA event patterns for cross-stream coordination.

MetalEventPool

Efficient pool for managing Metal events to reduce allocation overhead and improve performance. Follows CUDA event pool patterns with Metal-specific optimizations.

MetalEventPoolStatistics

Statistics about the Metal event pool

MetalEventStatistics

Statistics for the Metal event manager

MetalException

Base exception for Metal-related errors

MetalExecutionConfiguration

Configuration for Metal execution optimization

MetalExecutionContext

Metal execution context for managing execution state, resource lifetime tracking, performance metrics collection, and command dependency resolution. Follows CUDA execution context patterns optimized for Metal.

MetalExecutionContextOptions

Options for configuring Metal execution context

MetalExecutionEngine

Orchestrates Metal kernel execution with explicit grid and thread group dimensions. Manages command buffer lifecycle, encoder setup, and synchronization.

MetalExecutionGraph

Execution graph for coordinated stream operations

MetalExecutionLevel

Level in the Metal execution plan

MetalExecutionLogger

Comprehensive logging and telemetry integration for Metal execution components. Provides structured logging, performance tracking, and diagnostic information.

MetalExecutionManager

Unified Metal execution manager that orchestrates all execution components, integrating with the existing Metal backend architecture for production-grade usage.

MetalExecutionManagerHealthCheck

Health check result for the execution manager

MetalExecutionManagerOptions

Options for configuring the Metal execution manager

MetalExecutionManagerStats

Comprehensive statistics from all execution components

MetalExecutionNode

Node in the Metal execution graph

MetalExecutionOptions

Options for Metal operation execution

MetalExecutionPlan

Complete Metal execution plan

MetalExecutionStatistics

Comprehensive execution statistics

MetalExecutionTelemetry

Telemetry collector for Metal execution components

MetalHealthCheckResult

Result of a health check

MetalKernelParameterBinder

Handles parameter binding for Metal kernel execution. Maps IUnifiedMemoryBuffer instances to Metal buffer bindings on compute command encoders.

MetalMemoryOperationDescriptor

Descriptor for memory operations

MetalOperationDescriptor

Base class for Metal operation descriptors

MetalOperationException

Exception thrown when Metal operation fails

MetalOperationExecutionInfo

Information about an operation execution

MetalProfilingResult

Result of profiling with statistical analysis

MetalResourceLimitException

Exception thrown when Metal resource limits are exceeded

MetalStreamConfiguration

Configuration for Metal command stream optimization

MetalStreamGroup

Group of streams working together

MetalStreamHandle

Handle for managed Metal streams with automatic cleanup

MetalStreamStatistics

Statistics for Metal stream usage

MetalTelemetryEvent

Represents a telemetry event

MetalTelemetryReport

Comprehensive telemetry report

MetalTensorOperations

Metal tensor operations using Metal Performance Shaders (MPS) for ML workloads. Provides high-performance matrix operations, convolution, and batch normalization optimized for Apple Silicon and Metal GPUs.

MetalTimeoutException

Exception thrown when Metal operation times out

MetalTimingResult

Result of a single timing measurement

MetalUnavailableException

Exception thrown when Metal GPU becomes unavailable

QueueManagerStats

Queue manager statistics.

QueuePoolStats

Queue pool statistics.

SyncTypeMetrics

Metrics for a specific synchronization type.

TensorOperationMetrics

Metrics for individual tensor operation types.

TensorPerformanceMetrics

Performance metrics for tensor operations.

Structs

EventId

Unique identifier for Metal events

MetalDispatchSize

Represents a dispatch size for Metal compute operations

StreamId

Unique identifier for Metal streams

Enums

MetalCommandType

Types of encoder commands

MetalDiagnosticMessage.SeverityLevel

Message severity level

MetalError

Metal error codes

MetalEventType

Types of Metal events

MetalExecutionHealth

Represents the overall health status of the Metal execution environment

MetalExecutionStrategy

Defines the execution strategy for Metal operations

MetalGpuArchitecture

GPU architecture types for optimization

MetalMemoryOperationDescriptor.OperationType

Type of memory operation

MetalMemoryStrategy

Defines memory allocation strategies for Metal resources

MetalMetricsCategory

Metrics collection categories

MetalOperationPriority

Priority levels for Metal operations

MetalOperationState

State of a Metal operation

MetalPlatformOptimization

Platform-specific optimizations

MetalProfilingLevel

Performance profiling levels

MetalResourcePattern

Resource utilization patterns

MetalResourceType

Types of Metal resources

MetalStreamFlags

Metal stream flags

MetalStreamPriority

Metal stream priority levels

MetalSynchronizationMode

Defines the synchronization model for Metal operations

QueuePriority

Queue priority levels.

SynchronizationType

Synchronization type classification.