QTrk
Public Member Functions | Public Attributes | List of all members
QI::StreamInstance Struct Reference

Contains all QI memory space that is allocated per stream. More...

#include <QI.h>

Public Member Functions

 ~StreamInstance ()
 Delete the stream instance. More...
 
int memsize ()
 Return the total size of memory in bytes used for QI by each stream. More...
 

Public Attributes

device_vec< float > d_shiftbuffer
 Calculation buffer. Size is batchSize * qi_FFT_length. More...
 
device_vec< float2 > d_QIprofiles
 Memory to hold the concatenated X and Y profiles generated from the quadrant profiles. In-place forward and backward FFT is performed in this memory. Size is batchSize * (2 axes) * (2 * QIParams::radialSteps). More...
 
device_vec< float2 > d_QIprofiles_reverse
 Memory to hold the reversed X and Y profiles. In-place forward FFT is performed in this memory. Size is batchSize * (2 axes) * (2 * QIParams::radialSteps). More...
 
device_vec< float > d_quadrants
 Memory to hold the quadrant profiles. Size is batchSize * (4 quadrants) * QIParams::radialSteps. More...
 
device_vec< float > d_DebugOutput
 Extra device vector specifically for arbitrary debug output GPU_DEBUG is defined at the top of gpu_utils.h. More...
 
cufftHandle fftPlan
 Handle to make calls to CUFFT. A single CUFFT plan can be used for both forward and inverse transforms. More...
 
cudaStream_t stream
 Reference to the parent stream, managed by QueuedCUDATracker::Stream. More...
 

Detailed Description

Contains all QI memory space that is allocated per stream.

Definition at line 24 of file QI.h.

Constructor & Destructor Documentation

§ ~StreamInstance()

QI::StreamInstance::~StreamInstance ( )
inline

Delete the stream instance.

Bug:
Why aren't the device_vec instances deleted?

Definition at line 46 of file QI.h.

46  {
47  cufftDestroy(fftPlan);
48  }
cufftHandle fftPlan
Handle to make calls to CUFFT. A single CUFFT plan can be used for both forward and inverse transform...
Definition: QI.h:40

Member Function Documentation

§ memsize()

int QI::StreamInstance::memsize ( )
inline

Return the total size of memory in bytes used for QI by each stream.

Returns
Memory size in bytes.

Definition at line 54 of file QI.h.

54  {
55  size_t fftSize;
56  cufftGetSize(fftPlan,&fftSize);
58  }
device_vec< float2 > d_QIprofiles
Memory to hold the concatenated X and Y profiles generated from the quadrant profiles. In-place forward and backward FFT is performed in this memory. Size is batchSize * (2 axes) * (2 * QIParams::radialSteps).
Definition: QI.h:26
device_vec< float > d_quadrants
Memory to hold the quadrant profiles. Size is batchSize * (4 quadrants) * QIParams::radialSteps.
Definition: QI.h:28
device_vec< float2 > d_QIprofiles_reverse
Memory to hold the reversed X and Y profiles. In-place forward FFT is performed in this memory...
Definition: QI.h:27
cufftHandle fftPlan
Handle to make calls to CUFFT. A single CUFFT plan can be used for both forward and inverse transform...
Definition: QI.h:40
size_t memsize()
Definition: gpu_utils.h:154

Member Data Documentation

§ d_DebugOutput

device_vec<float> QI::StreamInstance::d_DebugOutput

Extra device vector specifically for arbitrary debug output GPU_DEBUG is defined at the top of gpu_utils.h.

USAGE: Fill with any kind of data in a function Output in any host code to a csv file using DbgOutputVectorToFile.

Definition at line 38 of file QI.h.

§ d_QIprofiles

device_vec<float2> QI::StreamInstance::d_QIprofiles

Memory to hold the concatenated X and Y profiles generated from the quadrant profiles. In-place forward and backward FFT is performed in this memory. Size is batchSize * (2 axes) * (2 * QIParams::radialSteps).

Definition at line 26 of file QI.h.

§ d_QIprofiles_reverse

device_vec<float2> QI::StreamInstance::d_QIprofiles_reverse

Memory to hold the reversed X and Y profiles. In-place forward FFT is performed in this memory. Size is batchSize * (2 axes) * (2 * QIParams::radialSteps).

Definition at line 27 of file QI.h.

§ d_quadrants

device_vec<float> QI::StreamInstance::d_quadrants

Memory to hold the quadrant profiles. Size is batchSize * (4 quadrants) * QIParams::radialSteps.

Definition at line 28 of file QI.h.

§ d_shiftbuffer

device_vec<float> QI::StreamInstance::d_shiftbuffer

Calculation buffer. Size is batchSize * qi_FFT_length.

Definition at line 25 of file QI.h.

§ fftPlan

cufftHandle QI::StreamInstance::fftPlan

Handle to make calls to CUFFT. A single CUFFT plan can be used for both forward and inverse transforms.

Definition at line 40 of file QI.h.

§ stream

cudaStream_t QI::StreamInstance::stream

Reference to the parent stream, managed by QueuedCUDATracker::Stream.

Definition at line 60 of file QI.h.


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