Skip to content

旗帜目录(完整)

此页面上的所有计数、符号和偏移量适用于 libtpu-0.0.40-cp314 轮中的 libtpu.so(构建 libtpu_lts_20260413_b_RC00,构建 id md5 89edbbe81c5b328a958fe628a9f2207d,781,691,048 字节,ELF x86-64 DYN,未剥离)。其他版本有所不同。

摘要

本附录是 libtpu 标志表面的 详尽的前缀索引:每个 XLA_FLAGS / LIBTPU_INIT_ARGS / xla.DebugOptions 名称字符串二进制寄存器,按前缀分组,每组计数,代表性枚举子集,推断类型以及字节证明的默认值(其中一个存活)。它是 xla-flag-atlas.md 中分组叙述的机器式伴侣:图集解释了高信号旋钮的作用;此页面是读者 greps 的完整参考表。如果两者在计数上存在分歧,则该页面获胜 - 它的数字直接来自二进制文件。

权威名称 census 是损坏的辅助符号集。每个 absl::Flag<T> FLAGS_<name> 全局都会发出一个 _ZN<len>AbslFlagHelpGenFor<name>8NonConstEv 辅助符号,因此该符号集是注册标志的 1:1 枚举;长度前缀解析准确地恢复每个 <name>。该二进制文件携带2048这样不同的符号——注册标志计数。另一组名称仅出现在 .rodata 中(已弃用的别名,仅错误消息引用),不受实时 AbslFlagHelpGenFor 符号支持;将这些折叠起来产生2107不同的标志名称。这两个数字回答了两个不同的问题:2048 是“可以设置多少个标志”,2107 是“二进制文件中以字符串形式存在多少个标志名称”。两者都在下面使用,每行都明确标记。

每个标志都可以通过一个漏斗设置:LIBTPU_INIT_ARGS(env string @ file 0x918c880)由GetLibTpuInitArguments @ 0x20ccca20读取,分割argv样式,并传递给RealInitGoogle @ 0x210ae860内的absl::ParseCommandLine。因为解析是通用的,所以可以通过该变量访问整个 2048 标志集 - 没有 init-args-private 子集。 xla_*(非TPU)标志还通过MakeDebugOptionsFlags @ 0x1e66ce80绑定到xla::DebugOptions字段; TPU-private 系列(xla_tpu_*xla_jf_*、代号、megascale_*barna_core_*)是独立的全局变量,通过 OverrideTpuCompEnvByCmdLineFlags @ 0x1d73e640 登陆 TpuCompilationEnvironment,而不是在 DebugOptions 中。哪个名字登陆的原型归flag-families.md所有;该页面拥有分组名称索引

本附录是一个纯参考目录:它本身没有重新实现合约(注册机制是从xla-flag-atlas.md注册表介导的flags.md重新实现的)。它提供:

  • 每个前缀计数表 — 每个 ~14 个前缀命名空间的注册计数和rodata-name 计数,具有范围和置信度。
  • 每个前缀部分 — 对于每个前缀、子系统拆分(如果适用)以及具有推断类型的名称的大量枚举子集、完整拼写的最高值 TPU 特定标志。
  • 确定性边界 — 错误字符串 =value 补救子句保留的 13 个标志(这些标志表示非默认方向,而不是默认方向),以及其余类型列上的约定推理警告。
注册标志(AbslFlagHelpGenFor 符号)2048
不同的rodata标志名称(注册+仅rodata)2107
枚举符号_ZN<len>AbslFlagHelpGenFor<name>8NonConstEv(每个注册标志 1 个)
调试选项注册器MakeDebugOptionsFlags @ 0x1e66ce80(绑定通用 xla_* 字段)
TCE标志→场桥OverrideTpuCompEnvByCmdLineFlags @ 0x1d73e640(TPU 系列)
漏斗LIBTPU_INIT_ARGS(str@文件0x918c880)→GetLibTpuInitArguments @ 0x20ccca20absl::ParseCommandLine(RealInitGoogle @ 0x210ae860)
类型拆分(所有 2107 名称)布尔型 1431 (68%) · 整数 434 (21%) · 字符串 93 · 浮点型 79 · 枚举/字符串 70
错误字符串 =value 补救条款13(每个拼非默认方向,不是默认);实际默认值位于 .text 初始值设定项中
xla_gpu_* / xla_cpu_* 注册标志0(从此 TPU 版本中剥离 GPU/CPU 标志接线)

