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
servicesIServiceCollectionThe service collection
configureOptionsAction<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
servicesIServiceCollectionThe service collection
configurationIConfigurationConfiguration 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
servicesIServiceCollectionThe service collection
configurationIConfigurationOptional configuration for plugin settings
configureOptionsAction<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
servicesIServiceCollectionThe service collection
configurationIConfigurationOptional configuration for runtime settings
configureOptionsAction<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
servicesIServiceCollectionThe service collection
Returns
- IServiceCollection
The service collection for chaining
Type Parameters
TFactoryThe factory type
AddDotComputeRuntimeWithProviders(IServiceCollection, params Type[])
Add DotCompute Runtime with specific accelerator providers
public static IServiceCollection AddDotComputeRuntimeWithProviders(this IServiceCollection services, params Type[] providerTypes)
Parameters
servicesIServiceCollectionThe service collection
providerTypesType[]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
servicesIServiceCollectionThe service collection
configureOptionsAction<PerformanceMonitoringOptions>Optional action to configure profiling options
Returns
- IServiceCollection
The service collection for chaining