ILGPU  0.9.0
ILGPU.Backends.EntryPoints.SeparateViewEntryPoint Class Reference

An entry point that differentiates between views and data structures. More...

Inheritance diagram for ILGPU.Backends.EntryPoints.SeparateViewEntryPoint:
ILGPU.Backends.EntryPoints.EntryPoint

Classes

class  ViewParameter
 Represents a single view parameter in the scope of a kernel. More...
 
struct  ViewParameterCollection
 Represents a readonly list of view parameters. More...
 

Public Member Functions

 SeparateViewEntryPoint (EntryPointDescription description, in SharedMemorySpecification sharedMemory, in KernelSpecialization specialization, TypeInformationManager typeInformationManager, int numImplementationFieldsPerView)
 Constructs a new entry point targeting the given method. More...
 
bool TryGetViewParameters (int parameterIndex, out ViewParameterCollection viewParameters)
 Tries to get view parameters for the given kernel-parameter index. More...
 
ViewParameterCollection GetViewParameters (int parameterIndex)
 Get view parameters for the given kernel-parameter index. More...
 
- Public Member Functions inherited from ILGPU.Backends.EntryPoints.EntryPoint
 EntryPoint (in EntryPointDescription description, in SharedMemorySpecification sharedMemory, in KernelSpecialization specialization)
 Constructs a new entry point targeting the given method. More...
 

Public Attributes

int NumViewParameters => ViewParameters.Length
 Returns the number of all separate view parameters. More...
 
- Public Attributes inherited from ILGPU.Backends.EntryPoints.EntryPoint
MethodInfo MethodInfo => Description.MethodSource
 Returns the associated method info. More...
 
IndexType IndexType => Description.IndexType
 Returns the index type of the index parameter. More...
 
int KernelIndexParameterOffset => Description.KernelIndexParameterOffset
 Returns the offset for the actual parameter values while taking an implicit index argument into account. More...
 
bool IsExplicitlyGrouped => IndexType == IndexType.KernelConfig
 Returns true if the entry point represents an explicitly grouped kernel. More...
 
bool IsImplictlyGrouped => !IsExplicitlyGrouped
 Returns true if the entry point represents an implicitly grouped kernel. More...
 
ParameterCollection Parameters => Description.Parameters
 Returns the parameter specification of arguments that are passed to the kernel. More...
 
bool HasSpecializedParameters => Parameters.HasSpecializedParameters
 Returns true if this entry point uses specialized parameters. More...
 

Properties

int NumImplementationFieldsPerView [get]
 Returns the number of fields per view. More...
 
ImmutableArray< ViewParameterViewParameters [get]
 Contains all separate view parameters. More...
 
- Properties inherited from ILGPU.Backends.EntryPoints.EntryPoint
EntryPointDescription Description [get]
 Returns the associated description instance. More...
 
Type KernelIndexType [get]
 Returns the index type of the index parameter. This can also return the KernelConfig type in the case of an explicitly grouped kernel. More...
 
bool HasByRefParameters [get]
 Returns true if the parameter specification contains by reference parameters. More...
 
KernelSpecialization Specialization [get]
 Returns the associated launch specification. More...
 
int NumFlattendedIndexParameters [get]
 Returns the number of index parameters when all structures are flattened into scalar parameters. More...
 
SharedMemorySpecification SharedMemory [get]
 Returns the associated shared memory specification. More...
 

Detailed Description

An entry point that differentiates between views and data structures.

This is useful since many APIs (like OpenCL) require intrinsic support for passing views to kernels via separate API calls.

Constructor & Destructor Documentation

ILGPU.Backends.EntryPoints.SeparateViewEntryPoint.SeparateViewEntryPoint ( EntryPointDescription  description,
in SharedMemorySpecification  sharedMemory,
in KernelSpecialization  specialization,
TypeInformationManager  typeInformationManager,
int  numImplementationFieldsPerView 
)

Constructs a new entry point targeting the given method.

Parameters
descriptionThe entry point description.
sharedMemoryThe shared memory specification.
specializationThe kernel specialization.
typeInformationManagerThe information manager to use.
numImplementationFieldsPerViewThe number of fields per view.

Member Function Documentation

ViewParameterCollection ILGPU.Backends.EntryPoints.SeparateViewEntryPoint.GetViewParameters ( int  parameterIndex)

Get view parameters for the given kernel-parameter index.

Parameters
parameterIndexThe kernel-parameter index.
Returns
The collection of view parameters.
bool ILGPU.Backends.EntryPoints.SeparateViewEntryPoint.TryGetViewParameters ( int  parameterIndex,
out ViewParameterCollection  viewParameters 
)

Tries to get view parameters for the given kernel-parameter index.

Parameters
parameterIndexThe kernel-parameter index.
viewParametersThe resolved view parameters (if any).
Returns
True, if view parameters could be determined.

Member Data Documentation

int ILGPU.Backends.EntryPoints.SeparateViewEntryPoint.NumViewParameters => ViewParameters.Length

Returns the number of all separate view parameters.

Property Documentation

int ILGPU.Backends.EntryPoints.SeparateViewEntryPoint.NumImplementationFieldsPerView
get

Returns the number of fields per view.

ImmutableArray<ViewParameter> ILGPU.Backends.EntryPoints.SeparateViewEntryPoint.ViewParameters
get

Contains all separate view parameters.


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