注意 — 两个不同的 xla_tpu_* 计数衡量两个不同的事物。二进制文件的 AbslFlagHelpGenFor 符号集包含 909 注册 xla_tpu_* 标志 - 可设置的表面。 .rodata 中有 968 不同的 xla_tpu_* 名称字符串(909 个注册 + 59 个仅 RODATA 引用),这不是可设置标志的计数。此页面根据前缀拆分两列,因此区别很明确:使用 909 表示“您可以传递多少个 --xla_tpu_*=...”,使用 968 表示“存在多少个 xla_tpu_* 字符串”。


每个前缀索引(概览)

目录中的每个前缀命名空间,以及注册标志计数(二进制 AbslFlagHelpGenFor 普查)和rodata-name 计数(注册+仅rodata)。 “rodata 名称”列与之前的 2107 联合计数相匹配; “已注册”列是实际可设置的。对于直接从符号普查 HIGH 得出的计数,置信度为 CERTAIN,其中 rodata-name 增量带有串联噪声。

前缀已注册罗数据名称适用范围所有者原型
xla_tpu_909968TPU专用编译器+运行时旋钮TCE
megascale_150150超大规模 DCN 集体运行时独立
xla_jf_148148Jellyfish TPU XLA 后端(所有世代)TCE
xla_(普通)121138通用 XLA(调度程序/MSA/集体/转储)调试选项
xla_sc_9292SparseCore编译器(SCS/SCC LLVM后端)TCE
tpu_6969TPU运行时/编译缓存/驱动程序独立
barna_core_6161BarnaCore 嵌入引擎运行时独立
xla_msa_2222内存空间分配(专用命名空间)TCE
tf_2020TensorFlow-TPU桥(tf_jf_*等)独立
xla_vf_1616世代专用 VMEM/MSA 覆盖镜像(vf 代号)TCE
xla_gf_1414世代专用 VMEM/MSA 覆盖镜像(gf 代号)TCE
xla_mosaic_88Mosaic MLIR 自定义内核方言TCE
xla_ior_44“IOR”快速内存往返 MSA 变体TCE
xla_pf_11世代专用 ND-allreduce 覆盖(pf 代号)TCE
xla_llo_11LLO注释生命周期TCE
xla_gpu_0GPU后端(仅原型,无标志)调试选项
xla_cpu_0CPU后端(仅原型,无标志)调试选项
(other / no XLA prefix)412395Abseil / grpc / protobuf / OR-tools 库标志独立
总计20482107

注意 — “注册总数 2048”和“rodata 名称 2107”都是字节派生的:注册总数是不同 AbslFlagHelpGenFor<name>8NonConstEv 符号的计数(2048,由 rg 在名称 sidecar 上确认); 2107 是与仅rodata 引用联合的集合(不推荐使用的别名、错误字符串提及)。 “其他/无 XLA 前缀”注册计数是残差(2048 − 1636 个 XLA/TPU 前缀注册标志 = 412);这些是编译器不感兴趣的静态链接库标志(alsologtostderralarm_on_failure、OR 工具 cp_model_*、grpc 内部)。


xla_tpu_ — TPU 编译器 + 运行时旋钮(909 个注册/968 个名称)

主要系列 - TPU 专用编译器和运行时旋钮表面,注册为独立的 absl::Flag 全局变量,位于 TpuCompilationEnvironment而不位于 DebugOptions。 (连接到 DebugOptions 的唯一两个例外是 xla_tpu_detect_nanxla_tpu_detect_inf — 请参阅 xla_ 部分。)按关键字分类对所有 968 个 xla_tpu_* 名称字符串(总和为 968,而不是 909 个注册子集)进行子系统拆分:

子系统计数关键字签名
杂项 / 未分类288(无主导关键字)
ICI/集体174iciall_reduceall_gatherreduce_scatterall_to_allcollectivesflagdcnbarrier
融合101fusionfuserwbdot_dotnested_dotmulti_outputhorizontal
调试/转储/日志/跟踪77dumpdebuglogtraceverifynanrecorderassert
MSA /预取/作用域内存55msamemory_spaceprefetchscoped_(v|c)memasync_copycmemtelamalloc
SparseCore(TC端)50sparse_coresparsecore_sc_embeddingminibatchoffload
调度器47schedullatency_hidinglhsilpbrkgacritical_path
自动分片/SPMD40shardingspmdpartitionshardonnaypropagat
布局29layoutminor_dim2nd_minortransposerelayout_x16/_x8/_x4
内存/分配27allocathbmvmemspilloomdefragment
点/转换24dotconvmatmulmxugemmeinsum
自动调谐/autofdo24autotunautofdoflagnet
数字/精度21accurate__exp_logprecisionbf16fp8stochastic
成本模型8cost_modelcyclelearned_costroofline
运行时3runtimeinit

