summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-07-16 11:13:23 +0200
committerCedric Nugteren <web@cedricnugteren.nl>2016-07-16 11:13:23 +0200
commitb33bec4a59d9d4d0b2e6a3d7e5f1d6e23d4279cb (patch)
tree8f04c43e86c52fa9d0106b14b25dae47ff468041 /src
parentbee9b959f4c07794a331f8cea369362bf2cb09c5 (diff)
Fixed some more types and type conversions in the clpp11 interface to OpenCL
Diffstat (limited to 'src')
-rw-r--r--src/clpp11.hpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/clpp11.hpp b/src/clpp11.hpp
index 9f924a4f..af9d2ea4 100644
--- a/src/clpp11.hpp
+++ b/src/clpp11.hpp
@@ -194,7 +194,7 @@ class Device {
}
size_t MaxWorkGroupSize() const { return GetInfo<size_t>(CL_DEVICE_MAX_WORK_GROUP_SIZE); }
size_t MaxWorkItemDimensions() const {
- return GetInfo<cl_uint>(CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS);
+ return static_cast<size_t>(GetInfo<cl_uint>(CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS));
}
std::vector<size_t> MaxWorkItemSizes() const {
return GetInfoVector<size_t>(CL_DEVICE_MAX_WORK_ITEM_SIZES);
@@ -203,10 +203,18 @@ class Device {
return GetInfo<cl_ulong>(CL_DEVICE_LOCAL_MEM_SIZE);
}
std::string Capabilities() const { return GetInfoString(CL_DEVICE_EXTENSIONS); }
- size_t CoreClock() const { return GetInfo(CL_DEVICE_MAX_CLOCK_FREQUENCY); }
- size_t ComputeUnits() const { return GetInfo(CL_DEVICE_MAX_COMPUTE_UNITS); }
- size_t MemorySize() const { return GetInfo<cl_ulong>(CL_DEVICE_GLOBAL_MEM_SIZE); }
- size_t MaxAllocSize() const { return GetInfo<cl_ulong>(CL_DEVICE_MAX_MEM_ALLOC_SIZE); }
+ size_t CoreClock() const {
+ return static_cast<size_t>(GetInfo<cl_uint>(CL_DEVICE_MAX_CLOCK_FREQUENCY));
+ }
+ size_t ComputeUnits() const {
+ return static_cast<size_t>(GetInfo<cl_uint>(CL_DEVICE_MAX_COMPUTE_UNITS));
+ }
+ unsigned long MemorySize() const {
+ return static_cast<unsigned long>(GetInfo<cl_ulong>(CL_DEVICE_GLOBAL_MEM_SIZE));
+ }
+ unsigned long MaxAllocSize() const {
+ return static_cast<unsigned long>(GetInfo<cl_ulong>(CL_DEVICE_MAX_MEM_ALLOC_SIZE));
+ }
size_t MemoryClock() const { return 0; } // Not exposed in OpenCL
size_t MemoryBusWidth() const { return 0; } // Not exposed in OpenCL
@@ -247,13 +255,6 @@ class Device {
CheckError(clGetDeviceInfo(device_, info, bytes, &result, nullptr));
return result;
}
- size_t GetInfo(const cl_device_info info) const {
- auto bytes = size_t{0};
- CheckError(clGetDeviceInfo(device_, info, 0, nullptr, &bytes));
- auto result = cl_ulong(0);
- CheckError(clGetDeviceInfo(device_, info, bytes, &result, nullptr));
- return static_cast<size_t>(result);
- }
template <typename T>
std::vector<T> GetInfoVector(const cl_device_info info) const {
auto bytes = size_t{0};