Table of Contents

Class ServiceCollectionExtensions

Namespace
DotCompute.Runtime
Assembly
DotCompute.Runtime.dll

Extension methods for registering DotCompute Runtime services

public static class ServiceCollectionExtensions
Inheritance
ServiceCollectionExtensions
Inherited Members

Methods

AddAdvancedMemoryManagement(IServiceCollection, Action<AdvancedMemoryOptions>?)

Add advanced memory management features

public static IServiceCollection AddAdvancedMemoryManagement(this IServiceCollection services, Action<AdvancedMemoryOptions>? configureOptions = null)

Parameters

services IServiceCollection

The service collection

configureOptions Action<AdvancedMemoryOptions>

Optional action to configure memory options

Returns

IServiceCollection

The service collection for chaining

AddDotComputeComplete(IServiceCollection, IConfiguration)

Add all DotCompute services with full feature set

public static IServiceCollection AddDotComputeComplete(this IServiceCollection services, IConfiguration configuration)

Parameters

services IServiceCollection

The service collection

configuration IConfiguration

Configuration for all services

Returns

IServiceCollection

The service collection for chaining

AddDotComputePlugins(IServiceCollection, IConfiguration?, Action<DotComputePluginOptions>?)

Add plugin support to DotCompute Runtime

public static IServiceCollection AddDotComputePlugins(this IServiceCollection services, IConfiguration? configuration = null, Action<DotComputePluginOptions>? configureOptions = null)

Parameters

services IServiceCollection

The service collection

configuration IConfiguration

Optional configuration for plugin settings

configureOptions Action<DotComputePluginOptions>

Optional action to configure plugin options

Returns

IServiceCollection

The service collection for chaining

AddDotComputeRuntime(IServiceCollection, IConfiguration?, Action<DotComputeRuntimeOptions>?)

Add comprehensive DotCompute Runtime services to the service collection. This is the ONLY AddDotComputeRuntime() method you should use - it registers ALL necessary services.

public static IServiceCollection AddDotComputeRuntime(this IServiceCollection services, IConfiguration? configuration = null, Action<DotComputeRuntimeOptions>? configureOptions = null)

Parameters

services IServiceCollection

The service collection

configuration IConfiguration

Optional configuration for runtime settings

configureOptions Action<DotComputeRuntimeOptions>

Optional action to configure runtime options

Returns

IServiceCollection

The service collection for chaining

AddDotComputeRuntimeWithFactory<TFactory>(IServiceCollection)

Add DotCompute Runtime with custom accelerator factory

public static IServiceCollection AddDotComputeRuntimeWithFactory<TFactory>(this IServiceCollection services) where TFactory : class, IUnifiedAcceleratorFactory

Parameters

services IServiceCollection

The service collection

Returns

IServiceCollection

The service collection for chaining

Type Parameters

TFactory

The factory type

AddDotComputeRuntimeWithProviders(IServiceCollection, params Type[])

Add DotCompute Runtime with specific accelerator providers

public static IServiceCollection AddDotComputeRuntimeWithProviders(this IServiceCollection services, params Type[] providerTypes)

Parameters

services IServiceCollection

The service collection

providerTypes Type[]

Types of accelerator providers to register

Returns

IServiceCollection

The service collection for chaining

AddPerformanceMonitoring(IServiceCollection, Action<PerformanceMonitoringOptions>?)

Add performance monitoring and profiling services

public static IServiceCollection AddPerformanceMonitoring(this IServiceCollection services, Action<PerformanceMonitoringOptions>? configureOptions = null)

Parameters

services IServiceCollection

The service collection

configureOptions Action<PerformanceMonitoringOptions>

Optional action to configure profiling options

Returns

IServiceCollection

The service collection for chaining