Scheduler — 五个发动机门

调度程序系列宣传了五个不同的引擎,每个引擎都有自己的大门。除非有证据,否则无法从字符串中恢复默认值。

标志默认用途
xla_tpu_enable_latency_hiding_scheduler布尔值主左门
xla_tpu_enable_ilp_latency_hiding_scheduler布尔值基于ILP的LHS引擎
xla_tpu_enable_brkga_latency_hiding_scheduler布尔值遗传(BRKGA)调度器引擎
xla_tpu_brkga_latency_hiding_scheduler_generation_limitintBRKGA代帽
xla_tpu_brkga_latency_hiding_scheduler_num_chromosomesintBRKGA 人口规模
xla_tpu_brkga_latency_hiding_scheduler_num_top_heap_computationsintBRKGA精英套装尺寸
xla_tpu_brgka_latency_hiding_scheduler_no_progress_limitintBRKGA 失速截止(注意 brgka 错字)
xla_tpu_enable_dozer_latency_hiding_scheduler布尔值“推土机”调度程序变体
xla_tpu_enable_lem_scheduler布尔值LEM 调度程序变体
xla_tpu_consider_lp_llo_scheduler布尔值基于LP的LLO调度器
xla_tpu_enable_depth_memory_pressure_reduction布尔值基于深度的内存减压
xla_tpu_enable_cp_send_done_scheduling布尔值集体排列发送/完成计划
xla_tpu_aggressive_flexible_annotation_scheduling布尔值调度-注释攻击性
xla_tpu_scheduling_annotation_deannotate_unsupported_groups布尔值false(errstr补救措施=true)deannotate注释间隙
xla_tpu_enable_all_experimental_scheduler_features布尔值启用所有实验性计划功能

QUIRK — xla_tpu_brgka_latency_hiding_scheduler_no_progress_limit 这个名字带有一个字母换位错误(brgka 与它的三个兄弟姐妹使用的 brkga)。它是一个独特的注册标志字符串,而不是别名 - 重新实现者必须逐字注册拼写错误的名称,否则无法访问此旋钮。

ICI / Collectives — 最大的子系统 (174)

标志默认用途
xla_tpu_debug_sflag_wait_timeout_msintTC sflag-wait 看门狗
xla_tpu_debug_sc_sflag_wait_timeout_msintSparseCore sflag-wait 看门狗
xla_tpu_use_resilient_collective_emitter布尔值故障感知路由表
xla_tpu_collect_sflag_wait_hang_core布尔值挂起归因遥测
xla_tpu_collect_sflag_wait_hang_rate浮子挂机率统计
xla_tpu_force_startup_barrier_in_binomial_all_reduce布尔值启动势垒注入
xla_tpu_binomial_all_reduce_use_physical_core_ids布尔值物理核心 ID 二项式 AR
xla_tpu_all_gather_collective_matmul_mode枚举/字符串集合-matmul AG模式
xla_tpu_all_gather_step_countintAG环步数
xla_tpu_all_reduce_vmem_contingency_kibintAR VMEM 预留
xla_tpu_all_to_all_max_rdma_size_kibintA2A RDMA 块上限
xla_tpu_async_ragged_all_to_all_max_rdma_size_kibint破烂的 A2A RDMA 帽
xla_tpu_add_barriers_around_aggregated_collectives布尔值阻隔包装
xla_tpu_aggressive_opt_barrier_removal布尔值opt-barrier去除
xla_tpu_checksum_all_reduce_transfers布尔值校验和 AR 传输
xla_tpu_1d_uni_direction_ring_min_input_size_chunksint一维环阈值

ICI-SDC 测试工具提供了一个 10 标志子系列:xla_tpu_ici_sdc_test_{iterations, packet_size_chunks, buffer_size_chunks, delay_mask, pipeline_depth, max_distance}(全部为整数)、xla_tpu_ici_sdc_test_{emit_compact_code, run_on_program_start, inject_mismatch_for_testing_only}(布尔值)、xla_tpu_ici_sdc_test_sflag_wait_timeout_ms(整数)。

