Skip to content

gpl: debug fix#9844

Open
gudeh wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
gudeh:gpl-reorganize-debug
Open

gpl: debug fix#9844
gudeh wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
gudeh:gpl-reorganize-debug

Conversation

@gudeh
Copy link
Contributor

@gudeh gudeh commented Mar 19, 2026

Only show GUI toggle for GPL debug instances drawings if GPL debug mode is active.
Some other reorganization for debug mode and GPL charts.

@gudeh gudeh requested a review from maliberty March 19, 2026 19:40
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the graphics initialization and update logic within the GPL module. Key changes include extracting chart initialization into a dedicated initCharts() method, making the routing_chart_ conditional on routability_driven_mode, and renaming initHeatmap() to initDebugHeatmap(). Debug-specific graphics setup, such as adding display controls and instance selection, is now explicitly gated by a debug_on_ flag and the presence of a debug_inst parameter. Additionally, the updateIterGraphics function was refined to ensure iteration data is always added if graphics are available, while more resource-intensive debug updates are strictly controlled by the npVars_.debug flag.

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

density_chart_->setXAxisFormat("%d");
density_chart_->setYAxisFormats({"%.2e", "%.2f"});
density_chart_->setYAxisMin({0.0, nbc_->getNbVars().minPhiCoef});
initCharts();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be conditional on debugging?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I chose it not to be. Do you think it should? Either way, when we do make gui_... we do not see the GPL charts. Currently it only works if we run GPL itself with gui active (for example running an run-me artifact).

I realized the main chart was being created twice, I fixed that on the last commit.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you with the gui active but no debug enabled you shouldn't see the chart (which will be empty afaik).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so having the debug fence for initCharts() should only make a difference when running the artifact. As it is currently we can execute the run-me and get the charts without requiring the debug command. Do you think it should be initialized only when in debug mode?

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

1 similar comment
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

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