mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2025-12-22 05:45:01 +08:00
22 lines
758 B
Python
22 lines
758 B
Python
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
from torch import fx
|
|
|
|
from vllm.compilation.vllm_inductor_pass import VllmInductorPass
|
|
|
|
|
|
class PostCleanupPass(VllmInductorPass):
|
|
"""
|
|
This pass performs cleanup after custom passes.
|
|
It topologically sorts the graph and removes unused nodes.
|
|
This is needed because the pattern matcher does not guarantee producing
|
|
a topologically sorted graph, and there may be unused nodes left around.
|
|
"""
|
|
|
|
@VllmInductorPass.time_and_log
|
|
def __call__(self, graph: fx.Graph) -> None:
|
|
from torch._inductor.pattern_matcher import stable_topological_sort
|
|
|
|
stable_topological_sort(graph)
|
|
graph.eliminate_dead_code()
|