Table of Contents

Class NumaOptimizer

Namespace
DotCompute.Backends.CPU.Threading.NUMA
Assembly
DotCompute.Backends.CPU.dll

NUMA optimization strategies and performance tuning.

public sealed class NumaOptimizer : IDisposable
Inheritance
NumaOptimizer
Implements
Inherited Members
Extension Methods

Constructors

NumaOptimizer(NumaTopology, NumaAffinityManager?, NumaMemoryManager?)

Initializes a new instance of the NumaOptimizer class.

public NumaOptimizer(NumaTopology topology, NumaAffinityManager? affinityManager = null, NumaMemoryManager? memoryManager = null)

Parameters

topology NumaTopology

NUMA topology information.

affinityManager NumaAffinityManager

Affinity manager.

memoryManager NumaMemoryManager

Memory manager.

Properties

Strategy

Gets the current optimization strategy.

public NumaOptimizationStrategy Strategy { get; }

Property Value

NumaOptimizationStrategy

Methods

ApplyProfile(string)

Applies an optimization profile.

public OptimizationResult ApplyProfile(string profileName)

Parameters

profileName string

Name of the profile to apply.

Returns

OptimizationResult

Optimization results.

CreateProfile(string, WorkloadType, OptimizationPreferences?)

Creates an optimization profile for a specific workload.

public OptimizationProfile CreateProfile(string profileName, WorkloadType workloadType, OptimizationPreferences? preferences = null)

Parameters

profileName string

Name of the profile.

workloadType WorkloadType

Workload type.

preferences OptimizationPreferences

Optimization preferences.

Returns

OptimizationProfile

Created optimization profile.

Dispose()

Disposes of the optimizer and stops periodic optimization.

public void Dispose()

GetRecommendations(WorkloadType)

Gets recommendations for improving NUMA performance.

public PerformanceRecommendations GetRecommendations(WorkloadType workloadType = WorkloadType.Unknown)

Parameters

workloadType WorkloadType

Workload type to analyze.

Returns

PerformanceRecommendations

Performance recommendations.

OptimizeProcess(WorkloadType)

Optimizes the current process for NUMA performance.

public OptimizationResult OptimizeProcess(WorkloadType workloadType = WorkloadType.Unknown)

Parameters

workloadType WorkloadType

Type of workload being optimized.

Returns

OptimizationResult

Optimization results.

SetOptimizationStrategy(NumaOptimizationStrategy)

Sets the optimization strategy.

public void SetOptimizationStrategy(NumaOptimizationStrategy strategy)

Parameters

strategy NumaOptimizationStrategy

Optimization strategy to use.