Table of Contents

Class MetalGraphOptimizer

Namespace
DotCompute.Backends.Metal.Execution.Graph
Assembly
DotCompute.Backends.Metal.dll

Provides advanced optimization capabilities for Metal compute graphs including kernel fusion, memory access pattern optimization, and Apple Silicon specific optimizations.

public sealed class MetalGraphOptimizer
Inheritance
MetalGraphOptimizer
Inherited Members

Remarks

Initializes a new instance of the MetalGraphOptimizer class.

Constructors

MetalGraphOptimizer(ILogger<MetalGraphOptimizer>, MetalOptimizationParameters?)

Provides advanced optimization capabilities for Metal compute graphs including kernel fusion, memory access pattern optimization, and Apple Silicon specific optimizations.

public MetalGraphOptimizer(ILogger<MetalGraphOptimizer> logger, MetalOptimizationParameters? defaultParameters = null)

Parameters

logger ILogger<MetalGraphOptimizer>

The logger instance for optimization tracking.

defaultParameters MetalOptimizationParameters

Default optimization parameters to use.

Remarks

Initializes a new instance of the MetalGraphOptimizer class.

Methods

AnalyzeGraphAsync(MetalComputeGraph)

Performs a lightweight analysis of optimization opportunities without applying changes.

public static Task<MetalGraphAnalysis> AnalyzeGraphAsync(MetalComputeGraph graph)

Parameters

graph MetalComputeGraph

The graph to analyze.

Returns

Task<MetalGraphAnalysis>

Analysis results containing optimization opportunities.

OptimizeAsync(MetalComputeGraph, MetalOptimizationParameters?)

Optimizes a Metal compute graph for maximum performance and efficiency.

public Task<MetalOptimizationResult> OptimizeAsync(MetalComputeGraph graph, MetalOptimizationParameters? parameters = null)

Parameters

graph MetalComputeGraph

The graph to optimize.

parameters MetalOptimizationParameters

Optional optimization parameters. Uses defaults if not provided.

Returns

Task<MetalOptimizationResult>

An optimization result containing applied optimizations and performance improvements.

Exceptions

ArgumentNullException

Thrown when graph is null.