PyTorch 深度实践(07):编译执行与图优化
Compilation and Graph Optimization in PyTorch
前两篇讨论的是单个算子:第五篇解释一次 torch.add 调用如何经过入口、分发、执行;第六篇把一个自定义算子接入了同样的路径。无论原生还是自定义,每个算子都是独立走完这条路的。
这一篇把视角从单个算子拉远到一段程序。当我们写下:
def f(x, weight, bias):
y = x @ weight + bias
if x.shape[0] > 64:
return torch.relu(y)
return torch.tanh(y)
compiled_f = torch.compile(f)
torch.compile 到底做了什么?1 它不是把 Python 翻译成 CUDA——这个说法既不准确,...