You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This test case has a WG barrier that is entered only by a single WI in the whole grid. Others exit the kernel early. The behavior of the last WG that contains that WI (1023) is undefined due to the WG barrier's all-or-none semantics.
module &sample:1:0:$base:$large:$near;prog kernel &test_kernel(kernarg_u64 %output){ fbarrier %fb; workitemflatabsid_u64$d0; cmp_ge_b1_u64$c0,$d0,1023; ; Only the last WI of the last WG in the 1024x1x1 grid proceeds... cbr_b1$c0, @then; ; ...the rest WIs jump to the end which exits the kernel. br @endif;@then: sub_u64$d1,$d0,1023; workitemflatid_u32$s0; cmp_ne_b1_u32$c1,$s0,0; cbr_b1$c1, @L; ; Is any WI going here in case only 1023 executes ; the kernel? It's 255 in the last WG? initfbar %fb;@L: ; ...only WI 1023 reaches this barrier, thus ; it's undefined what happens because the others ; have exited. barrier;....
The text was updated successfully, but these errors were encountered:
This test case has a WG barrier that is entered only by a single WI in the whole grid. Others exit the kernel early. The behavior of the last WG that contains that WI (1023) is undefined due to the WG barrier's all-or-none semantics.
The text was updated successfully, but these errors were encountered: