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.