ILGPU  0.9.0
ILGPU.Backends.IL.ILBackend Class Referenceabstract

The basic MSIL backend for the CPU runtime. More...

Inheritance diagram for ILGPU.Backends.IL.ILBackend:
ILGPU.Backends.Backend ILGPU.Backends.IL.DefaultILBackend ILGPU.Backends.IL.SkipCodeGenerationDefaultILBackend

Classes

class  KernelGenerationData
 Contains important global variable references.
 

Protected Member Functions

sealed override CompiledKernel Compile (EntryPoint entryPoint, in BackendContext backendContext, in KernelSpecialization specialization)
 Creates a new ILCompiledKernel instance. More...
 
abstract void GenerateCode< TEmitter > (EntryPoint entryPoint, in BackendContext backendContext, TEmitter emitter, KernelGenerationData kernelData)
 Generates the actual kernel code. More...
 
abstract void GenerateLocals< TEmitter > (EntryPoint entryPoint, TEmitter emitter, KernelGenerationData kernelData, ImmutableArray< FieldInfo > taskArgumentMapping, ILLocal task)
 Generates the required local variables (e.g. shared memory). More...
 

Properties

int WarpSize [get]
 Returns the associated warp size. More...
 

Detailed Description

The basic MSIL backend for the CPU runtime.

Member Function Documentation

sealed override CompiledKernel ILGPU.Backends.IL.ILBackend.Compile ( EntryPoint  entryPoint,
in BackendContext  backendContext,
in KernelSpecialization  specialization 
)
protected

Creates a new ILCompiledKernel instance.

abstract void ILGPU.Backends.IL.ILBackend.GenerateCode< TEmitter > ( EntryPoint  entryPoint,
in BackendContext  backendContext,
TEmitter  emitter,
KernelGenerationData  kernelData 
)
protectedpure virtual

Generates the actual kernel code.

Template Parameters
TEmitterThe emitter type.
Parameters
entryPointThe desired entry point.
backendContextThe current backend context.
emitterThe current code generator.
kernelDataThe current kernel data.

Implemented in ILGPU.Backends.IL.DefaultILBackend.

Type Constraints
TEmitter :IILEmitter 
abstract void ILGPU.Backends.IL.ILBackend.GenerateLocals< TEmitter > ( EntryPoint  entryPoint,
TEmitter  emitter,
KernelGenerationData  kernelData,
ImmutableArray< FieldInfo >  taskArgumentMapping,
ILLocal  task 
)
protectedpure virtual

Generates the required local variables (e.g. shared memory).

Parameters
entryPointThe entry point.
emitterThe current code generator.
kernelDataThe current kernel data.
taskArgumentMappingThe created task-argument mapping that maps parameter indices of uniforms.
taskThe task variable.

Implemented in ILGPU.Backends.IL.DefaultILBackend.

Type Constraints
TEmitter :IILEmitter 

Property Documentation

int ILGPU.Backends.IL.ILBackend.WarpSize
get

Returns the associated warp size.


The documentation for this class was generated from the following file: