kspaceFirstOrder3D-CUDA  1.1
The CUDA/C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OutputStreamsCUDAKernels Namespace Reference

List of cuda kernels used for sampling data. More...

Functions

template<TBaseOutputHDF5Stream::TReduceOperator reduceOp>
void SampleIndex (float *samplingBuffer, const float *sourceData, const size_t *sensorData, const size_t nSamples)
 Kernel to sample quantities using an index sensor mask. More...
 
template<TBaseOutputHDF5Stream::TReduceOperator reduceOp>
void SampleCuboid (float *samplingBuffer, const float *sourceData, const dim3 topLeftCorner, const dim3 bottomRightCorner, const dim3 matrixSize, const size_t nSamples)
 Kernel to sample quantities inside one cuboid. More...
 
template<TBaseOutputHDF5Stream::TReduceOperator reduceOp>
void SampleAll (float *samplingBuffer, const float *sourceData, const size_t nSamples)
 Kernel to sample of the quantity on the whole domain. More...
 
void PostProcessingRMS (float *samplingBuffer, const float scalingCoeff, const size_t nSamples)
 Kernel to calculate post-processing for RMS. More...
 

Detailed Description

List of cuda kernels used for sampling data.

Function Documentation

void OutputStreamsCUDAKernels::PostProcessingRMS ( float *  samplingBuffer,
const float  scalingCoeff,
const size_t  nSamples 
)

Calculate post-processing for RMS.

Parameters
[in,out]samplingBuffer- Buffer to apply post-processing on
[in]scalingCoeff- Scaling coefficent
[in]nSamples- Number of elements

Definition at line 455 of file OutputStreamsCUDAKernels.cu.

Here is the caller graph for this function:

template<TBaseOutputHDF5Stream::TReduceOperator reduceOp>
void OutputStreamsCUDAKernels::SampleAll ( float *  samplingBuffer,
const float *  sourceData,
const size_t  nSamples 
)

Sample and the whole domain and apply a defined operator.

Parameters
[in,out]samplingBuffer- Buffer to sample data in
[in]sourceData- Source matrix
[in]nSamples- Number of sampled points

Definition at line 392 of file OutputStreamsCUDAKernels.cu.

Here is the call graph for this function:

template<TBaseOutputHDF5Stream::TReduceOperator reduceOp>
void OutputStreamsCUDAKernels::SampleCuboid ( float *  samplingBuffer,
const float *  sourceData,
const dim3  topLeftCorner,
const dim3  bottomRightCorner,
const dim3  matrixSize,
const size_t  nSamples 
)

Sample data inside one cuboid and store it to buffer. The operation is given in the template parameter.

Parameters
[out]samplingBuffer- Buffer to sample data in
[in]sourceData- Source matrix
[in]topLeftCorner- Top left corner of the cuboid
[in]bottomRightCorner- Bottom right corner of the cuboid
[in]matrixSize- Size of the matrix being sampled
[in]nSamples- Number of grid points inside the cuboid

Definition at line 287 of file OutputStreamsCUDAKernels.cu.

Here is the call graph for this function:

template<TBaseOutputHDF5Stream::TReduceOperator reduceOp>
void OutputStreamsCUDAKernels::SampleIndex ( float *  samplingBuffer,
const float *  sourceData,
const size_t *  sensorData,
const size_t  nSamples 
)

Sample the source matrix using the index sensor mask and store data in buffer.

Parameters
[out]samplingBuffer- Buffer to sample data in
[in]sourceData- Source matrix
[in]sensorData- Sensor mask
[in]nSamples- Number of sampled points

Definition at line 135 of file OutputStreamsCUDAKernels.cu.

Here is the call graph for this function: