agentsclimarketplace

Nvidia tensorrt llm ad graph dump

Skill autohandai/community-skills/nvidia-tensorrt-llm-ad-graph-dump

'Enable and interpret TensorRT-LLM AutoDeploy FX graph text dumps via AD_DUMP_GRAPHS_DIR. Use when you need before/after graphs per transform, to locate subgraphs, or to confirm a rewrite ran. Paths and behavior are grounded in tensorrt_llm/_torch/auto_deploy (GraphWriter, BaseTransform). Complements ad-add-fusion-transformation.From its SKILL.md

Install
npx -y skills add autohandai/community-skills --skill nvidia-tensorrt-llm-ad-graph-dump

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

5.2 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

AutoDeploy: Graph dumps (AD_DUMP_GRAPHS_DIR)

Where this skill applies

This file is part of trtllm-agent-toolkit. Commands and paths such as examples/auto_deploy/ and tensorrt_llm/ are relative to a TensorRT-LLM source checkout, not the plugin repository.

When to use this skill

  • You need to see how the FX graph changes after each registered transform runs.
  • You are verifying that a subgraph exists, that a fusion matched, or that metadata / wrappers (getitem, view, reshape) appeared or disappeared between dumps.
  • You are pairing log output with on-disk graph files while debugging AutoDeploy.

Related skills in this plugin

SkillUse it for
ad-layer-visualizerExtracting and visualizing a single decoder layer from a dump as a DOT/PNG diagram.
ad-add-fusion-transformationImplementing or reviewing fusion passes once you know what the graphs show.
trtllm-codebase-explorationSearching the TRT-LLM tree for transforms, custom ops, and patterns.
trtllm-code-contributionTests and contribution hygiene after you change TRT-LLM.

Environment variable

Set:

export AD_DUMP_GRAPHS_DIR=/path/to/output/dir

Implementation: GraphWriter.DUMP_GRAPHS_ENV == "AD_DUMP_GRAPHS_DIR" in tensorrt_llm/_torch/auto_deploy/utils/graph_writer.py.

If unset, no graph files are written.

When dumps are produced

After each transform application, BaseTransform calls graph_writer.dump_graph(mod, t_name, self.config.stage.value) from tensorrt_llm/_torch/auto_deploy/transform/interface.py (immediately after _visualize_graph). So the dump reflects the module after that transform has run.

Rank / process behavior

From GraphWriter.dump_graph:

  • Dumps run only when AD_DUMP_GRAPHS_DIR is set.
  • If ADLogger.rank is set and is not 0, dumping is skipped (non–rank-0 processes do not write files).

Directory lifecycle

On the first dump on rank 0, GraphWriter removes the target directory if it already exists, then recreates it. Do not point AD_DUMP_GRAPHS_DIR at a directory that must be preserved without copying it first.

File naming and ordering

Files are named:

{NNN}_{<stage.value>}_{<transform_key>}.txt
  • NNN is a monotonically increasing three-digit counter (001, 002, …) in run order across all dumps in that process.
  • The middle segment is each transform’s config.stage value (same enum/string used in default.yaml under each transform’s stage: field).
  • The last segment is the transform’s registry key (transform_name passed into dump_graph).

So lexicographic sort by filename matches pipeline order for that run.

File contents

Each file is text and starts with headers similar to:

# Transform: <transform_key>
# Stage: <stage.value>
# GraphModules found: <count>

Then, for every torch.fx.GraphModule found under mod.named_modules() (including the root), the writer emits a section title and an SSA-style listing with shape/dtype metadata via dump_ssa_with_meta() in the same module.

Use this to compare operator chains, consumers, and node.meta shape/dtype hints across consecutive files.

Example: capture dumps from a registry build

From the root of the TensorRT-LLM clone (adjust the script and flags to your workflow):

AD_DUMP_GRAPHS_DIR=/tmp/ad-graphs \
  python examples/auto_deploy/build_and_run_ad.py --model <hf-model-id> --use-registry

Pick any AutoDeploy entrypoint you already use; the requirement is only that the code path runs the transform pipeline with AD_DUMP_GRAPHS_DIR set in the environment.

Logs vs dump files

While a transform runs, logging is patched so messages can be prefixed with [stage=<stage.value>, transform=<transform_key>] (see with_transform_logging in transform/interface.py). Transform summaries log [SUMMARY] with matches=<n> or skipped / disabled (_log_transform_summary). Use those lines together with the numbered dump files to tie match counts to graph shape before and after a specific transform.

Pitfalls

  • Stale directory: Because the dump dir is deleted on first use, a second run in the same shell without changing AD_DUMP_GRAPHS_DIR overwrites prior output.
  • No GraphModules: If the module has no GraphModule children, dump_graph returns without creating a new file for that step (see early return in graph_writer.py).
  • Distributed: Only rank 0 writes; other ranks skip silently.

Source references

  • tensorrt_llm/_torch/auto_deploy/utils/graph_writer.py — env var, filenames, SSA dump.
  • tensorrt_llm/_torch/auto_deploy/transform/interface.py — call site after each transform; log prefix decorator.

What ships with it: 1 file

11.9 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,422. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.