融合 (101)

标志默认用途
xla_tpu_rwb_fusion布尔值true(errstr补救措施=false)读写缓冲区融合
xla_tpu_dot_dot_fusion布尔值true(errstr补救措施=false)点→点融合
xla_tpu_nested_dot_fusion布尔值false(errstr补救措施=true)嵌套点(PartialReduce)融合
xla_tpu_accumulate_into_mrb布尔值true(errstr补救措施=false)MRB累积融合
xla_tpu_allow_deeply_nested_fusion_numerical_diff布尔值容忍深度融合数字
xla_tpu_allow_input_fusion_in_certain_reduce_ops布尔值减少运算输入融合
xla_tpu_allow_conv_input_fusion_with_downcast_convert布尔值转换输入融合/向下转换
xla_tpu_async_collective_fusion_fuse_multiple_collectives布尔值多集体异步融合
xla_tpu_enable_async_collective_fusion_fuse_all_gather布尔值AG异步集体熔断器
xla_tpu_enable_async_collective_fusion_fuse_all_reduce布尔值AR异步集体熔断器
xla_tpu_copy_fusion_minimum_copy_size_in_bytesint复制融合尺寸地板
xla_tpu_enable_experimental_fusion_cost_model布尔值实验融合成本模型
xla_tpu_fusion_debugger_instrument_inputs布尔值融合调试器输入仪器

MSA/作用域内存 (55)

标志默认用途
xla_tpu_alternate_memory_benefit_scaling_factor_for_large_buffers浮子MSA 效益扩展
xla_tpu_async_copy_bandwidth_scaling_factor浮子异步复制BW模型
xla_tpu_allocate_scoped_vmem_at_same_offsetint范围 VMEM 偏移重用
xla_tpu_allocate_scoped_cmem_at_same_offsetint范围 CMEM 偏移重用
xla_tpu_allow_in_cmem_copy布尔值许可证副本存入 CMEM
xla_tpu_scoped_cmem_for_all_reduce布尔值AR 结果在范围 CMEM 中
xla_tpu_cmem_max_outstanding_prefetchesintCMEM 预取上限
xla_tpu_cmem_max_overlap_to_mem_size_async_copy_ratio浮子CMEM重叠率
xla_tpu_vmem_use_telamalloc布尔值telamalloc VMEM分配器
xla_tpu_scoped_vmem_limit_kibint范围 VMEM 字节限制 (KiB)
xla_tpu_autotune_memory_space_assignment布尔值MSA自动调谐

SparseCore TC端 (50)

标志默认用途
xla_tpu_enable_offloading_gather_to_sparsecore布尔值收集卸载到SC
xla_tpu_enable_offloading_scatter_to_sparsecore布尔值分散卸载到 SC
xla_tpu_enable_offloading_copy_to_sparsecore布尔值复制卸载到 SC
xla_tpu_enable_offloading_reduce_to_sparsecore布尔值减少向 SC 的卸载
xla_tpu_enable_sparse_core_reduce_scatter_v2布尔值false(errstr补救措施=true)SC ND 减少散射 v2
xla_tpu_enable_sc_log_recorder布尔值false(errstr补救措施=true)SC日志记录仪
xla_tpu_enable_async_sc_call布尔值异步SC调用
xla_tpu_embedding_table_oblongness_thresholdint—(errstr 补救措施 =1)嵌入台椭圆度截止
xla_tpu_aggregate_data_dependent_sc_ops布尔值数据相关的 SC 聚合

