Table of Contents

Namespace DotCompute.Abstractions

Classes

AcceleratorEvent

Represents an event for stream synchronization.

AcceleratorException

Exception thrown when accelerator operations fail.

AcceleratorInfo

Represents information about an accelerator device.

AcceleratorSelectionCriteria

Criteria for selecting an accelerator.

AcceleratorUtilities

Utility methods for common accelerator patterns to reduce code duplication.

CompilationException

Exception thrown when kernel compilation fails.

CompilationOptions

Comprehensive compilation options for kernel compilation across different backends

ComputeStream

Represents an execution stream on an accelerator for asynchronous command submission. Streams allow overlapping of computation and data transfers.

DisposalUtilities

Common disposal patterns and utilities for accelerator implementations.

KernelUtilities

Utility methods for common kernel compilation patterns to reduce code duplication.

MemoryException

Exception thrown when memory operations fail.

Structs

AcceleratorContext

Represents an accelerator context for managing device state. This is a value type for AOT compatibility and zero allocations.

DeviceMemory

Represents a handle to device memory. This is a value type for AOT compatibility and zero allocations.

Interfaces

IAccelerator

Represents a compute accelerator device.

IAcceleratorManager

Manages accelerator devices and their lifecycle.

IAcceleratorProvider

Provides accelerator instances.

ICompiledKernel

Represents a compiled kernel ready for execution.

IKernel

Represents a compute kernel that can be compiled and executed on an accelerator.

IKernelSource

Represents a source of kernel code that can be compiled and executed. Defines the contract for providing kernel source code, metadata, and dependencies required for compilation and execution on various compute accelerators.

IMemoryMapping<T>

Represents a mapped memory region. This is a duplicate of DotCompute.Core.Memory.IMemoryMapping for backward compatibility.

IMemoryStatistics

Memory usage statistics. This is a duplicate of DotCompute.Core.Memory.IMemoryStatistics for backward compatibility.

ISyncMemoryBuffer

Extended memory buffer interface with synchronous operations and additional capabilities.

ISyncMemoryManager

Synchronous memory manager interface for backends that don't require async operations.

IUnifiedKernelCompiler

Non-generic version of the unified kernel compiler interface for convenience. Provides accelerator-specific compilation methods from legacy IKernelCompiler interface.

IUnifiedKernelCompiler<TSource, TCompiled>

Unified kernel compiler interface that replaces all duplicate compiler interfaces. This is the ONLY kernel compiler interface in the entire solution. Supports both generic and accelerator-specific compilation workflows.

IUnifiedMemoryBuffer

Non-generic base interface for memory buffers.

IUnifiedMemoryBuffer<T>

Unified memory buffer interface that combines the best features from all buffer implementations. This is the ONLY memory buffer interface in the entire solution.

IUnifiedMemoryManager

Unified memory manager interface that replaces all duplicate memory management interfaces. This is the ONLY memory manager interface in the entire solution.

Enums

AcceleratorType

Defines the type of accelerator device.

KernelSourceType

Specifies the source type of a kernel.

MemoryAccess

Memory access modes. This is a duplicate of DotCompute.Core.Memory.MemoryAccess for backward compatibility.

MemoryLocation

Memory locations where buffers can be allocated. This is a duplicate of DotCompute.Core.Memory.MemoryLocation for backward compatibility.

MemoryMapMode

Memory mapping modes. This is a duplicate of DotCompute.Core.Memory.MemoryMapMode for backward compatibility.