diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2016-07-16 10:59:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-16 10:59:51 +0200 |
commit | bee9b959f4c07794a331f8cea369362bf2cb09c5 (patch) | |
tree | 2038684697ff547165628687d712c820836bf9ae /src | |
parent | 066af4069ba5c92decc7652e5c6d36c27849ccab (diff) | |
parent | e0ba59c0ac964340b3706233862a2ca98e345823 (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.hpp | 8 |
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); } |