其他高信号 xla_tpu_ 旋钮

  • 数字: xla_tpu_accurate_{exp, exp2, expm1, log1p, log2, logistic, sigshift}(布尔)、xla_tpu_bf16_emission_mode(枚举)、xla_tpu_auto_reduce_precision(布尔)、xla_tpu_experimental_enable_dynamic_int8_quantization(布尔)。
  • 点/转换: xla_tpu_enable_dot_strength_reductionxla_tpu_enable_ragged_dot_kernelxla_tpu_choose_faster_windowed_einsum_over_mem(均为布尔值)、xla_tpu_impure_contract_ragged_conv_with(字符串)。
  • 布局: xla_tpu_allow_layout_negotiation(布尔)、xla_tpu_enable_large_2nd_minor_layoutxla_tpu_allow_large_2nd_minor_layout_for_{x16, x8, x4}(整数)。
  • 自动分片: xla_tpu_auto_spmd_partitioning_memory_budget_gb (int)、xla_tpu_auto_spmd_partitioning_memory_budget_ratio (float)、xla_tpu_auto_spmd_partitioning_solver_timeout_seconds (int)、xla_tpu_auto_spmd_keep_all_user_shardings (bool)。
  • 成本模型: xla_tpu_emitter_learned_cost_model_options(字符串/原型)、xla_tpu_enable_instruction_cycle_checking(布尔)、xla_tpu_hbm_initial_cycle_penalty(整数)、xla_tpu_impure_cost_model_logging_options(字符串)。
  • 调试/内存: xla_tpu_enable_tile_log_recorder(bool;errstr 补救措施 =true,因此默认为 false)、xla_tpu_impure_oom_fast_exit_threshold(int;errstr 补救措施 =-1 用于详细日志记录)、xla_tpu_always_spill_to_default_memory(bool)。

xla_jf_ — Jellyfish XLA 后端 (148)

jf 代号是 TPU XLA 后端命名空间(跨代共享)。登陆TCE。子系统拆分:misc 63、调试/转储 24、内存/分配 15、融合 10、MSA 9、ICI 8、dot/conv 7、分片 4、调度程序 3、SparseCore 2、成本模型 2、数字 1。

标志默认用途
xla_jf_debug_levelint—(堆栈跟踪的 errstr 补救措施 =2)JF 后端调试详细信息
xla_jf_run_verifier布尔值运行JF HLO验证器
xla_jf_vliw_scheduler布尔值JF VLIW调度引擎
xla_jf_critical_path_scheduler布尔值关键路径调度器
xla_jf_conv_{input,output,reshape}_fusion布尔值卷积融合变体
xla_jf_enable_multi_output_fusion布尔值多输出融合
xla_jf_fusion_max_vmem_mibint融合VMEM天花板(MiB)
xla_jf_conv_{full_precision,increased_precision}布尔值转换精密控制
xla_jf_auto_assign_mxu布尔值自动 MXU 分配
xla_jf_use_cost_based_memory_coloring布尔值基于成本的内存着色
xla_jf_dump_{hlo_text,debug_info,llo_html}布尔值JF 转储变体
xla_jf_dump_isa_program_proto字符串ISA-程序原型转储路径
xla_jf_experimental_{cmem,vmem}_for_hlo_outputs布尔值实验输出放置
xla_jf_spmd_threshold_for_windowed_einsum_mib浮子窗口 einsum SPMD 阈值

xla_(普通)- 通用 XLA / DebugOptions-Backed(121 个注册/138 个名称)

非代号 xla_* 标志。与 TPU 系列不同,它们通过 MakeDebugOptionsFlags @ 0x1e66ce80 绑定到 xla::DebugOptions 字段。子系统分为所有 138 个 xla_*(普通)名称字符串(总和为 138,不是 121 个注册子集):misc 32、ICI 23、调度程序 21、SparseCore 17、内存 15、MSA 14、调试 10、其他 6。

标志默认用途
xla_enable_megacore_hbm_spill布尔值false(errstr补救措施=true,未经测试)启用 megacore HBM 溢出
xla_enable_cross_program_prefetch布尔值跨程序预取门
xla_default_cross_program_prefetch_heuristic布尔值CPP 启发式默认值
xla_enable_async_{all_gather,all_reduce,collective_permute}布尔值异步集体门
xla_enable_async_reduce_scatter_fusion布尔值异步RS融合
xla_{all_gather,all_reduce,all_to_all}_latency_bound_threshold_in_bytes浮子延迟限制阈值
xla_all_gather_combiner_threshold_count浮子AG 组合器阈值
xla_enable_all_gather_{2d,3d}_emitter布尔值三维AG发射器
xla_hlo_scheduling_brkga_{computation_limit,generation_limit}intHLO BRKGA 调度程序调优
xla_latency_hiding_scheduler_rerunintLHS 重新运行计数
xla_hbm_logging_buffer_size_bytesintHBM 日志记录缓冲区大小
xla_enable_post_msa_sync_slice_fusion布尔值MSA后同步片融合
xla_hlo_parse_memory_schedule_from_file字符串外部存储器调度路径

