public interface
RewriterConfigOrBuilder
Known Indirect Subclasses |
Public Methods
abstract RewriterConfig.Toggle |
getArithmeticOptimization()
Arithmetic optimizations (default is ON) e.g. |
abstract int |
getArithmeticOptimizationValue()
Arithmetic optimizations (default is ON) e.g. |
abstract RewriterConfig.Toggle |
getAutoMixedPrecision()
Optimize data types for CUDA (default is OFF). |
abstract RewriterConfig.Toggle |
getAutoMixedPrecisionMkl()
Optimize data types for MKL (default is OFF). |
abstract int |
getAutoMixedPrecisionMklValue()
Optimize data types for MKL (default is OFF). |
abstract int |
getAutoMixedPrecisionValue()
Optimize data types for CUDA (default is OFF). |
abstract AutoParallelOptions |
getAutoParallel()
Configures AutoParallel optimization passes either through the meta-optimizer or when manually specified through the optimizers field. |
abstract AutoParallelOptionsOrBuilder |
getAutoParallelOrBuilder()
Configures AutoParallel optimization passes either through the meta-optimizer or when manually specified through the optimizers field. |
abstract RewriterConfig.Toggle |
getCommonSubgraphElimination()
Common subgraph elimination (default is ON) e.g. |
abstract int |
getCommonSubgraphEliminationValue()
Common subgraph elimination (default is ON) e.g. |
abstract RewriterConfig.Toggle |
getConstantFolding()
Fold constants (default is ON) Statically infer the value of tensors when possible, and materialize the result using constants. |
abstract int |
getConstantFoldingValue()
Fold constants (default is ON) Statically infer the value of tensors when possible, and materialize the result using constants. |
abstract RewriterConfig.CpuLayout |
getCpuLayoutConversion()
CPU Conversion settings between NHCW and NCHW. |
abstract int |
getCpuLayoutConversionValue()
CPU Conversion settings between NHCW and NCHW. |
abstract RewriterConfig.CustomGraphOptimizer |
getCustomOptimizers(int index)
list of CustomGraphOptimizers to apply. |
abstract int |
getCustomOptimizersCount()
list of CustomGraphOptimizers to apply. |
abstract List<RewriterConfig.CustomGraphOptimizer> |
getCustomOptimizersList()
list of CustomGraphOptimizers to apply. |
abstract RewriterConfig.CustomGraphOptimizerOrBuilder |
getCustomOptimizersOrBuilder(int index)
list of CustomGraphOptimizers to apply. |
abstract List<? extends RewriterConfig.CustomGraphOptimizerOrBuilder> |
getCustomOptimizersOrBuilderList()
list of CustomGraphOptimizers to apply. |
abstract RewriterConfig.Toggle |
getDebugStripper()
Strips debug-related nodes from the graph (off by default). |
abstract int |
getDebugStripperValue()
Strips debug-related nodes from the graph (off by default). |
abstract RewriterConfig.Toggle |
getDependencyOptimization()
Control dependency optimizations (default is ON). |
abstract int |
getDependencyOptimizationValue()
Control dependency optimizations (default is ON). |
abstract boolean |
getDisableMetaOptimizer()
Disable the entire meta optimizer (off by default). |
abstract boolean |
getDisableModelPruning()
If true, don't remove unnecessary ops from the graph bool disable_model_pruning = 2;
|
abstract boolean |
getExperimentalDisableCompressedTensorOptimization()
Disable optimizations that assume compressed tensors. |
abstract boolean |
getFailOnOptimizerErrors()
If true, any optimization pass failing will cause the MetaOptimizer to stop with an error. |
abstract RewriterConfig.Toggle |
getFunctionOptimization()
Function optimizations (default is ON). |
abstract int |
getFunctionOptimizationValue()
Function optimizations (default is ON). |
abstract RewriterConfig.Toggle |
getImplementationSelector()
Enable the swap of kernel implementations based on the device placement (default is ON). |
abstract int |
getImplementationSelectorValue()
Enable the swap of kernel implementations based on the device placement (default is ON). |
abstract VerifierConfig |
getInterOptimizerVerifierConfig()
VerifierConfig specifying the verifiers to be run after every optimizer. |
abstract VerifierConfigOrBuilder |
getInterOptimizerVerifierConfigOrBuilder()
VerifierConfig specifying the verifiers to be run after every optimizer. |
abstract RewriterConfig.Toggle |
getLayoutOptimizer()
Optimize tensor layouts (default is ON) e.g. |
abstract int |
getLayoutOptimizerValue()
Optimize tensor layouts (default is ON) e.g. |
abstract RewriterConfig.Toggle |
getLoopOptimization()
Loop optimizations (default is ON). |
abstract int |
getLoopOptimizationValue()
Loop optimizations (default is ON). |
abstract RewriterConfig.MemOptType |
getMemoryOptimization()
Configures memory optimization passes through the meta-optimizer. |
abstract int |
getMemoryOptimizationValue()
Configures memory optimization passes through the meta-optimizer. |
abstract String |
getMemoryOptimizerTargetNodeNameScope()
A node name scope for node names which are valid outputs of recomputations. |
abstract com.google.protobuf.ByteString |
getMemoryOptimizerTargetNodeNameScopeBytes()
A node name scope for node names which are valid outputs of recomputations. |
abstract RewriterConfig.NumIterationsType |
getMetaOptimizerIterations()
Controls how many times we run the optimizers in meta optimizer (default is once). |
abstract int |
getMetaOptimizerIterationsValue()
Controls how many times we run the optimizers in meta optimizer (default is once). |
abstract long |
getMetaOptimizerTimeoutMs()
Maximum number of milliseconds to spend optimizing a single graph before timing out. |
abstract int |
getMinGraphNodes()
The minimum number of nodes in a graph to optimizer. |
abstract String |
getOptimizers(int index)
If non-empty, will use this as an alternative way to specify a list of optimizations to turn on and the order of the optimizations (replacing the meta-optimizer). |
abstract com.google.protobuf.ByteString |
getOptimizersBytes(int index)
If non-empty, will use this as an alternative way to specify a list of optimizations to turn on and the order of the optimizations (replacing the meta-optimizer). |
abstract int |
getOptimizersCount()
If non-empty, will use this as an alternative way to specify a list of optimizations to turn on and the order of the optimizations (replacing the meta-optimizer). |
abstract List<String> |
getOptimizersList()
If non-empty, will use this as an alternative way to specify a list of optimizations to turn on and the order of the optimizations (replacing the meta-optimizer). |
abstract RewriterConfig.Toggle |
getPinToHostOptimization()
Force small ops onto the CPU (default is OFF). |
abstract int |
getPinToHostOptimizationValue()
Force small ops onto the CPU (default is OFF). |
abstract VerifierConfig |
getPostOptimizationVerifierConfig()
VerifierConfig specifying the verifiers to be run at the end, after all optimizers have run. |
abstract VerifierConfigOrBuilder |
getPostOptimizationVerifierConfigOrBuilder()
VerifierConfig specifying the verifiers to be run at the end, after all optimizers have run. |
abstract RewriterConfig.Toggle |
getRemapping()
Remapping (default is ON) Remap subgraphs onto more efficient implementations. |
abstract int |
getRemappingValue()
Remapping (default is ON) Remap subgraphs onto more efficient implementations. |
abstract RewriterConfig.Toggle |
getScopedAllocatorOptimization()
Try to allocate some independent Op outputs contiguously in order to merge or eliminate downstream Ops (off by default). |
abstract int |
getScopedAllocatorOptimizationValue()
Try to allocate some independent Op outputs contiguously in order to merge or eliminate downstream Ops (off by default). |
abstract ScopedAllocatorOptions |
getScopedAllocatorOpts()
.tensorflow.ScopedAllocatorOptions scoped_allocator_opts = 16;
|
abstract ScopedAllocatorOptionsOrBuilder |
getScopedAllocatorOptsOrBuilder()
.tensorflow.ScopedAllocatorOptions scoped_allocator_opts = 16;
|
abstract RewriterConfig.Toggle |
getShapeOptimization()
Shape optimizations (default is ON) Simplify computations made on shapes. |
abstract int |
getShapeOptimizationValue()
Shape optimizations (default is ON) Simplify computations made on shapes. |
abstract boolean |
hasAutoParallel()
Configures AutoParallel optimization passes either through the meta-optimizer or when manually specified through the optimizers field. |
abstract boolean |
hasInterOptimizerVerifierConfig()
VerifierConfig specifying the verifiers to be run after every optimizer. |
abstract boolean |
hasPostOptimizationVerifierConfig()
VerifierConfig specifying the verifiers to be run at the end, after all optimizers have run. |
abstract boolean |
hasScopedAllocatorOpts()
.tensorflow.ScopedAllocatorOptions scoped_allocator_opts = 16;
|
Public Methods
public abstract RewriterConfig.Toggle getArithmeticOptimization ()
Arithmetic optimizations (default is ON) e.g. Simplify arithmetic ops; merge ops with same value (like constants).
.tensorflow.RewriterConfig.Toggle arithmetic_optimization = 7;
public abstract int getArithmeticOptimizationValue ()
Arithmetic optimizations (default is ON) e.g. Simplify arithmetic ops; merge ops with same value (like constants).
.tensorflow.RewriterConfig.Toggle arithmetic_optimization = 7;
public abstract RewriterConfig.Toggle getAutoMixedPrecision ()
Optimize data types for CUDA (default is OFF). This will try to use float16 on GPU which is faster. Note that this can change the numerical stability of the graph and may require the use of loss scaling to maintain model convergence.
.tensorflow.RewriterConfig.Toggle auto_mixed_precision = 23;
public abstract RewriterConfig.Toggle getAutoMixedPrecisionMkl ()
Optimize data types for MKL (default is OFF). This will try to use bfloat16 on CPUs, which is faster. Note that this can change the numerical stability of the graph.
.tensorflow.RewriterConfig.Toggle auto_mixed_precision_mkl = 25;
public abstract int getAutoMixedPrecisionMklValue ()
Optimize data types for MKL (default is OFF). This will try to use bfloat16 on CPUs, which is faster. Note that this can change the numerical stability of the graph.
.tensorflow.RewriterConfig.Toggle auto_mixed_precision_mkl = 25;
public abstract int getAutoMixedPrecisionValue ()
Optimize data types for CUDA (default is OFF). This will try to use float16 on GPU which is faster. Note that this can change the numerical stability of the graph and may require the use of loss scaling to maintain model convergence.
.tensorflow.RewriterConfig.Toggle auto_mixed_precision = 23;
public abstract AutoParallelOptions getAutoParallel ()
Configures AutoParallel optimization passes either through the meta-optimizer or when manually specified through the optimizers field.
.tensorflow.AutoParallelOptions auto_parallel = 5;
public abstract AutoParallelOptionsOrBuilder getAutoParallelOrBuilder ()
Configures AutoParallel optimization passes either through the meta-optimizer or when manually specified through the optimizers field.
.tensorflow.AutoParallelOptions auto_parallel = 5;
public abstract RewriterConfig.Toggle getCommonSubgraphElimination ()
Common subgraph elimination (default is ON) e.g. Simplify arithmetic ops; merge ops with same value (like constants).
.tensorflow.RewriterConfig.Toggle common_subgraph_elimination = 24;
public abstract int getCommonSubgraphEliminationValue ()
Common subgraph elimination (default is ON) e.g. Simplify arithmetic ops; merge ops with same value (like constants).
.tensorflow.RewriterConfig.Toggle common_subgraph_elimination = 24;
public abstract RewriterConfig.Toggle getConstantFolding ()
Fold constants (default is ON) Statically infer the value of tensors when possible, and materialize the result using constants.
.tensorflow.RewriterConfig.Toggle constant_folding = 3;
public abstract int getConstantFoldingValue ()
Fold constants (default is ON) Statically infer the value of tensors when possible, and materialize the result using constants.
.tensorflow.RewriterConfig.Toggle constant_folding = 3;
public abstract RewriterConfig.CpuLayout getCpuLayoutConversion ()
CPU Conversion settings between NHCW and NCHW.
.tensorflow.RewriterConfig.CpuLayout cpu_layout_conversion = 50;
public abstract int getCpuLayoutConversionValue ()
CPU Conversion settings between NHCW and NCHW.
.tensorflow.RewriterConfig.CpuLayout cpu_layout_conversion = 50;
public abstract RewriterConfig.CustomGraphOptimizer getCustomOptimizers (int index)
list of CustomGraphOptimizers to apply.
repeated .tensorflow.RewriterConfig.CustomGraphOptimizer custom_optimizers = 200;
public abstract int getCustomOptimizersCount ()
list of CustomGraphOptimizers to apply.
repeated .tensorflow.RewriterConfig.CustomGraphOptimizer custom_optimizers = 200;
public abstract List<RewriterConfig.CustomGraphOptimizer> getCustomOptimizersList ()
list of CustomGraphOptimizers to apply.
repeated .tensorflow.RewriterConfig.CustomGraphOptimizer custom_optimizers = 200;
public abstract RewriterConfig.CustomGraphOptimizerOrBuilder getCustomOptimizersOrBuilder (int index)
list of CustomGraphOptimizers to apply.
repeated .tensorflow.RewriterConfig.CustomGraphOptimizer custom_optimizers = 200;
public abstract List<? extends RewriterConfig.CustomGraphOptimizerOrBuilder> getCustomOptimizersOrBuilderList ()
list of CustomGraphOptimizers to apply.
repeated .tensorflow.RewriterConfig.CustomGraphOptimizer custom_optimizers = 200;
public abstract RewriterConfig.Toggle getDebugStripper ()
Strips debug-related nodes from the graph (off by default).
.tensorflow.RewriterConfig.Toggle debug_stripper = 11;
public abstract int getDebugStripperValue ()
Strips debug-related nodes from the graph (off by default).
.tensorflow.RewriterConfig.Toggle debug_stripper = 11;
public abstract RewriterConfig.Toggle getDependencyOptimization ()
Control dependency optimizations (default is ON). Remove redundant control dependencies, which may enable other optimization.
.tensorflow.RewriterConfig.Toggle dependency_optimization = 8;
public abstract int getDependencyOptimizationValue ()
Control dependency optimizations (default is ON). Remove redundant control dependencies, which may enable other optimization.
.tensorflow.RewriterConfig.Toggle dependency_optimization = 8;
public abstract boolean getDisableMetaOptimizer ()
Disable the entire meta optimizer (off by default).
bool disable_meta_optimizer = 19;
public abstract boolean getDisableModelPruning ()
If true, don't remove unnecessary ops from the graph
bool disable_model_pruning = 2;
public abstract boolean getExperimentalDisableCompressedTensorOptimization ()
Disable optimizations that assume compressed tensors. Note that this flag is experimental and may be removed in the future.
bool experimental_disable_compressed_tensor_optimization = 26;
public abstract boolean getFailOnOptimizerErrors ()
If true, any optimization pass failing will cause the MetaOptimizer to stop with an error. By default - or when set to false, failing passes are skipped silently.
bool fail_on_optimizer_errors = 21;
public abstract RewriterConfig.Toggle getFunctionOptimization ()
Function optimizations (default is ON).
.tensorflow.RewriterConfig.Toggle function_optimization = 10;
public abstract int getFunctionOptimizationValue ()
Function optimizations (default is ON).
.tensorflow.RewriterConfig.Toggle function_optimization = 10;
public abstract RewriterConfig.Toggle getImplementationSelector ()
Enable the swap of kernel implementations based on the device placement (default is ON).
.tensorflow.RewriterConfig.Toggle implementation_selector = 22;
public abstract int getImplementationSelectorValue ()
Enable the swap of kernel implementations based on the device placement (default is ON).
.tensorflow.RewriterConfig.Toggle implementation_selector = 22;
public abstract VerifierConfig getInterOptimizerVerifierConfig ()
VerifierConfig specifying the verifiers to be run after every optimizer.
.tensorflow.VerifierConfig inter_optimizer_verifier_config = 300;
public abstract VerifierConfigOrBuilder getInterOptimizerVerifierConfigOrBuilder ()
VerifierConfig specifying the verifiers to be run after every optimizer.
.tensorflow.VerifierConfig inter_optimizer_verifier_config = 300;
public abstract RewriterConfig.Toggle getLayoutOptimizer ()
Optimize tensor layouts (default is ON) e.g. This will try to use NCHW layout on GPU which is faster.
.tensorflow.RewriterConfig.Toggle layout_optimizer = 1;
public abstract int getLayoutOptimizerValue ()
Optimize tensor layouts (default is ON) e.g. This will try to use NCHW layout on GPU which is faster.
.tensorflow.RewriterConfig.Toggle layout_optimizer = 1;
public abstract RewriterConfig.Toggle getLoopOptimization ()
Loop optimizations (default is ON).
.tensorflow.RewriterConfig.Toggle loop_optimization = 9;
public abstract int getLoopOptimizationValue ()
Loop optimizations (default is ON).
.tensorflow.RewriterConfig.Toggle loop_optimization = 9;
public abstract RewriterConfig.MemOptType getMemoryOptimization ()
Configures memory optimization passes through the meta-optimizer. Has no effect on manually requested memory optimization passes in the optimizers field.
.tensorflow.RewriterConfig.MemOptType memory_optimization = 4;
public abstract int getMemoryOptimizationValue ()
Configures memory optimization passes through the meta-optimizer. Has no effect on manually requested memory optimization passes in the optimizers field.
.tensorflow.RewriterConfig.MemOptType memory_optimization = 4;
public abstract String getMemoryOptimizerTargetNodeNameScope ()
A node name scope for node names which are valid outputs of recomputations. Inputs to nodes that match this scope may be recomputed (subject either to manual annotation of those input nodes or to manual annotation and heuristics depending on memory_optimization), but the nodes themselves will not be recomputed. This matches any sub-scopes as well, meaning the scope can appear not just as a top-level scope. For example, if the value is "gradients/", the default, it will match node name "gradients/foo", "foo/gradients/bar", but not "foo_gradients/"
string memory_optimizer_target_node_name_scope = 6;
public abstract com.google.protobuf.ByteString getMemoryOptimizerTargetNodeNameScopeBytes ()
A node name scope for node names which are valid outputs of recomputations. Inputs to nodes that match this scope may be recomputed (subject either to manual annotation of those input nodes or to manual annotation and heuristics depending on memory_optimization), but the nodes themselves will not be recomputed. This matches any sub-scopes as well, meaning the scope can appear not just as a top-level scope. For example, if the value is "gradients/", the default, it will match node name "gradients/foo", "foo/gradients/bar", but not "foo_gradients/"
string memory_optimizer_target_node_name_scope = 6;
public abstract RewriterConfig.NumIterationsType getMetaOptimizerIterations ()
Controls how many times we run the optimizers in meta optimizer (default is once).
.tensorflow.RewriterConfig.NumIterationsType meta_optimizer_iterations = 12;
public abstract int getMetaOptimizerIterationsValue ()
Controls how many times we run the optimizers in meta optimizer (default is once).
.tensorflow.RewriterConfig.NumIterationsType meta_optimizer_iterations = 12;
public abstract long getMetaOptimizerTimeoutMs ()
Maximum number of milliseconds to spend optimizing a single graph before timing out. If equal to 0 the system picks a default (currently 5 minutes). If less than 0 the optimizer will never time out.
int64 meta_optimizer_timeout_ms = 20;
public abstract int getMinGraphNodes ()
The minimum number of nodes in a graph to optimizer. For smaller graphs, optimization is skipped. 0 means the system picks an appropriate number. < 0 means do not skip optimization.
int32 min_graph_nodes = 17;
public abstract String getOptimizers (int index)
If non-empty, will use this as an alternative way to specify a list of optimizations to turn on and the order of the optimizations (replacing the meta-optimizer). Of the RewriterConfig options, only the AutoParallel configuration options (the auto_parallel field) apply to manually requested optimization passes ("autoparallel"). Memory optimization passes ("memory") invoked here are not configurable (in contrast to memory optimization passes through the meta-optimizer) and act only on manual op annotations. Custom optimizers (see custom_optimizers) that are not part of this schedule will be run after - in the order that they were specified.
repeated string optimizers = 100;
public abstract com.google.protobuf.ByteString getOptimizersBytes (int index)
If non-empty, will use this as an alternative way to specify a list of optimizations to turn on and the order of the optimizations (replacing the meta-optimizer). Of the RewriterConfig options, only the AutoParallel configuration options (the auto_parallel field) apply to manually requested optimization passes ("autoparallel"). Memory optimization passes ("memory") invoked here are not configurable (in contrast to memory optimization passes through the meta-optimizer) and act only on manual op annotations. Custom optimizers (see custom_optimizers) that are not part of this schedule will be run after - in the order that they were specified.
repeated string optimizers = 100;
public abstract int getOptimizersCount ()
If non-empty, will use this as an alternative way to specify a list of optimizations to turn on and the order of the optimizations (replacing the meta-optimizer). Of the RewriterConfig options, only the AutoParallel configuration options (the auto_parallel field) apply to manually requested optimization passes ("autoparallel"). Memory optimization passes ("memory") invoked here are not configurable (in contrast to memory optimization passes through the meta-optimizer) and act only on manual op annotations. Custom optimizers (see custom_optimizers) that are not part of this schedule will be run after - in the order that they were specified.
repeated string optimizers = 100;
public abstract List<String> getOptimizersList ()
If non-empty, will use this as an alternative way to specify a list of optimizations to turn on and the order of the optimizations (replacing the meta-optimizer). Of the RewriterConfig options, only the AutoParallel configuration options (the auto_parallel field) apply to manually requested optimization passes ("autoparallel"). Memory optimization passes ("memory") invoked here are not configurable (in contrast to memory optimization passes through the meta-optimizer) and act only on manual op annotations. Custom optimizers (see custom_optimizers) that are not part of this schedule will be run after - in the order that they were specified.
repeated string optimizers = 100;
public abstract RewriterConfig.Toggle getPinToHostOptimization ()
Force small ops onto the CPU (default is OFF).
.tensorflow.RewriterConfig.Toggle pin_to_host_optimization = 18;
public abstract int getPinToHostOptimizationValue ()
Force small ops onto the CPU (default is OFF).
.tensorflow.RewriterConfig.Toggle pin_to_host_optimization = 18;
public abstract VerifierConfig getPostOptimizationVerifierConfig ()
VerifierConfig specifying the verifiers to be run at the end, after all optimizers have run.
.tensorflow.VerifierConfig post_optimization_verifier_config = 301;
public abstract VerifierConfigOrBuilder getPostOptimizationVerifierConfigOrBuilder ()
VerifierConfig specifying the verifiers to be run at the end, after all optimizers have run.
.tensorflow.VerifierConfig post_optimization_verifier_config = 301;
public abstract RewriterConfig.Toggle getRemapping ()
Remapping (default is ON) Remap subgraphs onto more efficient implementations.
.tensorflow.RewriterConfig.Toggle remapping = 14;
public abstract int getRemappingValue ()
Remapping (default is ON) Remap subgraphs onto more efficient implementations.
.tensorflow.RewriterConfig.Toggle remapping = 14;
public abstract RewriterConfig.Toggle getScopedAllocatorOptimization ()
Try to allocate some independent Op outputs contiguously in order to merge or eliminate downstream Ops (off by default).
.tensorflow.RewriterConfig.Toggle scoped_allocator_optimization = 15;
public abstract int getScopedAllocatorOptimizationValue ()
Try to allocate some independent Op outputs contiguously in order to merge or eliminate downstream Ops (off by default).
.tensorflow.RewriterConfig.Toggle scoped_allocator_optimization = 15;
public abstract ScopedAllocatorOptions getScopedAllocatorOpts ()
.tensorflow.ScopedAllocatorOptions scoped_allocator_opts = 16;
public abstract ScopedAllocatorOptionsOrBuilder getScopedAllocatorOptsOrBuilder ()
.tensorflow.ScopedAllocatorOptions scoped_allocator_opts = 16;
public abstract RewriterConfig.Toggle getShapeOptimization ()
Shape optimizations (default is ON) Simplify computations made on shapes.
.tensorflow.RewriterConfig.Toggle shape_optimization = 13;
public abstract int getShapeOptimizationValue ()
Shape optimizations (default is ON) Simplify computations made on shapes.
.tensorflow.RewriterConfig.Toggle shape_optimization = 13;
public abstract boolean hasAutoParallel ()
Configures AutoParallel optimization passes either through the meta-optimizer or when manually specified through the optimizers field.
.tensorflow.AutoParallelOptions auto_parallel = 5;
public abstract boolean hasInterOptimizerVerifierConfig ()
VerifierConfig specifying the verifiers to be run after every optimizer.
.tensorflow.VerifierConfig inter_optimizer_verifier_config = 300;
public abstract boolean hasPostOptimizationVerifierConfig ()
VerifierConfig specifying the verifiers to be run at the end, after all optimizers have run.
.tensorflow.VerifierConfig post_optimization_verifier_config = 301;
public abstract boolean hasScopedAllocatorOpts ()
.tensorflow.ScopedAllocatorOptions scoped_allocator_opts = 16;