PARALUTION
1.0.0
PARALUTION
Main Page
Namespaces
Data Structures
Files
File List
Globals
ocl_utils.hpp
Go to the documentation of this file.
1
#ifndef PARALUTION_OCL_OCL_UTILS_HPP_
2
#define PARALUTION_OCL_OCL_UTILS_HPP_
3
4
#include "../backend_manager.hpp"
5
#include "../../utils/log.hpp"
6
#include "
backend_ocl.hpp
"
7
8
#if defined(__APPLE__) && defined(__MACH__)
9
#include <OpenCL/cl.h>
10
#else
11
#include <CL/cl.h>
12
#endif
13
14
#define OCL_HANDLE(handle) static_cast<oclHandle_t*>(handle)
15
16
static
const
char
*
OCL_ERROR
[] = {
17
"CL_SUCCESS"
,
18
"CL_DEVICE_NOT_FOUND"
,
19
"CL_DEVICE_NOT_AVAILABLE"
,
20
"CL_COMPILER_NOT_AVAILABLE"
,
21
"CL_MEM_OBJECT_ALLOCATION_FAILURE"
,
22
"CL_OUT_OF_RESOURCES"
,
23
"CL_OUT_OF_HOST_MEMORY"
,
24
"CL_PROFILING_INFO_NOT_AVAILABLE"
,
25
"CL_MEM_COPY_OVERLAP"
,
26
"CL_IMAGE_FORMAT_MISMATCH"
,
27
"CL_IMAGE_FORMAT_NOT_SUPPORTED"
,
28
"CL_BUILD_PROGRAM_FAILURE"
,
29
"CL_MAP_FAILURE"
,
30
""
,
31
""
,
32
""
,
33
""
,
34
""
,
35
""
,
36
""
,
37
""
,
38
""
,
39
""
,
40
""
,
41
""
,
42
""
,
43
""
,
44
""
,
45
""
,
46
""
,
47
"CL_INVALID_VALUE"
,
48
"CL_INVALID_DEVICE_TYPE"
,
49
"CL_INVALID_PLATFORM"
,
50
"CL_INVALID_DEVICE"
,
51
"CL_INVALID_CONTEXT"
,
52
"CL_INVALID_QUEUE_PROPERTIES"
,
53
"CL_INVALID_COMMAND_QUEUE"
,
54
"CL_INVALID_HOST_PTR"
,
55
"CL_INVALID_MEM_OBJECT"
,
56
"CL_INVALID_IMAGE_FORMAT_DESCRIPTOR"
,
57
"CL_INVALID_IMAGE_SIZE"
,
58
"CL_INVALID_SAMPLER"
,
59
"CL_INVALID_BINARY"
,
60
"CL_INVALID_BUILD_OPTIONS"
,
61
"CL_INVALID_PROGRAM"
,
62
"CL_INVALID_PROGRAM_EXECUTABLE"
,
63
"CL_INVALID_KERNEL_NAME"
,
64
"CL_INVALID_KERNEL_DEFINITION"
,
65
"CL_INVALID_KERNEL"
,
66
"CL_INVALID_ARG_INDEX"
,
67
"CL_INVALID_ARG_VALUE"
,
68
"CL_INVALID_ARG_SIZE"
,
69
"CL_INVALID_KERNEL_ARGS"
,
70
"CL_INVALID_WORK_DIMENSION"
,
71
"CL_INVALID_WORK_GROUP_SIZE"
,
72
"CL_INVALID_WORK_ITEM_SIZE"
,
73
"CL_INVALID_GLOBAL_OFFSET"
,
74
"CL_INVALID_EVENT_WAIT_LIST"
,
75
"CL_INVALID_EVENT"
,
76
"CL_INVALID_OPERATION"
,
77
"CL_INVALID_GL_OBJECT"
,
78
"CL_INVALID_BUFFER_SIZE"
,
79
"CL_INVALID_MIP_LEVEL"
,
80
"CL_INVALID_GLOBAL_WORK_SIZE"
81
};
82
83
#define CHECK_OCL_ERROR(err_t, file, line) { \
84
if ( err_t != CL_SUCCESS ) { \
85
LOG_INFO("OPENCL ERROR: " <<OCL_ERROR[-err_t]); \
86
LOG_INFO("File: " << file << "; line: " << line); \
87
paralution_stop_ocl(); \
88
exit(1); \
89
} \
90
}
91
92
93
#endif // PARALUTION_OCL_OCL_UTILS_HPP_
OCL_ERROR
static const char * OCL_ERROR[]
Definition:
ocl_utils.hpp:16
backend_ocl.hpp
base
ocl
ocl_utils.hpp
Generated on Mon May 18 2015 09:23:21 for PARALUTION by
1.8.9.1