Skip to content

Commit e132331

Browse files
committed
Add mem operand prefetch
Signed-off-by: Sidorov, Dmitry <[email protected]>
1 parent a0562e5 commit e132331

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

sycl/doc/design/spirv-extensions/SPV_INTEL_joint_matrix.asciidoc

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -274,9 +274,9 @@ Note: To specify cache level for *OpCooperativeMatrixStoreKHR* one
274274
can use *CacheControlStoreINTEL* decoration from {cache_control_url}[SPV_INTEL_cache_controls extension]. +
275275
+
276276

277-
[cols="1,1,8*3",width="100%"]
277+
[cols="1,1,9*3",width="100%"]
278278
|=====
279-
9+|[[OpCooperativeMatrixPrefetchINTEL]]*OpCooperativeMatrixPrefetchINTEL* +
279+
10+|[[OpCooperativeMatrixPrefetchINTEL]]*OpCooperativeMatrixPrefetchINTEL* +
280280
+
281281
The instruction does not modify the behaviour of the program. The instruction
282282
prefetches 'Rows' X 'Columns' block of data. +
@@ -309,6 +309,12 @@ a description of the layouts and detailed layout-specific rules. +
309309
'Stride' further qualifies how matrix elements are laid out in memory. It must be a
310310
scalar 'integer type' and its exact semantics depend on 'MemoryLayout'. +
311311
+
312+
'Memory Operand', if present, must begin with a _Memory Operand_ literal.
313+
If not present, it is the same as specifying the _Memory Operand_ None. +
314+
+
315+
All the operands to this instruction must be dynamically uniform within every
316+
instance of the 'Scope' of the cooperative matrix. +
317+
+
312318
1+|Capability: +
313319
*{capability_prefetch_name}*
314320
1+| 8+variable | {OpCooperativeMatrixPrefetchINTEL_token} | '<id>' +
@@ -319,7 +325,8 @@ scalar 'integer type' and its exact semantics depend on 'MemoryLayout'. +
319325
'Columns' | Literal +
320326
'Cache Level' | '<id>' +
321327
'MemoryLayout' | Optional '<id>' +
322-
'Stride' |
328+
'Stride' | Optional +
329+
'Memory Operand' |
323330
|=====
324331

325332
[cols="1,1,10*3",width="100%"]
@@ -360,11 +367,8 @@ scalar 'integer type' and its exact semantics depend on 'MemoryLayout'. +
360367
'Memory Operand' must be a +Memory Operand+ literal. If not present, it is the
361368
same as specifying *None*. +
362369
+
363-
For a given dynamic instance of this instruction, all operands of this
364-
instruction must be the same for all invocations in a given scope instance
365-
(where the scope is the scope the cooperative matrix type was created with).
366-
All invocations in a given scope instance must be active or all must be
367-
inactive. +
370+
All the operands to this instruction must be dynamically uniform within every
371+
instance of the 'Scope' of the cooperative matrix. +
368372
+
369373
Note: To specify cache level for *OpCooperativeMatrixLoadCheckedINTEL* one
370374
can use *CacheControlLoadINTEL* decoration from {cache_control_url}[SPV_INTEL_cache_controls extension]. +
@@ -420,11 +424,8 @@ scalar 'integer type' and its exact semantics depend on 'MemoryLayout'. +
420424
'Memory Operand' must be a +Memory Operand+ literal. If not present, it is the
421425
same as specifying *None*. +
422426
+
423-
For a given dynamic instance of this instruction, all operands of this
424-
instruction must be the same for all invocations in a given scope instance
425-
(where the scope is the scope the cooperative matrix type was created with).
426-
All invocations in a given scope instance must be active or all must be
427-
inactive. +
427+
All the operands to this instruction must be dynamically uniform within every
428+
instance of the 'Scope' of the cooperative matrix. +
428429
+
429430
Note: To specify cache level for *OpCooperativeMatrixStoreCheckedINTEL* one
430431
can use *CacheControlStoreINTEL* decoration from {cache_control_url}[SPV_INTEL_cache_controls extension]. +
@@ -468,11 +469,8 @@ It must be a scalar 'integer type'. +
468469
'Value' is an initializer value for the constructed object. It must have the same type
469470
as an element type of the 'Result Type'. +
470471
+
471-
For a given dynamic instance of this instruction, all operands of this
472-
instruction must be the same for all invocations in a given scope instance
473-
(where the scope is the scope the cooperative matrix type was created with).
474-
All invocations in a given scope instance must be active or all must be
475-
inactive. +
472+
All the operands to this instruction must be dynamically uniform within every
473+
instance of the 'Scope' of the cooperative matrix. +
476474
+
477475
1+|Capability: +
478476
*{capability_checked_name}*

0 commit comments

Comments
 (0)