Basic Image AlgorithmS Library
2.8.0
|
OpenCL Program wrapper. More...
#include <OpenCLFramework/clfProgram.hh>
Public Member Functions | |
void | AddKernel (std::string kernelname) |
adds a kernel to the program. More... | |
void | AddKernels (std::vector< std::string > kernelnames) |
adds a vector of kernels to the program. More... | |
std::string | AddSource (std::string filename) |
adds source code from a file More... | |
void | AddSourceFromString (std::string sourceCode) |
adds source code from a string More... | |
void | Build (int deviceNr=0, std::string options="") |
builds the sources added by AddSource and AddSourceFromString More... | |
std::string | GetBuildLog (int deviceNr=0) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, clfBuffer &buffer) |
set kernel argument More... | |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, clfImage2D &buffer) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, clfImage3D &buffer) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_float2 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_float4 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_float8 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_float16 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_int2 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_int4 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_int8 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_int16 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_uint2 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_uint4 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_uint8 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, cl_uint16 arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, int arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, float arg) |
void | KernelSetArgument (std::string kernelname, unsigned int argnumber, float *arg) |
void | KernelSetLocalArgument (std::string kernelname, unsigned int argnumber, int size) |
virtual | ~clfProgram () |
Static Public Member Functions | |
static void | AddAdditionalSourceDir (const std::string dir) |
static void | AddSourceToDB (const std::string fname, const char *source, unsigned int &blocks) |
Protected Member Functions | |
clfProgram (cl::Context *context, std::vector< cl::Device > *devices) | |
cl::Kernel & | operator() (std::string kernelname) |
Friends | |
class | clfContext |
OpenCL Program wrapper.
A program can have multiple kernels and can be set up from different source files.
Programs can only be created from a valid OpenCLContext Object, hence the constructor is protected.
Definition at line 53 of file clfProgram.hh.
|
virtual |
Definition at line 58 of file clfProgram.cpp.
|
protected |
Definition at line 40 of file clfProgram.cpp.
|
inlinestatic |
Definition at line 127 of file clfProgram.hh.
void clfProgram::AddKernel | ( | std::string | kernelname | ) |
adds a kernel to the program.
program needs to be built first!
clfException |
Definition at line 158 of file clfProgram.cpp.
Referenced by BIAS::clfCopy::clfCopy(), BIAS::clfGauss< InputStorageType, OutputStorageType >::clfGauss(), BIAS::clfGradientGauss< InputStorageType, OutputStorageType >::clfGradientGauss(), BIAS::clfImageOperator::clfImageOperator(), BIAS::clfRadixSort::clfRadixSort(), BIAS::clfRecursiveGauss::clfRecursiveGauss(), BIAS::clfSimpleFilter::clfSimpleFilter(), BIAS::clfTrimmedICP::clfTrimmedICP(), BIAS::clfUnifiedMultilateralFilter::clfUnifiedMultilateralFilter(), and BIAS::clfSimpleFilter::SetProgram().
void clfProgram::AddKernels | ( | std::vector< std::string > | kernelnames | ) |
adds a vector of kernels to the program.
program needs to be built first!
clfException |
Definition at line 171 of file clfProgram.cpp.
Referenced by BIAS::clfRecursiveGauss::clfRecursiveGauss().
std::string clfProgram::AddSource | ( | std::string | filename | ) |
adds source code from a file
clfException |
Definition at line 64 of file clfProgram.cpp.
References BIAS::FileHandling::FileExists().
Referenced by BIAS::clfColorConversion::clfColorConversion(), BIAS::clfImageOperator::clfImageOperator(), BIAS::clfRadixSort::clfRadixSort(), BIAS::clfRecursiveGauss::clfRecursiveGauss(), BIAS::clfSimpleFilter::clfSimpleFilter(), BIAS::clfTrimmedICP::clfTrimmedICP(), and BIAS::clfUnifiedMultilateralFilter::clfUnifiedMultilateralFilter().
void clfProgram::AddSourceFromString | ( | std::string | sourceCode | ) |
adds source code from a string
clfException |
Definition at line 100 of file clfProgram.cpp.
Referenced by BIAS::clfCopy::clfCopy().
|
inlinestatic |
Definition at line 124 of file clfProgram.hh.
void clfProgram::Build | ( | int | deviceNr = 0 , |
std::string | options = "" |
||
) |
builds the sources added by AddSource and AddSourceFromString
clfException |
Definition at line 115 of file clfProgram.cpp.
Referenced by BIAS::clfCopy::clfCopy(), BIAS::clfImageOperator::clfImageOperator(), BIAS::clfRadixSort::clfRadixSort(), BIAS::clfRecursiveGauss::clfRecursiveGauss(), BIAS::clfSimpleFilter::clfSimpleFilter(), BIAS::clfTrimmedICP::clfTrimmedICP(), and BIAS::clfUnifiedMultilateralFilter::clfUnifiedMultilateralFilter().
std::string clfProgram::GetBuildLog | ( | int | deviceNr = 0 | ) |
Definition at line 153 of file clfProgram.cpp.
void clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
clfBuffer & | buffer | ||
) |
set kernel argument
kernelname | name of kernel function |
argnumber | number of kernel argument |
buffer | the argument |
clfException |
Definition at line 177 of file clfProgram.cpp.
References BIAS::clfBuffer::buffer().
Referenced by BIAS::clfRadixSort::ApplyPermutation(), BIAS::clfRadixSort::clfRadixSort(), BIAS::clfTrimmedICP::clfTrimmedICP(), BIAS::clfUnifiedMultilateralFilter::Compute(), BIAS::clfCopy::Copy(), BIAS::clfImageOperator::CutOffMinThreshold(), BIAS::clfImageOperator::Difference(), BIAS::clfSimpleFilter::Filter(), BIAS::clfStructureTensor::Filter(), BIAS::clfExtractLocalMaxima::Filter(), BIAS::clfScaleImage::Filter(), BIAS::clfResampleImage::Filter(), BIAS::clfRecursiveGauss::FilterGrey(), BIAS::clfRecursiveGauss::FilterGreyColPacked(), BIAS::clfSimpleFilter::FilterScale(), BIAS::clfRecursiveGauss::FilterX(), BIAS::clfRecursiveGauss::FilterY(), BIAS::clfRadixSort::Histogram(), BIAS::clfUnifiedMultilateralFilter::InitCredibilityFilter(), BIAS::clfRadixSort::Reorder(), BIAS::clfRadixSort::ScanHistogram(), BIAS::clfTrimmedICP::SetDataFromDepthMap(), BIAS::clfTrimmedICP::SetModelFromDepthMap(), BIAS::clfRecursiveGauss::SetSigma(), and BIAS::clfRadixSort::Transpose().
void clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
clfImage2D & | buffer | ||
) |
Definition at line 185 of file clfProgram.cpp.
References BIAS::clfImage2D::image().
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
clfImage3D & | buffer | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_float2 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_float4 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_float8 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_float16 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_int2 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_int4 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_int8 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_int16 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_uint2 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_uint4 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_uint8 | arg | ||
) |
void BIAS::clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
cl_uint16 | arg | ||
) |
void clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
int | arg | ||
) |
Definition at line 217 of file clfProgram.cpp.
void clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
float | arg | ||
) |
Definition at line 225 of file clfProgram.cpp.
void clfProgram::KernelSetArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
float * | arg | ||
) |
Definition at line 234 of file clfProgram.cpp.
void clfProgram::KernelSetLocalArgument | ( | std::string | kernelname, |
unsigned int | argnumber, | ||
int | size | ||
) |
Definition at line 244 of file clfProgram.cpp.
Referenced by BIAS::clfRadixSort::clfRadixSort(), and BIAS::clfRadixSort::Transpose().
|
protected |
Definition at line 253 of file clfProgram.cpp.
|
friend |
Definition at line 136 of file clfProgram.hh.