Skip to content

Commit 345d3fa

Browse files
pratikasharigcbot
authored andcommitted
Specify partial programming of arg_type
arg_type can local id fields can be partially programmed in zebin. This is a performance optimization.
1 parent 0f8e26b commit 345d3fa

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

IGC/ZEBinWriter/zebin/spec/zeinfo.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,10 @@ Supported <argument_type> of payload_arguments or per_thread_payload_arguments.
237237

238238
arg_byvalue and arg_bypointer are user arguments that are explicitly passed in from the applications. Other kinds of arguments are implicit arguments that are passed in by runtime.
239239

240+
int32x3 argument types can be partially programmed using size field of respective payload argument. When size == 4, only .x channel is programmed, when size == 8, both .x and .y channels are programmed, whereas when size == 12, all 3 channels are programmed.
241+
242+
By setting size attribute, local_id can be partially programmed. Considering SIMD32 scenario, when only x component is needed, size can be set to 64. When x and y component are needed, size can be set to 128. When x, y, and z components are needed, size can be set to 192. When local id is not needed, the argument type can be skipped. These sizes scale as per SIMD width of the program.
243+
240244
### Supported memory addressing modes:
241245
Supported <memory_addressing_mode> of payload_arguments.
242246

0 commit comments

Comments
 (0)