Don't allow negative WGM
@@ -433,7 +433,7 @@ validParameters = {
# For Block Mapping type:
# 0 : Use hardware-assigned wg number with no remapping.
# N : WG block width. "Wrap" to a new wg1 "row" assignment after N WGs assigned in that row.
- # < 0 : Swaps the position of wg0 and wg1.
+ # < 0 : Swaps the position of wg0 and wg1. Does not change NumWorkGroups* or ProblemNumWorkGroups*. No longer supported.
# Tensor C always mapped with first free coord as fastest moving
# (Elements in this dimension are sequential in memory.
#
@@ -455,7 +455,7 @@ validParameters = {
#
# Formula for wgSerial:
# wgSerial = wg0 + (wg1 % WorkGroupMapping) * nwg0
- "WorkGroupMapping": range(-1024,1024+1), # change a workgroup's id so that the all the workgroups on the gpu at a time are hitting L2 cache the best
+ "WorkGroupMapping": range(0,1024+1), # change a workgroup's id so that the all the workgroups on the gpu at a time are hitting L2 cache the best
"WorkGroupMappingType": ["B", "Z"], # Blocking, Z-order (not any faster than blocking, especially for the arithmetic it requires)
"MaxOccupancy": range(1, 40+1), # wg / CU; if cache thrashing is hurting performance, this allocates extra lds to artificially limit occupancy
"WorkGroup": validWorkGroups, # ( wg0 x wg1 x LocalSplitU ) dimensions of the workgroup which will operate on a tile and share lds
