@@ -94,7 +94,7 @@ Fine-grained control over the compilation options for the Reactant compiler.
9494 the computation graph. If `:down`, they will be propagated down. Defaults to `:up`.
9595 - `max_constant_threshold`: If the number of elements in a constant is greater than this
9696 threshold (for a non-splatted constant), we will throw an error.
97- - `inline`: If `true`, all functions will be inlined. This is `true` by default .
97+ - `inline`: If `true`, all functions will be inlined. (Default: `true`) .
9898
9999## Raising Options
100100
@@ -107,7 +107,7 @@ Fine-grained control over the compilation options for the Reactant compiler.
107107## Dialect Specific Options
108108
109109 - `legalize_chlo_to_stablehlo`: If `true`, `chlo` dialect ops will be converted to
110- `stablehlo` ops. This is `false` by default .
110+ `stablehlo` ops. (Default: `false`) .
111111
112112## Backend Specific Options
113113
@@ -153,13 +153,21 @@ Fine-grained control over the compilation options for the Reactant compiler.
153153 notice or deprecation cycle.
154154
155155 - `disable_scatter_gather_optimization_passes`: Disables the scatter-gather
156- optimization passes. This is `false` by default .
156+ optimization passes. (Default: `false`) .
157157 - `disable_pad_optimization_passes`: Disables the pad optimization passes. This is
158158 `false` by default.
159159 - `disable_licm_optimization_passes`: Disables the Loop Invariant Code Motion (LICM)
160- optimization passes. This is `false` by default.
161- - `disable_auto_batching_passes`: Disables the auto-batching optimization passes. This
162- is `false` by default.
160+ optimization passes. (Default: `false`).
161+ - `disable_reduce_slice_fusion_passes`: Disables fusion of slice elementwise and reduce
162+ operations. (Default `false`).
163+ - `disable_slice_to_batch_passes`: Disables the slice to batch fusion optimization passes.
164+ (Default: `true`). _(Note that this is generally an expensive pass to run)_
165+ - `disable_concat_to_batch_passes`: Disables concatenate to batch fusion passes.
166+ (Default: `false`).
167+ - `disable_loop_raising_passes`: Disables raising passes for `stablehlo.while`.
168+ (Default: `false`).
169+ - `disable_structured_tensors_passes`: Disables structured tensors detection and
170+ propagation passes. (Default `false`).
163171"""
164172struct CompileOptions
165173 optimization_passes:: Union{Symbol,String}
@@ -188,7 +196,11 @@ struct CompileOptions
188196 disable_scatter_gather_optimization_passes:: Bool
189197 disable_pad_optimization_passes:: Bool
190198 disable_licm_optimization_passes:: Bool
191- disable_auto_batching_passes:: Bool
199+ disable_reduce_slice_fusion_passes:: Bool
200+ disable_slice_to_batch_passes:: Bool
201+ disable_concat_to_batch_passes:: Bool
202+ disable_loop_raising_passes:: Bool
203+ disable_structured_tensors_passes:: Bool
192204end
193205
194206function CompileOptions (;
@@ -212,7 +224,11 @@ function CompileOptions(;
212224 disable_scatter_gather_optimization_passes:: Bool = false ,
213225 disable_pad_optimization_passes:: Bool = false ,
214226 disable_licm_optimization_passes:: Bool = false ,
215- disable_auto_batching_passes:: Bool = true ,
227+ disable_reduce_slice_fusion_passes:: Bool = false ,
228+ disable_slice_to_batch_passes:: Bool = true , # expensive + introduces all-to-all in GB25
229+ disable_concat_to_batch_passes:: Bool = false ,
230+ disable_loop_raising_passes:: Bool = false ,
231+ disable_structured_tensors_passes:: Bool = false ,
216232)
217233 optimization_passes isa Bool &&
218234 (optimization_passes = ifelse (optimization_passes, :all , :none ))
@@ -261,7 +277,11 @@ function CompileOptions(;
261277 disable_scatter_gather_optimization_passes,
262278 disable_pad_optimization_passes,
263279 disable_licm_optimization_passes,
264- disable_auto_batching_passes,
280+ disable_reduce_slice_fusion_passes,
281+ disable_slice_to_batch_passes,
282+ disable_concat_to_batch_passes,
283+ disable_loop_raising_passes,
284+ disable_structured_tensors_passes,
265285 )
266286end
267287
@@ -303,7 +323,11 @@ function __compile_options_with_reversed_propagation(compile_options::CompileOpt
303323 compile_options. disable_scatter_gather_optimization_passes,
304324 compile_options. disable_pad_optimization_passes,
305325 compile_options. disable_licm_optimization_passes,
306- compile_options. disable_auto_batching_passes,
326+ compile_options. disable_reduce_slice_fusion_passes,
327+ compile_options. disable_slice_to_batch_passes,
328+ compile_options. disable_concat_to_batch_passes,
329+ compile_options. disable_loop_raising_passes,
330+ compile_options. disable_structured_tensors_passes,
307331 )
308332end
309333
0 commit comments