Differencies, that should not be...
I found out, that the cl.hpp that Ati Stream installed to my system, is not exactly that, what is in the Khronos group, OpenCL API registry. I searched for differencies, and found some.
At the beginning, there are some differencies, by the copyrights comments. But because they are comments, its nothing in particular. The next, and first issue is: Khronos, row 3146: &::clGetKernelWorkGroupInfo, object_, device(), name, param), Stream, row 3125: &::clGetKernelWorkGroupInfo, device(), object_, name, param), The order of the arguments is not exact the same. I don't really know if it matters or not, but i thought i mention it... And the next, and last issue is (surprise), with one of the getWorkGroupInfo functors: Khronos, starting at row 3169: detail::param_traits<detail::cl_kernel_work_group_info, name>::param_type getWorkGroupInfo(const Device& device, cl_int* err = NULL) const { typename detail::param_traits< detail::cl_kernel_work_group_info, name>::param_type param; cl_int result = getWorkGroupInfo(device, name, ¶m); if (err != NULL) { *err = result; } return param; } And Stream, starting at row 3148: detail::param_traits<detail::cl_kernel_work_group_info, name>::param_type getWorkGroupInfo(cl_int* err = NULL) const { typename detail::param_traits< detail::cl_kernel_work_group_info, name>::param_type param; cl_int result = getWorkGroupInfo(name, ¶m); if (err != NULL) { *err = result; } return param; } I hope this helps to correct this error in the future relases of Stream 2.0!