Y:/Rsh/Matlab/cuda/cuda_mi.h File Reference

Contains definition of C functions for mutual infomration (MI) computation implemented on the GPU. More...

This graph shows which files directly or indirectly include this file:


Functions

float cudaMIa (float *src1, float *src2, int length, int xbins, int ybins, double &time, cudaHistOptions *p_options=NULL, bool device=false)
 Computes the mutual information between two equally sized input arrays based on the first histogram method described in:
R. Shams and R. A. Kennedy, "Efficient histogram algorithms for NVIDIA CUDA compatible devices," Proc. Int. Conf. on Signal Processing and Communications Systems (ICSPCS), Gold Coast, Australia, Dec. 2007, pp. 418-422.
float cudaMIb (float *src1, float *src2, int length, int xbins, int ybins, double &time, cudaHistOptions *p_options=NULL, bool device=false)
 Computes the mutual information between two equally sized input arrays based on the second histogram method described in:
R. Shams and R. A. Kennedy, "Efficient histogram algorithms for NVIDIA CUDA compatible devices," Proc. Int. Conf. on Signal Processing and Communications Systems (ICSPCS), Gold Coast, Australia, Dec. 2007, pp. 418-422.
float cudaMI_Approx (float *src1, float *src2, int length, int xbins, int ybins, double &time, cudaHistOptions *p_options=NULL, bool device=false)
 Computes the mutual information between two equally sized input arrays based on the approximate histogram method described in:
R. Shams and N. Barnes, "Speeding up mutual information computation using NVIDIA CUDA hardware," Proc. Digital Image Computing: Techniques and Applications (DICTA), Adelaide, Australia, Dec. 2007, pp. 555-560.

Detailed Description

Contains definition of C functions for mutual infomration (MI) computation implemented on the GPU.

cuda_mi.h

Contains definition of C functions for mutual information (MI) computation on the GPU. The methods are based on the following two publications:
R. Shams and R. A. Kennedy, "Efficient histogram algorithms for NVIDIA CUDA compatible devices," Proc. Int. Conf. on Signal Processing and Communications Systems (ICSPCS), Gold Coast, Australia, Dec. 2007, pp. 418-422.
R. Shams and N. Barnes, "Speeding up mutual information computation using NVIDIA CUDA hardware," Proc. Digital Image Computing: Techniques and Applications (DICTA), Adelaide, Australia, Dec. 2007, pp. 555-560.


Function Documentation

float cudaMI_Approx ( float *  src1,
float *  src2,
int  length,
int  xbins,
int  ybins,
double &  time,
cudaHistOptions p_options = NULL,
bool  device = false 
)

Computes the mutual information between two equally sized input arrays based on the approximate histogram method described in:
R. Shams and N. Barnes, "Speeding up mutual information computation using NVIDIA CUDA hardware," Proc. Digital Image Computing: Techniques and Applications (DICTA), Adelaide, Australia, Dec. 2007, pp. 555-560.

Parameters:
src1 Pointer to the first input array where the data is stored. The input values must be between 0 and 1.
src2 Pointer to the second input array where the data is stored. The input values must be between 0 and 1.
length Number of the input arrays' elements.
xbins Number of bins used in computation of the histogram for src1.
ybins Number of bins used in computation of the histogram for src2.
time[out] The execution time in milliseconds excluding any time spent in allocating input data from host to global memory and storing the results back to the host memory. The time spent in creating and initializing any internal objects is considered.
p_options A structure which defines the execution configuration.
device A flag which indicates whether input/output arrays are allocated on the host (CPU) memory or the device (GPU) memory.
Remarks:
When the function is being called inside a loop or multiple times, for best performance allocate the input and output arrays on device memory to avoid unnecessary allocation, memory transfers and deallocation by the function.

When device flag is set, the caller needs to allocate memory for hist but does not need to initialize the array. The initialization will be done by the function itself.

Input data must be normalized between 0 and 1. The behavior of the function for values outside this range is undefined and is most likely to cause memory corruption.

