Table of Contents

Interface IBenchmarkRunner

Namespace
DotCompute.Runtime.Services.Interfaces
Assembly
DotCompute.Runtime.dll

Service for running performance benchmarks. Provides standardized and custom benchmarking capabilities for accelerators.

public interface IBenchmarkRunner

Methods

CompareAcceleratorsAsync(IEnumerable<IAccelerator>, BenchmarkDefinition)

Compares performance across multiple accelerators. Runs the same benchmark on different devices for comparison.

Task<AcceleratorComparisonResults> CompareAcceleratorsAsync(IEnumerable<IAccelerator> accelerators, BenchmarkDefinition benchmarkDefinition)

Parameters

accelerators IEnumerable<IAccelerator>

The collection of accelerators to compare.

benchmarkDefinition BenchmarkDefinition

The benchmark definition to use for comparison.

Returns

Task<AcceleratorComparisonResults>

Comparative performance analysis results.

GetHistoricalResultsAsync(string?)

Gets historical benchmark results. Retrieves previously recorded benchmark data for trend analysis.

Task<IEnumerable<BenchmarkResults>> GetHistoricalResultsAsync(string? acceleratorId = null)

Parameters

acceleratorId string

Optional filter by accelerator ID.

Returns

Task<IEnumerable<BenchmarkResults>>

Collection of historical benchmark results.

RunBenchmarkAsync(IAccelerator, BenchmarkSuiteType)

Runs a standard benchmark suite. Executes predefined performance tests on the specified accelerator.

Task<BenchmarkResults> RunBenchmarkAsync(IAccelerator accelerator, BenchmarkSuiteType suiteType)

Parameters

accelerator IAccelerator

The accelerator device to benchmark.

suiteType BenchmarkSuiteType

The type of benchmark suite to run.

Returns

Task<BenchmarkResults>

Comprehensive benchmark results.

RunCustomBenchmarkAsync(BenchmarkDefinition, IAccelerator)

Runs a custom benchmark. Executes user-defined performance tests with specific parameters.

Task<BenchmarkResults> RunCustomBenchmarkAsync(BenchmarkDefinition benchmarkDefinition, IAccelerator accelerator)

Parameters

benchmarkDefinition BenchmarkDefinition

The custom benchmark definition.

accelerator IAccelerator

The accelerator device to benchmark.

Returns

Task<BenchmarkResults>

Custom benchmark results.