GOTCHA — 经典 XLA 转储/HLO 旋钮(xla_dump_toxla_hlo_profilexla_dump_hlo_as_protoxla_step_marker_locationxla_disable_hlo_passes)显示为 xla.DebugOptions 字段.rodata 字符串,但在此版本中它们注册 absl::Flag 全局变量。将所有 290 个 DebugOptions 字段名称与注册标志集进行直接交叉匹配,准确地找到两个重叠:xla_tpu_detect_nan(DebugOptions 字段 135)和 xla_tpu_detect_inf(字段 136)。每个其他转储/HLO 旋钮只能通过 PJRT CompileOptions.debug_options 原型路径设置,而不能通过 LIBTPU_INIT_ARGS 设置。将 --xla_dump_to= 公开为 libtpu 命令行标志的重新实现者对于此构建是错误的。


SparseCore 和嵌入 — xla_sc_ (92)、barna_core_ (61)

xla_sc_* 是 SparseCore 编译器 LLVM 后端旋钮(位于 TCE 中); barna_core_* 是 BarnaCore 嵌入引擎运行时旋钮(独立)。

xla_sc_ 代表子集

标志用途
xla_sc_enable_instruction_fusion布尔值SC指令融合
xla_sc_enable_latency_hiding_scheduler布尔值SC LHS
xla_sc_enable_scheduler_memory_pressure_tracking布尔值SC内存压力跟踪
xla_sc_enable_tile_overlays / _scs_overlays布尔值SC 瓷砖/SCS 覆盖层
xla_sc_enable_stack_eliding布尔值SC堆叠消音
xla_sc_enable_hbm_optimization_mode布尔值SC HBM优化模式
xla_sc_detect_nan布尔值SC NaN检测
xla_sc_assert_level枚举SC 断言电平
xla_sc_compiler_backtrace_depthintSC回溯深度
xla_sc_elementwise_shape_scaling_factor浮子SC 元素缩放
xla_sc_async_wrapper_fusion_type枚举SC异步包装融合型
xla_sc_dump_{llvm_ir_to,mlir_to,bundles_to}字符串SC IR/MLIR/捆绑转储路径
xla_sc_use_legacy_embeddings_loop_configs布尔值传统嵌入循环配置

barna_core_ 代表子集

标志用途
barna_core_max_hbm_fraction_for_embeddingsint用于嵌入的 HBM 分数上限
barna_core_hbm_savings_threshold_for_optimized_hbm_packing浮子优化包装节省阈值
barna_core_fraction_batches_to_process_locally布尔值本地批处理分数
barna_core_master_partitioner_thread_countint分区器线程计数
barna_core_hot_id_profiler_top_n_multiple浮子hot-id 分析器 top-N 多个
barna_core_enable_software_deduplication布尔值软件重复数据删除
barna_core_enable_software_row_sharding布尔值软件行分片
barna_core_file_operation_timeoutint文件操作超时
barna_core_embedding_common_config_proto_path字符串嵌入配置原型路径
barna_core_partitioner_optimization_objective枚举分区器目标

MSA 命名空间 — xla_msa_ (22)、xla_vf_ (16)、xla_gf_ (14)、xla_ior_ (4)、xla_pf_ (1)、xla_llo_ (1)

专用内存空间分配命名空间。 xla_msa_* 是通用 MSA 选项集; xla_vf_*xla_gf_* 是特定于世代的 VMEM/MSA 覆盖集(vf / gf 代号前缀),携带适用于该世代的相同旋钮名称; xla_ior_* 是 IOR 快速内存往返变体; xla_pf_* 是单个 ND-allreduce 覆盖; xla_llo_* 是单个 LLO 生命周期标志。

xla_msa_ — 完整枚举 (22)

标志用途
xla_msa_enable布尔值MSA主门
xla_msa_max_cross_program_prefetchesintCPP预取上限
xla_msa_max_outstanding_evictionsint驱逐上限
xla_msa_max_outstanding_prefetchesint预取上限
xla_msa_max_repacksint重新包装盖
xla_msa_max_retriesint重试帽
xla_msa_{min,preferred}_overlap_to_async_copy_ratio浮子重叠与异步复制比率
xla_msa_max_overlap_to_mem_size_async_copy_ratio浮子重叠与内存大小比率
xla_msa_enable_cross_program_prefetch_freeing布尔值CPP释放
xla_msa_enable_sync_copy_replacement布尔值同步复制替换
xla_msa_enable_sync_slice_replacement布尔值同步片替换
xla_msa_enable_while_redundant_eviction_elimination布尔值冗余驱逐消除
xla_msa_enable_window_prefetch布尔值窗口预取
xla_msa_cross_program_prefetch_permissive_mode布尔值宽容 CPP 模式
xla_msa_default_cross_program_prefetch_heuristic布尔值CPP 启发式默认值
xla_msa_expanded_scoped_alternate_memory_mode枚举扩展范围-AM模式
xla_msa_use_bundle_aware_cost_model布尔值捆绑感知成本模型
xla_msa_cost_model_options字符串成本模型配置
xla_msa_experimental_ior_algorithm枚举实验IOR算法
xla_msa_experimental_use_telamalloc布尔值实验telamalloc
xla_msa_allocate_scoped_memory_at_same_offset布尔值作用域内存偏移重用

