Skip to content

Fix: Resolve plots directory path inconsistency in GenAI-perf - #421

Open
Rythsman wants to merge 2 commits into
triton-inference-server:mainfrom
Rythsman:fix_generate-plots_bug
Open

Fix: Resolve plots directory path inconsistency in GenAI-perf#421
Rythsman wants to merge 2 commits into
triton-inference-server:mainfrom
Rythsman:fix_generate-plots_bug

Conversation

@Rythsman

Copy link
Copy Markdown

When using model names with special characters (e.g., paths with slashes), GenAI-perf creates sanitized artifact directory names but the plots generation fails due to path mismatches between profile() and create_plots() methods.

  • Fixed create_plots() to use the same PerfAnalyzerConfig path logic as profile()
  • Ensured plots directory is created under the correct sanitized artifact directory
  • Added proper path resolution for profile_export_file in plots configuration

This resolves the "No such file or directory: 'artifacts/plots/config.yaml'" error fundamentally.

@Rythsman

Copy link
Copy Markdown
Author

@nv-hwoo @dyastremsky @matthewkotila Can you help review this?

@ExplorerRay

Copy link
Copy Markdown

I also noticed this issue. Current code only needs to create plot config one time, but your code will cause configs to be generated several times. I am not sure whether this is good.

Rythsman and others added 2 commits August 13, 2025 12:48
When using model names with special characters (e.g., paths with slashes),
GenAI-perf creates sanitized artifact directory names but the plots generation
fails due to path mismatches between profile() and create_plots() methods.

- Fixed create_plots() to use the same PerfAnalyzerConfig path logic as profile()
- Ensured plots directory is created under the correct sanitized artifact directory
- Added proper path resolution for profile_export_file in plots configuration

This resolves the "No such file or directory: 'artifacts/plots/config.yaml'"
error fundamentally.
…ingle-run behavior

- Cache objectives, GenAIPerfConfig, and PerfAnalyzerConfig in Profile.__init__ to keep a consistent run context across profiling and plotting
- Update profile() to reuse cached configs instead of reconstructing them
- Use PerfAnalyzerConfig.get_artifact_directory() and get_profile_export_file() in create_plots()
  to avoid global output paths that caused repeated handling across runs
- Improves determinism and prevents unintended multi-run plot generation
- Refs TMA-1911

Signed-off-by: Rythsman <ryhs2018@gmail.com>
@Rythsman
Rythsman force-pushed the fix_generate-plots_bug branch from a3e3221 to 40dd643 Compare August 13, 2025 04:48
@Rythsman

Copy link
Copy Markdown
Author

I also noticed this issue. Current code only needs to create plot config one time, but your code will cause configs to be generated several times. I am not sure whether this is good.

@ExplorerRay i see, i have modified to make create plot config only one time

@Rythsman

Copy link
Copy Markdown
Author

@nv-hwoo @dyastremsky @matthewkotila Can anyone help review this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants