mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Add provenance to inductor IR nodes created after graph.run (#164255)
Summary: as title - Some IR nodes are created during `finalize_multi_template_buffers()` in Scheduler. This PR adds provenance (`origin_node` and `origins`) for those nodes. - Extract `assign_origin_node` function Differential Revision: D82871244 Pull Request resolved: https://github.com/pytorch/pytorch/pull/164255 Approved by: https://github.com/mlazos
This commit is contained in:
committed by
PyTorch MergeBot
parent
0319556a35
commit
b9e73e639e
@ -50,6 +50,7 @@ from .dependencies import Dep, MemoryDep, StarDep, WeakDep
|
||||
from .exc import GPUTooOldForTriton, TritonMissing
|
||||
from .fx_utils import count_flops_fx
|
||||
from .ir import (
|
||||
assign_origin_node,
|
||||
get_device_type,
|
||||
GraphPartitionSignature,
|
||||
MultiOutput,
|
||||
@ -3163,12 +3164,16 @@ class Scheduler:
|
||||
node.node.finalize_as_triton_caller(min_node_unfused)
|
||||
continue
|
||||
|
||||
out_tensorbox = min_node_unfused.output_node()
|
||||
with ir.IRNode.current_origins(multi_node.origins):
|
||||
out_tensorbox = min_node_unfused.output_node()
|
||||
out_storage = out_tensorbox.data # type: ignore[union-attr]
|
||||
assert isinstance(out_storage, ir.StorageBox)
|
||||
out_buffer = out_storage.data
|
||||
assert isinstance(out_buffer, ir.OperationBuffer)
|
||||
|
||||
if multi_node.origin_node:
|
||||
assign_origin_node(out_tensorbox, multi_node.origin_node)
|
||||
|
||||
out_buffer.layout = multi_node.layout
|
||||
replace_operation_buffer(multi_node, out_buffer)
|
||||
new_scheduler_node = self.create_scheduler_node(out_buffer)
|
||||
|
Reference in New Issue
Block a user