summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-07-16 10:59:51 +0200
committerGitHub <noreply@github.com>2016-07-16 10:59:51 +0200
commitbee9b959f4c07794a331f8cea369362bf2cb09c5 (patch)
tree2038684697ff547165628687d712c820836bf9ae /src
parent066af4069ba5c92decc7652e5c6d36c27849ccab (diff)
parente0ba59c0ac964340b3706233862a2ca98e345823 (diff)
Merge pull request #80 from gcp/getdevinfo_fixes
Make sure the passed types are large enough.
Diffstat (limited to 'src')
-rw-r--r--src/clpp11.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/clpp11.hpp b/src/clpp11.hpp
index fcb71e38..9f924a4f 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_DEVICE_MAX_WORK_ITEM_DIMENSIONS);
+ return 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);
@@ -205,8 +205,8 @@ class Device {
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_DEVICE_GLOBAL_MEM_SIZE); }
- size_t MaxAllocSize() const { return GetInfo(CL_DEVICE_MAX_MEM_ALLOC_SIZE); }
+ 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 MemoryClock() const { return 0; } // Not exposed in OpenCL
size_t MemoryBusWidth() const { return 0; } // Not exposed in OpenCL
@@ -250,7 +250,7 @@ class Device {
size_t GetInfo(const cl_device_info info) const {
auto bytes = size_t{0};
CheckError(clGetDeviceInfo(device_, info, 0, nullptr, &bytes));
- auto result = cl_uint(0);
+ auto result = cl_ulong(0);
CheckError(clGetDeviceInfo(device_, info, bytes, &result, nullptr));
return static_cast<size_t>(result);
}