ILGPU  0.9.0
ILGPU.Backends.OpenCL.CLBackend Class Reference

Represents an OpenCL source backend. More...

Inheritance diagram for ILGPU.Backends.OpenCL.CLBackend:
ILGPU.Backends.CodeGeneratorBackend< CLIntrinsic.Handler, CLCodeGenerator.GeneratorArgs, CLCodeGenerator, StringBuilder >

Public Member Functions

 CLBackend (Context context, CLAcceleratorVendor vendor)
 Constructs a new OpenCL source backend. More...
 

Public Attributes

new CLArgumentMapper ArgumentMapper
 Returns the associated Backend.ArgumentMapper. More...
 

Static Public Attributes

static readonly CLCVersion MinimumVersion = new CLCVersion(2, 0)
 Represents the minimum OpenCL C version that is required. More...
 

Protected Member Functions

override EntryPoint CreateEntryPoint (in EntryPointDescription entry, in BackendContext backendContext, in KernelSpecialization specialization)
 Creates a new SeparateViewEntryPoint instance. More...
 
override StringBuilder CreateKernelBuilder (EntryPoint entryPoint, in BackendContext backendContext, in KernelSpecialization specialization, out CLCodeGenerator.GeneratorArgs data)
 Creates a new StringBuilder and configures a CLCodeGenerator.GeneratorArgs instance. More...
 
override CLCodeGenerator CreateFunctionCodeGenerator (Method method, Allocas allocas, CLCodeGenerator.GeneratorArgs data)
 Creates a new CLFunctionGenerator. More...
 
override CLCodeGenerator CreateKernelCodeGenerator (in AllocaKindInformation sharedAllocations, Method method, Allocas allocas, CLCodeGenerator.GeneratorArgs data)
 Generates a new CLKernelFunctionGenerator. More...
 
override CompiledKernel CreateKernel (EntryPoint entryPoint, CompiledKernel.KernelInfo kernelInfo, StringBuilder builder, CLCodeGenerator.GeneratorArgs data)
 Creates a new CLCompiledKernel. More...
 
- Protected Member Functions inherited from ILGPU.Backends.CodeGeneratorBackend< CLIntrinsic.Handler, CLCodeGenerator.GeneratorArgs, CLCodeGenerator, StringBuilder >
 CodeGeneratorBackend (Context context, BackendType backendType, BackendFlags backendFlags, ArgumentMapper argumentMapper)
 Constructs a new generic backend. More...
 
sealed override CompiledKernel Compile (EntryPoint entryPoint, in BackendContext backendContext, in KernelSpecialization specialization)
 Compiles a new kernel using parallel processing. More...
 
abstract TKernelBuilder CreateKernelBuilder (EntryPoint entryPoint, in BackendContext backendContext, in KernelSpecialization specialization, out T data)
 Creates the main kernel builder and initializes all required information. More...
 
abstract TCodeGenerator CreateFunctionCodeGenerator (Method method, Allocas allocas, T data)
 Creates a new function-code generator. More...
 
abstract TCodeGenerator CreateKernelCodeGenerator (in AllocaKindInformation sharedAllocations, Method method, Allocas allocas, T data)
 Creates a new kernel-code generator. More...
 
abstract CompiledKernel CreateKernel (EntryPoint entryPoint, CompiledKernel.KernelInfo kernelInfo, TKernelBuilder builder, T data)
 Creates the final compiled kernel instance. More...
 

Properties

CLAcceleratorVendor Vendor [get]
 Returns the associated major accelerator vendor. More...
 

Detailed Description

Represents an OpenCL source backend.

Constructor & Destructor Documentation

ILGPU.Backends.OpenCL.CLBackend.CLBackend ( Context  context,
CLAcceleratorVendor  vendor 
)

Constructs a new OpenCL source backend.

Parameters
contextThe context to use.
vendorThe associated major vendor.

Member Function Documentation

override EntryPoint ILGPU.Backends.OpenCL.CLBackend.CreateEntryPoint ( in EntryPointDescription  entry,
in BackendContext  backendContext,
in KernelSpecialization  specialization 
)
protected

Creates a new SeparateViewEntryPoint instance.

override CLCodeGenerator ILGPU.Backends.OpenCL.CLBackend.CreateFunctionCodeGenerator ( Method  method,
Allocas  allocas,
CLCodeGenerator.GeneratorArgs  data 
)
protected

Creates a new CLFunctionGenerator.

override CompiledKernel ILGPU.Backends.OpenCL.CLBackend.CreateKernel ( EntryPoint  entryPoint,
CompiledKernel.KernelInfo  kernelInfo,
StringBuilder  builder,
CLCodeGenerator.GeneratorArgs  data 
)
protected

Creates a new CLCompiledKernel.

override StringBuilder ILGPU.Backends.OpenCL.CLBackend.CreateKernelBuilder ( EntryPoint  entryPoint,
in BackendContext  backendContext,
in KernelSpecialization  specialization,
out CLCodeGenerator.GeneratorArgs  data 
)
protected

Creates a new StringBuilder and configures a CLCodeGenerator.GeneratorArgs instance.

override CLCodeGenerator ILGPU.Backends.OpenCL.CLBackend.CreateKernelCodeGenerator ( in AllocaKindInformation  sharedAllocations,
Method  method,
Allocas  allocas,
CLCodeGenerator.GeneratorArgs  data 
)
protected

Generates a new CLKernelFunctionGenerator.

Member Data Documentation

new CLArgumentMapper ILGPU.Backends.OpenCL.CLBackend.ArgumentMapper
Initial value:
=>
base.ArgumentMapper as CLArgumentMapper

Returns the associated Backend.ArgumentMapper.

readonly CLCVersion ILGPU.Backends.OpenCL.CLBackend.MinimumVersion = new CLCVersion(2, 0)
static

Represents the minimum OpenCL C version that is required.

Property Documentation

CLAcceleratorVendor ILGPU.Backends.OpenCL.CLBackend.Vendor
get

Returns the associated major accelerator vendor.


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