Skip to content

Struct rayx::Resources

template <typename Acc>

ClassList > rayx > Resources

More...

  • #include <MegaKernelTracer.h>

Classes

Type Name
struct BeamlineConfig
holds configuration state of allocated resources. required to trace correctly

Public Types

Type Name
typedef alpaka::DimInt< 1 > Dim
typedef int Idx

Public Attributes

Type Name
RaysBuf< Acc > d_compactEventsBatch
output events, compacted for faster transfer
OptBuf< Acc, OpticalElement > d_elements
beamline elements
OptBuf< Acc, bool > d_eventStoreFlags
flag for each possible ouput event, wether it was stored or not. used for compaction
OptBuf< Acc, int > d_eventStoreFlagsPrefixSum
RaysBuf< Acc > d_eventsBatch
output events from tracer kernel
OptBuf< Acc, int > d_materialIndices
material data
OptBuf< Acc, double > d_materialTable
OptBuf< Acc, bool > d_objectRecordMask
mask for which elements to record events
OptBuf< Acc, ObjectTransform > d_objectTransforms
beamline object transforms

Public Functions

Type Name
BeamlineConfig update (Queue q, const Group & group, int maxEvents, int numRaysBatchAtMost, const ObjectIndexMask & objectRecordMask, const RayAttrMask attrRecordMask)
update resources

Detailed Description

keeps track of all resources used by the tracer. manages allocation and update of buffers note: members starting with h_ reside on host side, while d_ reside on device side

Public Types Documentation

typedef Dim

using rayx::Resources< Acc >::Dim =  alpaka::DimInt<1>;

typedef Idx

using rayx::Resources< Acc >::Idx =  int;

Public Attributes Documentation

variable d_compactEventsBatch

output events, compacted for faster transfer

RaysBuf<Acc> rayx::Resources< Acc >::d_compactEventsBatch;


variable d_elements

beamline elements

OptBuf<Acc, OpticalElement> rayx::Resources< Acc >::d_elements;


variable d_eventStoreFlags

flag for each possible ouput event, wether it was stored or not. used for compaction

OptBuf<Acc, bool> rayx::Resources< Acc >::d_eventStoreFlags;


variable d_eventStoreFlagsPrefixSum

OptBuf<Acc, int> rayx::Resources< Acc >::d_eventStoreFlagsPrefixSum;

variable d_eventsBatch

output events from tracer kernel

RaysBuf<Acc> rayx::Resources< Acc >::d_eventsBatch;


variable d_materialIndices

material data

OptBuf<Acc, int> rayx::Resources< Acc >::d_materialIndices;


variable d_materialTable

OptBuf<Acc, double> rayx::Resources< Acc >::d_materialTable;

variable d_objectRecordMask

mask for which elements to record events

OptBuf<Acc, bool> rayx::Resources< Acc >::d_objectRecordMask;


variable d_objectTransforms

beamline object transforms

OptBuf<Acc, ObjectTransform> rayx::Resources< Acc >::d_objectTransforms;


Public Functions Documentation

function update

update resources

template<typename Queue>
inline BeamlineConfig rayx::Resources::update (
    Queue q,
    const Group & group,
    int maxEvents,
    int numRaysBatchAtMost,
    const ObjectIndexMask & objectRecordMask,
    const RayAttrMask attrRecordMask
) 



The documentation for this class was generated from the following file Intern/rayx-core/src/Tracer/MegaKernelTracer.h