GCVL
Multi-platform (Windows, Unix and Mac OS) C++/OpenCL/CUDA library with several Computer Vision algorithms.
src/gcvl/opencl/oclutils.h File Reference
#include <string>
#include <list>
#include <map>
#include <climits>
#include <stdint.h>
#include "CL/cl.h"
#include <iostream>
#include <fstream>

Go to the source code of this file.

Classes

class  OpenCL_device
class  OpenCL_devices_list
class  OpenCL_platform
class  OpenCL_platforms_list
class  OpenCL_Kernel
class  OpenCL_Array< T >
class  OpenCL_Data< T >

Defines

#define OpenCL_Test_Success(err, fct_name)
#define OpenCL_Release_Kernel(err, opencl_kernel)
#define OpenCL_Release_Program(err, opencl_program)
#define OpenCL_Release_CommandQueue(err, opencl_cqueue)
#define OpenCL_Release_Memory(err, opencl_array)
#define OpenCL_Release_Context(err, opencl_context)

Functions

const std::string OPENCL_PLATFORMS_NVIDIA ("nvidia")
const std::string OPENCL_PLATFORMS_AMD ("amd")
const std::string OPENCL_PLATFORMS_INTEL ("intel")
const std::string OPENCL_PLATFORMS_APPLE ("apple")
std::string OpenCL_Error_to_String (cl_int error)
 Obtains the error string associated to an OpenCL error id.
bool Verify_if_Device_is_Used (const int device_id, const int platform_id_offset, const std::string &platform_name, const std::string &device_name)
char * read_opencl_kernel (const std::string filename, int *length)

Define Documentation

#define OpenCL_Release_CommandQueue (   err,
  opencl_cqueue 
)
Value:
{                                                                   \
    if ((opencl_cqueue)) err = clReleaseCommandQueue((opencl_cqueue));\
    OpenCL_Test_Success(err, "clReleaseCommandQueue");              \
}
#define OpenCL_Release_Context (   err,
  opencl_context 
)
Value:
{                                                                   \
    if ((opencl_context)) err = clReleaseContext((opencl_context)); \
    OpenCL_Test_Success(err, "clReleaseContext");                   \
}
#define OpenCL_Release_Kernel (   err,
  opencl_kernel 
)
Value:
{                                                                   \
    if ((opencl_kernel)) err = clReleaseKernel((opencl_kernel));    \
    OpenCL_Test_Success(err, "clReleaseKernel");                    \
}
#define OpenCL_Release_Memory (   err,
  opencl_array 
)
Value:
{                                                                   \
    if ((opencl_array)) err = clReleaseMemObject((opencl_array));   \
    OpenCL_Test_Success(err, "clReleaseMemObject");                 \
}
#define OpenCL_Release_Program (   err,
  opencl_program 
)
Value:
{                                                                   \
    if ((opencl_program)) err = clReleaseProgram((opencl_program)); \
    OpenCL_Test_Success(err, "clReleaseProgram");                   \
}
#define OpenCL_Test_Success (   err,
  fct_name 
)
Value:
if ((err) != CL_SUCCESS)                                            \
{                                                                   \
    std_cout                                                        \
        << "ERROR calling " << fct_name << "() ("                   \
        << __FILE__ << " line " << __LINE__ << "): "                \
        << OpenCL_Error_to_String(err) << "\n" << std::flush;               \
    abort();                                                        \
}

Function Documentation

std::string OpenCL_Error_to_String ( cl_int  error)

Obtains the error string associated to an OpenCL error id.

Parameters:
errorOpenCL error id.
Returns:
OpenCL error string.
const std::string OPENCL_PLATFORMS_AMD ( "amd"  )
const std::string OPENCL_PLATFORMS_APPLE ( "apple"  )
const std::string OPENCL_PLATFORMS_INTEL ( "intel"  )
const std::string OPENCL_PLATFORMS_NVIDIA ( "nvidia"  )
char* read_opencl_kernel ( const std::string  filename,
int *  length 
)
bool Verify_if_Device_is_Used ( const int  device_id,
const int  platform_id_offset,
const std::string &  platform_name,
const std::string &  device_name 
)
 All Classes Namespaces Files Functions Variables Defines