The patch LGTM, but another question in inline comment. > -----Original Message----- > From: Beignet [mailto:[email protected]] On Behalf Of > Xiuli Pan > Sent: Wednesday, August 24, 2016 16:17 > To: [email protected] > Cc: Pan, Xiuli <[email protected]>; Zhu, Zhe <[email protected]> > Subject: [Beignet] [PATCH] Libocl: Fix get_sub_group_size bug > > From: Pan Xiuli <[email protected]> > > If last sub group has the max sub group size, it will return 0 instead of max > sub group size. Fix the bug. > > Signed-off-by: Pan Xiuli <[email protected]> > --- > backend/src/libocl/tmpl/ocl_simd.tmpl.cl | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/backend/src/libocl/tmpl/ocl_simd.tmpl.cl > b/backend/src/libocl/tmpl/ocl_simd.tmpl.cl > index 9c09b21..f0ef7c0 100644 > --- a/backend/src/libocl/tmpl/ocl_simd.tmpl.cl > +++ b/backend/src/libocl/tmpl/ocl_simd.tmpl.cl > @@ -31,7 +31,7 @@ uint get_sub_group_size(void) > uint threadn = get_num_sub_groups(); > uint threadid = get_sub_group_id(); > if((threadid == (threadn - 1)) && (threadn > 1))
Why threadn > 1? How about thread = 1? > - return (get_local_size(0)*get_local_size(1)*get_local_size(2)) % > get_max_sub_group_size(); > + return (get_local_size(0)*get_local_size(1)*get_local_size(2) -1) % > + get_max_sub_group_size() + 1; > else > return get_max_sub_group_size(); > } > -- > 2.7.4 > > _______________________________________________ > Beignet mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/beignet _______________________________________________ Beignet mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/beignet
