Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better metric dependency resolution and reuse #176

Open
coleramos425 opened this issue Aug 25, 2023 · 0 comments
Open

Better metric dependency resolution and reuse #176

coleramos425 opened this issue Aug 25, 2023 · 0 comments
Labels
Omniperf Revamp Ticket related to the redesign of Omniperf
Milestone

Comments

@coleramos425
Copy link
Collaborator

Describe the suggestion

Better metric dependency resolution and reuse

Justification

Enable re-use of intermediate computations and metrics to avoid code-duplication / copy-paste errors.
For example when looking at the PoP for VALU FLOPs, we:

  1. Compute the FLOPs
  2. Compute the Peak
  3. Recompute the FLOPs and the Peak to find the % of Peak

Other examples would be things like continually recomputing duration, GRBM_GUI_ACTIVE * $numCU, etc., etc.

If we had a more flexible evaluator, we could also theoretically let a user ask for just a specific metric, or group of metrics (and break the "ask for SQ on profile", "ask for section x.y on analyze" chain)

Implementation

Less clear what the best way to do this short of a full AST with dependency resolution would be.
In the short term, we could move more values to the list of builtin vars: https://github.com/AMDResearch/omniperf/blob/ed31b8a988b0fde6a5e11bc949417c82c6db1abc/src/omniperf_analyze/utils/parser.py#L77

Additional Notes

May not be as important if we can pre-compile metrics

Originally posted by @arghdos in #153 (comment)

@coleramos425 coleramos425 added the Omniperf Revamp Ticket related to the redesign of Omniperf label Aug 25, 2023
@coleramos425 coleramos425 modified the milestone: v1.3.0 Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Omniperf Revamp Ticket related to the redesign of Omniperf
Projects
None yet
Development

No branches or pull requests

1 participant