xla_vf_ (16)、xla_gf_ (14)、xla_ior_ (4)、xla_pf_ (1)

xla_gf_vmem_{max_outstanding_evictions, max_repacks, max_retries} (int)、xla_gf_vmem_use_ior_algorithm (enum)、xla_gf_vmem_enable_while_redundant_eviction_elimination (bool) — xla_msa_* 集的特定于世代的 VMEM 镜像; xla_vf_* 带有相同的 vmem_* 旋钮组(16 个名称,包括 xla_vf_allow_replicated_vmem_writesxla_vf_allow_split_vmem)。 xla_ior_{fast_mem_round_trip_production_msa, fast_mem_run_production_msa, stored_solution_path, use_stored_solution} (4) 带有 IOR fast-mem 往返变体。 xla_pf_enable_nd_allreduce (1, bool) 是单独的 xla_pf_* 标志; xla_llo_annotation_lifecycle_strict_mode (1, enum) 是单独的 xla_llo_* 标志。


运行时/驱动程序 — tpu_ (69)、megascale_ (150)、tf_ (20)、xla_mosaic_ (8)

tpu_ — 运行时/编译缓存/驱动程序 (69)

独立运行时标志(不是编译器旋钮)。代表子集:

标志默认用途
tpu_use_tfrt布尔值—(errstr 弃用 =false)使用 TFRT 运行时路径
tpu_compilation_cache_disable_coordination_service布尔值禁用缓存协调
tpu_persistent_compilation_cache_location字符串持久化缓存路径
tpu_persistent_compilation_cache_ttl_secsint缓存TTL
tpu_local_compilation_cache_size_bytesint本地缓存大小
tpu_program_cache_eviction_policy枚举缓存驱逐策略
tpu_program_proto_compression布尔值原始压缩
tpu_link_up_check_timeoutint链路检查超时
tpu_driver_callback_watchdog_timeoutint驱动回调看门狗
tpu_core_dump_directory字符串核心转储目录
tpu_hbm_report_enable布尔值HBM 报告切换
tpu_log_allocations_on_oom布尔值OOM 上的日志分配
tpu_hlo_breakpoint_debugger_server_portintHLO断点调试器端口
DANGEROUS_tpu_runtime_abi_verification_disabled布尔值禁用ABI验证(危险)

注意 — 小写 libtpu_* 标识符(libtpu_init_utilslibtpu_lockfilelibtpu_sdk_*libtpu_telemetry_*libtpu_versionlibtpu_lts_20260413_b_ 构建标记)不是标志 — 它们是 .rodata 中的翻译单元/模块名称字符串。它们被排除在 2107 目录之外。

megascale_ (150) — DCN 集体运行时

顶部旋钮:megascale_num_slices(整数)、megascale_slice_id(整数)、megascale_coordinator_address(字符串)、megascale_transport_type(枚举)、megascale_enable_tpu_premapping(布尔)、megascale_enable_watchdog(布尔)、 megascale_graph_hang_threshold(整数)、megascale_heartbeat_{interval,timeout}_ms(整数)、megascale_error_reporter_abort_on_{error,hang}(布尔)、megascale_use_heartbeat(布尔)、megascale_grpc_num_channels(整数)、megascale_use_mtls_for_grpc(布尔)、megascale_verify_checksums(布尔)、 megascale_use_numa_aware_threadpool(bool;errstr补救=false,所以默认true)。

tf_ (20) 和 xla_mosaic_ (8)

tf_* 是 TensorFlow-TPU 桥标志(tf_jf_* 等)。 xla_mosaic_* 是 Mosaic MLIR 自定义内核方言标志,包括旧版 xla_mosaic_deprecated_allow_implicit_single_buffering


默认值 — 确定性边界

