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.