Struct rayx::Resources¶
template <typename Acc>
#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¶
typedef Idx¶
Public Attributes Documentation¶
variable d_compactEventsBatch¶
output events, compacted for faster transfer
variable d_elements¶
beamline elements
variable d_eventStoreFlags¶
flag for each possible ouput event, wether it was stored or not. used for compaction
variable d_eventStoreFlagsPrefixSum¶
variable d_eventsBatch¶
output events from tracer kernel
variable d_materialIndices¶
material data
variable d_materialTable¶
variable d_objectRecordMask¶
mask for which elements to record events
variable d_objectTransforms¶
beamline object transforms
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