proto3 不包含描述符级默认值,每个标志的默认值位于 xla::DefaultDebugOptions()FLAGS_<name> 静态初始化程序中 - 两者都位于 .text 中,无法从字符串恢复。幸存下来的是一组拼写 --flag=value 子句的帮助/错误字符串。至关重要的是,每个这样的幸存子句都是一个“补救措施”——消息告诉用户在出现问题时设置的值(“同时使用 --flag=false”、“将 =true 设置为启用”)——因此拼写值是“非默认值”,而隐含的实际默认值与其相反。 13标志带有这样的=value补救条款;其余标志的默认值根本不留下任何字符串。

标志补救措施 =value (errstr)隐含默认值
xla_tpu_accumulate_into_mrb布尔值=false(“同时”)正确
xla_tpu_rwb_fusion布尔值=false(回退时恢复)正确
xla_tpu_dot_dot_fusion布尔值=false(如果故障仍然存在)正确
xla_tpu_nested_dot_fusion布尔值=true(“你是不是忘记设置了”)
xla_tpu_scheduling_annotation_deannotate_unsupported_groups布尔值=true(消除间隙)
xla_tpu_enable_tile_log_recorder布尔值=true(启用日志记录)
xla_tpu_enable_sc_log_recorder布尔值=true(启用日志记录)
xla_tpu_enable_sparse_core_reduce_scatter_v2布尔值=true(SC ND RS需要)
xla_tpu_impure_oom_fast_exit_thresholdint=-1(更详细的日志记录)不可字符串恢复
xla_tpu_embedding_table_oblongness_thresholdint=1(避免平铺布局)不可字符串恢复
xla_enable_megacore_hbm_spill布尔值=true(激活,未经测试)
xla_jf_debug_levelint=2(启用堆栈跟踪)不可字符串恢复
megascale_use_numa_aware_threadpool布尔值=false(禁用)正确

明白了 — 这些都不是字节确认的默认值。每个=value都是消息告诉用户设置的值(补救措施),也就是非默认; “隐含默认值”列是布尔值的相反推断,并且对于 int 值旋钮来说确实无法恢复(其中补救措施是特定的调整值,而不是哨兵与默认值翻转)。不要将补救值视为默认值 - 事实恰恰相反。每个标志的权威默认值都需要反汇编 .text 中的 DefaultDebugOptions()FLAGS_* 向量。有时用字节默认值引用的另外四个标志(xla_tpu_allow_deeply_nested_fusion_numerical_diffxla_tpu_enable_offloading_{gather,scatter}_to_sparsecorexla_tpu_fusion_debugger_instrument_inputs)根本不带有 =value 字符串,并且没有可派生的字符串默认值。

对于类型列:以上13种类型均由=value证据进行字节证实;其余的都是从标志名称后缀约定推断(enable_/use_/allow_ ⇒ bool;_ms/_kib/_count/_size/_n ⇒ int;_ratio/_factor/_fraction ⇒ float;_file/_path/_dir/_proto ⇒ 字符串;_mode/_type/_level ⇒ enum)。这是 XLA 自己的注册约定,因此它是可靠的,但不是按标志字节确认的。 _threshold 后缀可以是 int 或 float; _mode/_level 可能是整数枚举或字符串——它们是 HIGH,而不是 CERTAIN


交叉引用

  • xla_* 旗帜图集 - 精心策划的兄弟:分组叙述+每个子系统深入研究〜100个最高信号旋钮(点此处了解标志的作用)
  • 标志系列 — 前缀 → 所有者路由:每个前缀落在哪个原型(DebugOptions、TCE、独立)中,每个系列的实时与惰性判决
  • 调试选项原型xla.DebugOptions 消息(290 个字段,17 个嵌套枚举),2 字段标志接线重叠 (xla_tpu_detect_nan/inf)
  • 默认调试选项 — 每个标志默认处于活动状态(DefaultDebugOptions() + FLAGS_* 静态初始化器在 .text 中)
  • 注册表介导的标志AbslFlagHelpGenFor 注册机制和 MakeDebugOptionsFlags / OverrideTpuCompEnvByCmdLineFlags 绑定位点
  • 标志前缀调度 — 代号系列的 TpuVersion 感知前缀剥离/选择机制
  • 环境变量LIBTPU_INIT_ARGSLIBTPU_ON_GCETPU_LOAD_LIBRARY,解析漏斗进入 absl::ParseCommandLine