Document VectorWidth
@@ -307,7 +307,13 @@ validParameters = {
# 1 cannot be used for half type.
"GlobalReadVectorWidth": [ -1, 1, 2, 3, 4, 6, 8 ],
- # threads should read/write/operate on this many contiguous elements. VW=4 on sgemm means read/write float4's.
+ # threads should read/write/operate on this many contiguous elements from the C matrix.
+ # If VW=4 then thread0 will process 4 consec C elements, then thread1 next 4, etc.
+ # If the ThreadTile is > VectorWidth then thread0 will next operate on the 4 elements in C at (4*NumThreads)
+ # Typically the load vector width and store vector width are directly related to the VW.
+ # The load width is closely related to the width of local stores so VectorWidth controls local write width.
+ # Local read width also matches since VectorWidth consec elements must be read
+ # Typically matching 16 bytes is good choice since the stores will be optimally coalesced with 16 bytes/WI.
# -1 means use the largest vector width up to 128 bits. Using a VW too large which results in >16bytes/thread isn't supported
"VectorWidth": [ -1, 1, 2, 3, 4, 6, 8 ],
