Openholo  v4.0
Open Source Digital Holographic Library
ophLightField_GPU.h File Reference
#include "ophLightField.h"
#include <cuda_runtime_api.h>
#include <cufft.h>
#include <math_constants.h>
Include dependency graph for ophLightField_GPU.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  KernelConst
 

Macros

#define HANDLE_ERROR(err)   (HandleError( err, __FILE__, __LINE__ ))
 
#define HANDLE_NULL(a)
 

Typedefs

typedef struct KernelConst LFGpuConst
 

Functions

void cudaConvertLF2ComplexField_Kernel (CUstream_st *stream, const int &nBlocks, const int &nThreads, const LFGpuConst *config, uchar1 **LF, cufftDoubleComplex *output)
 
void cudaFFT_LF (cufftHandle *plan, CUstream_st *stream, const int &nBlocks, const int &nThreads, const int &nx, const int &ny, cufftDoubleComplex *in_field, cufftDoubleComplex *output_field, const int &direction)
 
void procMultiplyPhase (CUstream_st *stream, const int &nBlocks, const int &nThreads, const LFGpuConst *config, cufftDoubleComplex *in, cufftDoubleComplex *output)
 
void cudaFresnelPropagationLF (const int &nBlocks, const int &nBlocks2, const int &nThreads, const int &nx, const int &ny, cufftDoubleComplex *src, cufftDoubleComplex *tmp, cufftDoubleComplex *tmp2, cufftDoubleComplex *dst, const LFGpuConst *cuda_config)
 

Macro Definition Documentation

◆ HANDLE_ERROR

#define HANDLE_ERROR (   err)    (HandleError( err, __FILE__, __LINE__ ))

Definition at line 64 of file ophLightField_GPU.h.

◆ HANDLE_NULL

#define HANDLE_NULL (   a)
Value:
{if (a == NULL) { \
printf( "Host memory failed in %s at line %d\n", \
__FILE__, __LINE__ ); \
exit( EXIT_FAILURE );}}

Definition at line 67 of file ophLightField_GPU.h.

Typedef Documentation

◆ LFGpuConst

typedef struct KernelConst LFGpuConst

Function Documentation

◆ cudaConvertLF2ComplexField_Kernel()

void cudaConvertLF2ComplexField_Kernel ( CUstream_st *  stream,
const int &  nBlocks,
const int &  nThreads,
const LFGpuConst config,
uchar1 **  LF,
cufftDoubleComplex *  output 
)

◆ cudaFFT_LF()

void cudaFFT_LF ( cufftHandle *  plan,
CUstream_st *  stream,
const int &  nBlocks,
const int &  nThreads,
const int &  nx,
const int &  ny,
cufftDoubleComplex *  in_field,
cufftDoubleComplex *  output_field,
const int &  direction 
)

◆ cudaFresnelPropagationLF()

void cudaFresnelPropagationLF ( const int &  nBlocks,
const int &  nBlocks2,
const int &  nThreads,
const int &  nx,
const int &  ny,
cufftDoubleComplex *  src,
cufftDoubleComplex *  tmp,
cufftDoubleComplex *  tmp2,
cufftDoubleComplex *  dst,
const LFGpuConst cuda_config 
)

◆ procMultiplyPhase()

void procMultiplyPhase ( CUstream_st *  stream,
const int &  nBlocks,
const int &  nThreads,
const LFGpuConst config,
cufftDoubleComplex *  in,
cufftDoubleComplex *  output 
)