Sorry to be a little picky, but I noticed a few places in OpenCL that are inconsistent with a naming convention. Case in point is get_global_id, get_local_id, and get_group_id. Instead of having get_global_size, get_local_size, and get_num_groups, how about follow one or the other to make them all the same, like deprecate get_num_groups and provide get_group_size instead.