See also:
cudaHist2Da, cudaMIb, cudaMI_Approx
C wrapper function that computes the mutual information (MI) of two similarly sized arrays. MI computation is based on approximating the joint and marginal probability mass function (pmf) of input data from a joint histogram with specified number of bins for each dimension. This routine uses cudaHist2D_Approx histogram function for this purpose. Refer to the paper for more information.

float cudaMIa ( float *  src1,
float *  src2,
int  length,
int  xbins,
int  ybins,
double &  time,
cudaHistOptions p_options = NULL,
bool  device = false 
)

Computes the mutual information between two equally sized input arrays based on the first histogram method described in:
R. Shams and R. A. Kennedy, "Efficient histogram algorithms for NVIDIA CUDA compatible devices," Proc. Int. Conf. on Signal Processing and Communications Systems (ICSPCS), Gold Coast, Australia, Dec. 2007, pp. 418-422.

Parameters:
src1 Pointer to the first input array where the data is stored. The input values must be between 0 and 1.
src2 Pointer to the second input array where the data is stored. The input values must be between 0 and 1.
length Number of the input arrays' elements.
xbins Number of bins used in computation of the histogram for src1.
ybins Number of bins used in computation of the histogram for src2.
time[out] The execution time in milliseconds excluding any time spent in allocating input data from host to global memory and storing the results back to the host memory. The time spent in creating and initializing any internal objects is considered.
p_options A structure which defines the execution configuration.
device A flag which indicates whether input/output arrays are allocated on the host (CPU) memory or the device (GPU) memory.
Remarks:
When the function is being called inside a loop or multiple times, for best performance allocate the input and output arrays on device memory to avoid unnecessary allocation, memory transfers and deallocation by the function.

When device flag is set, the caller needs to allocate memory for hist but does not need to initialize the array. The initialization will be done by the function itself.

Input data must be normalized between 0 and 1. The behavior of the function for values outside this range is undefined and is most likely to cause memory corruption.

See also:
cudaHist2Da, cudaMIb, cudaMI_Approx
C wrapper function that computes the mutual information (MI) of two similarly sized arrays. MI computation is based on approximating the joint and marginal probability mass function (pmf) of input data from a joint histogram with specified number of bins for each dimension. This routine uses cudaHist2Da histogram function for this purpose. Refer to the paper for more information.

float cudaMIb ( float *  src1,
float *  src2,
int  length,
int  xbins,
int  ybins,
double &  time,
cudaHistOptions p_options = NULL,
bool  device = false 
)

Computes the mutual information between two equally sized input arrays based on the second histogram method described in:
R. Shams and R. A. Kennedy, "Efficient histogram algorithms for NVIDIA CUDA compatible devices," Proc. Int. Conf. on Signal Processing and Communications Systems (ICSPCS), Gold Coast, Australia, Dec. 2007, pp. 418-422.

Parameters:
src1 Pointer to the first input array where the data is stored. The input values must be between 0 and 1.
src2 Pointer to the second input array where the data is stored. The input values must be between 0 and 1.
length Number of the input arrays' elements.
xbins Number of bins used in computation of the histogram for src1.
ybins Number of bins used in computation of the histogram for src2.
time[out] The execution time in milliseconds excluding any time spent in allocating input data from host to global memory and storing the results back to the host memory. The time spent in creating and initializing any internal objects is considered.
p_options A structure which defines the execution configuration.
device A flag which indicates whether input/output arrays are allocated on the host (CPU) memory or the device (GPU) memory.
Remarks:
When the function is being called inside a loop or multiple times, for best performance allocate the input and output arrays on device memory to avoid unnecessary allocation, memory transfers and deallocation by the function.

When device flag is set, the caller needs to allocate memory for hist but does not need to initialize the array. The initialization will be done by the function itself.

Input data must be normalized between 0 and 1. The behavior of the function for values outside this range is undefined and is most likely to cause memory corruption.

See also:
cudaHist2Db, cudaMIa, cudaMI_Approx
C wrapper function that computes the mutual information (MI) of two similarly sized arrays. MI computation is based on approximating the joint and marginal probability mass function (pmf) of input data from a joint histogram with specified number of bins for each dimension. This routine uses cudaHist2Db histogram function for this purpose. Refer to the paper for more information.


Generated on Fri Aug 8 16:17:38 2008 for mi_example by  doxygen 1.5.4