ILGPU  0.9.0
ILGPU.Runtime Namespace Reference


namespace  CPU
namespace  Cuda
namespace  OpenCL


class  Accelerator
 Represents a general abstract accelerator. More...
class  AcceleratorExtension
 Represents an abstract accelerator extension that can store additional data. More...
class  AcceleratorId
 Represents a single accelerator reference. More...
class  AcceleratorObject
 Represents the base class for all accelerator-dependent objects. More...
class  AcceleratorStream
 Represents an abstract kernel stream for asynchronous processing. More...
class  ArrayViewSource
 Internal abstract interface for generic array-view sources. More...
class  BaseDebugArrayView
 Base debug view. More...
class  DebugArrayView
class  ExchangeBuffer
 A static helper class for all exchange buffer implementations.
class  ExchangeBuffer2D
 2D implementation of ExchangeBufferBase<T, TIndex> More...
class  ExchangeBuffer3D
 3D implementation of ExchangeBufferBase<T, TIndex> More...
class  ExchangeBufferBase
 The base class for all exchange buffers. Contains methods and types that are shared by all implementations. More...
interface  IAcceleratorExtensionProvider
 Represents a generic accelerator-extension provider. More...
interface  IAcceleratorObject
 Represents an abstract accelerator object. More...
interface  IMemoryBuffer
 Represents the base interface of all memory buffers. More...
interface  ISpecializationCacheArgs
 The base interface for all automatically generated specialization argument structures that are used in combination with the SpecializationCache<TLoader, TArgs, TDelegate>.
class  Kernel
 Represents the base class for all runtime kernels. More...
class  KernelAccelerator
 Represents an accelerator that manages typed kernel. More...
class  KernelInfo
 Provides detailed information about compiled kernels. More...
class  KernelLauncherBuilder
 Builder methods for kernel launchers.
class  KernelLoaders
 Contains extensions for convenient kernel loading of default kernels.
struct  KernelSpecialization
 Represents a kernel specialization. More...
class  KernelUtil
 Contains utility methods to work with kernel objects.
class  MemoryBuffer
 Represents an abstract memory buffer that can be used in the scope of ILGPU runtime kernels. More...
class  MemoryBuffer2D
class  MemoryBuffer3D
class  MemoryBufferCache
 Represents a cached memory buffer with a specific capacity. It minimizes reallocations in cases of requests that can also be handled with the currently allocated amount of memory. If the requested amount of memory is not sufficient, the current buffer will be freed and a new buffer will be allocated. More...
class  MemoryBufferExtensions
 Extension methods for the allocation of memory buffers.
struct  ScopedAcceleratorBinding
 Represents a temporary binding of an accelerator object. The old binding can be recovered by either Recover or the Dispose method. More...
class  SpecializationCache
 A specialization cache to store and managed specialized kernel versions.
class  SpecializedValue
 Provides static helper functions for the structure SpecializedValue<T>.
class  UnmanagedMemoryViewSource
 Represents a view source that allocates native memory in the CPU address space.
class  ViewPointerWrapper
 Creates a new view pointer wrapper that wraps a pointer reference inside an array view. More...


enum  AcceleratorType : int { AcceleratorType.CPU, AcceleratorType.Cuda, AcceleratorType.OpenCL }
 Represents the general type of an accelerator. More...
enum  ExchangeBufferMode { ExchangeBufferMode.PreferPagedLockedMemory = 0, ExchangeBufferMode.UsePageablememory = 1 }
 Specifies the allocation mode for a single exchange buffer. More...

Enumeration Type Documentation

enum ILGPU.Runtime.AcceleratorType : int

Represents the general type of an accelerator.


Represents a CPU accelerator.


Represents a Cuda accelerator.


Represents an OpenCL accelerator (CPU/GPU via OpenCL).

Specifies the allocation mode for a single exchange buffer.


Prefer paged locked memory for improved transfer speeds.


Allocate CPU memory in pageable memory to leverage virtual memory.