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
| 1 | multibuffer | NPU | Autotune option. It enables or disables the ping-pong pipeline. Enabled by default.|
74
-
| 2 | enable_auto_bind_sub_block | NPU | Autotune option (CV-fused kernels only). It enables or disables auto-binding of sub-blocks.|
75
-
| 3 | enable_hivm_auto_cv_balance | NPU | Autotune option (CV-fused kernels only). It enables or disables automatic CV balancing.|
76
-
| 4 | sync_solver | NPU | Autotune option (CV-fused kernels only). It enables or disables the synchronization solver. |
77
-
| 5 | unit_flag | NPU | Autotune option. It enables or disables the sync unit flag.|
78
-
| 6 | inject_barrier_all | NPU | Autotune option. It enables or disables automatic injection of barriers for all operations.|
79
-
| 7 | inject_block_all | NPU | Autotune option. It enables or disables automatic injection of blocks for all operations.|
80
-
| 8 | limit_auto_multi_buffer_only_for_local_buffer | NPU | Autotune option. It restricts automatic multi-buffering only to local buffers.|
81
-
| 9 | limit_auto_multi_buffer_of_local_buffer | NPU | Autotune option. It enables or disables automatic multi-buffering for local buffers.|
82
-
| 10 | set_workspace_multibuffer | NPU | Autotune option. It enables or disables multi-buffering for the workspace.|
83
-
| 11 | tile_mix_vector_loop | NPU | Autotune option (CV-fused kernels only). It enables or disables tiling for vector loops.|
84
-
| 12 | tile_mix_cube_loop | NPU | Autotune option (CV-fused kernels only). It enables or disables tiling for cube loops.|
85
-
| 13 | disable_auto_inject_block_sync | NPU | Autotune option (CV-fused kernels only). It enables or disables automatic injection of block synchronizations.|
86
-
| 14 | stream | NPU | (Optional) Informs the compiler about the NPU stream to use.|
87
-
| 15 | enable_linearize | NPU | Autotune option. It enables or disables the linearization pass.|
88
-
| 16 | enable_nd2nz_on_vector | NPU | Autotune option (CV-fused kernels only). It enables or disables the ND (n-dimensional) to NZ (non-zero) layout transformation.|
89
-
| 17 | auto_blockify_size | NPU | Autotune option. It enables or disables AutoBlockify pass. It is ignored when TRITON_ALL_BLOCKS_PARALLEL is not set |
| 19 | buf_slot_num_of_veccore | NPU | Configures the number of vector-core-local buffer slots.|
92
+
| 20 | buf_slot_num_of_crosscore | NPU | Configures the number of cross-core buffer slots.|
93
+
| 21 | buf_slot_num_of_gm | NPU | Configures the number of GM load buffer slots.|
94
+
| 22 | compile_mode | NPU | Compilation mode: `"simd_simt_template"` (default) / `"simd"` / `"simt_only"`; `"simt_only"` is supported only on Ascend 950.|
95
+
96
+
See {ref}`Compiler Option Cleanup and Compatibility <compiler-option-cleanup-and-compatibility>` for deprecated-option compatibility and rename mappings.
91
97
92
98
#### 3.2.2 SIMD Compiler
93
99
@@ -216,7 +222,7 @@ Developers choose the compilation path via `compile_mode`.
216
222
|`compile_mode`| Description | Compilation Path |
217
223
|---|---|---|
218
224
|`"simd"`| Pure SIMD: structured access via DMA; unstructured access via scalar loops |`Triton IR → Linalg IR → AscendNPU IR`|
219
-
|`"unstructured_in_simt"` (**default**) | Hybrid: structured access stays on SIMD; discrete access prefers SIMT templates |`Triton IR → Linalg IR → AscendNPU IR`|
225
+
|`"simd_simt_template"` (**default**) | Hybrid: structured access stays on SIMD; discrete access prefers SIMT templates |`Triton IR → Linalg IR → AscendNPU IR`|
220
226
|`"simt_only"`| Pure SIMT: send Triton IR directly to AscendNPU IR |`Triton IR → AscendNPU IR`|
221
227
222
228
Usage examples:
@@ -226,7 +232,7 @@ Usage examples:
226
232
kernel[grid](..., compile_mode="simd")
227
233
228
234
# Hybrid (default; discrete access on 950 prefers SIMT)
| Discrete mask handling | Split into contiguous/discrete bounds and handle with load + select / store | On Ascend 950 with tensor rank ≤ 5: mark and defer to downstream; otherwise same as left | Not run |
279
285
| Unstructured access | Expand to scalar loops | Prefer SIMT indirect access (rank ≤ 5); fall back to scalar loops on failure | Not run |
0 commit comments