快捷方式

torch.compiler.config

这是编译器的顶级配置模块,包含影响编译器堆栈所有部分的跨领域配置选项。

您可能还对每个组件的配置模块感兴趣,其中包含仅影响编译器特定部分的配置选项

  • torch._dynamo.config

  • torch._inductor.config

  • torch._functorch.config

  • torch.fx.experimental.config

torch.compiler.config.job_id: Optional[str] = None

从语义上讲,这应该是一个唯一标识符,例如,标识一个训练作业。您可能对同一作业有多次尝试,例如,如果作业被抢占或需要重新启动,但每次尝试都应运行基本相同的工作负载和相同的分布式拓扑。您可以通过环境变量 TORCH_COMPILE_JOB_ID 设置此项。

从操作上讲,这控制着与配置文件引导优化相关的持久状态的效果。PGO 状态会影响我们在 PyTorch 的多次调用中执行编译的方式,例如,您第一次运行程序时,当我们发现哪些输入是动态的时,我们可能会编译两次,然后 PGO 将保存此状态,以便后续调用只需编译一次,因为它们记住它是动态的。但是,此配置文件信息对您正在运行的工作负载很敏感,因此我们要求您告诉我们两个作业是相关的(即,是相同的工作负载),然后我们才愿意重用此信息。值得注意的是,除非有有效的 job_id 可用,否则 PGO 不会执行任何操作(即使显式启用)。在某些情况下,PyTorch 可以配置为根据其运行环境自动计算 job_id

配置文件始终按秩收集,因此不同的秩可能具有不同的配置文件。如果您知道您的工作负载确实是 SPMD,则可以使用 torch._dynamo.config.enable_compiler_collectives 运行,以确保节点在所有秩之间获得一致的配置文件。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源