Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
BIAS::clfProgram Class Reference

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
 

Detailed Description

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.

Author
fkellner 06/11

Definition at line 53 of file clfProgram.hh.

Constructor & Destructor Documentation

clfProgram::~clfProgram ( )
virtual

Definition at line 58 of file clfProgram.cpp.

clfProgram::clfProgram ( cl::Context *  context,
std::vector< cl::Device > *  devices 
)
protected

Definition at line 40 of file clfProgram.cpp.

Member Function Documentation

static void BIAS::clfProgram::AddAdditionalSourceDir ( const std::string  dir)
inlinestatic

Definition at line 127 of file clfProgram.hh.

void clfProgram::AddKernel ( std::string  kernelname)
void clfProgram::AddKernels ( std::vector< std::string >  kernelnames)

adds a vector of kernels to the program.

program needs to be built first!

Exceptions
clfException

Definition at line 171 of file clfProgram.cpp.

Referenced by BIAS::clfRecursiveGauss::clfRecursiveGauss().

std::string clfProgram::AddSource ( std::string  filename)
void clfProgram::AddSourceFromString ( std::string  sourceCode)

adds source code from a string

Exceptions
clfException

Definition at line 100 of file clfProgram.cpp.

Referenced by BIAS::clfCopy::clfCopy().

static void BIAS::clfProgram::AddSourceToDB ( const std::string  fname,
const char *  source,
unsigned int &  blocks 
)
inlinestatic

Definition at line 124 of file clfProgram.hh.

void clfProgram::Build ( int  deviceNr = 0,
std::string  options = "" 
)
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 
)
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 
)
cl::Kernel & clfProgram::operator() ( std::string  kernelname)
protected

Definition at line 253 of file clfProgram.cpp.

Friends And Related Function Documentation

friend class clfContext
friend

Definition at line 136 of file clfProgram.hh.


The documentation for this class was generated from the following files: