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
topologyNumaTopologyNUMA topology information.
affinityManagerNumaAffinityManagerAffinity manager.
memoryManagerNumaMemoryManagerMemory manager.
Properties
Strategy
Gets the current optimization strategy.
public NumaOptimizationStrategy Strategy { get; }
Property Value
Methods
ApplyProfile(string)
Applies an optimization profile.
public OptimizationResult ApplyProfile(string profileName)
Parameters
profileNamestringName 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
profileNamestringName of the profile.
workloadTypeWorkloadTypeWorkload type.
preferencesOptimizationPreferencesOptimization 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
workloadTypeWorkloadTypeWorkload type to analyze.
Returns
- PerformanceRecommendations
Performance recommendations.
OptimizeProcess(WorkloadType)
Optimizes the current process for NUMA performance.
public OptimizationResult OptimizeProcess(WorkloadType workloadType = WorkloadType.Unknown)
Parameters
workloadTypeWorkloadTypeType of workload being optimized.
Returns
- OptimizationResult
Optimization results.
SetOptimizationStrategy(NumaOptimizationStrategy)
Sets the optimization strategy.
public void SetOptimizationStrategy(NumaOptimizationStrategy strategy)
Parameters
strategyNumaOptimizationStrategyOptimization strategy to use.