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

Instr mix min max avg #158

Merged
merged 35 commits into from
Aug 15, 2023
Merged

Conversation

JoseSantosAMD
Copy link
Contributor

@JoseSantosAMD JoseSantosAMD commented Aug 7, 2023

Adding min/max/avg breakdown across dispatches for instruction mix panels. Closes #154

JoseSantosAMD and others added 29 commits August 7, 2023 11:23
…nels

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
-  Table 10: Units were output as "$normUnit" now they are instr + normUnit

-  Table 16: Changed to Req per $normUnit

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Capitalizing for consistency

Signed-off-by: Cole Ramos <colramos@amd.com>
Capitalizing for consistency

Signed-off-by: Cole Ramos <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
@coleramos425 coleramos425 changed the base branch from main to dev August 9, 2023 20:56
JoseSantosAMD and others added 3 commits August 10, 2023 15:09
…nels

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>
Signed-off-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>
@coleramos425
Copy link
Collaborator

You'll need to test your changes with all available option combos. My initial sanity check broke your code with

$ ./src/omniperf analyze -p workloads/mix/mi200/ --gui -k 0
--------
Analyze
--------

Dash is running on http://0.0.0.0:8050/

 * Serving Flask app 'omniperf_analyze.omniperf_analyze'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:8050
 * Running on http://10.228.33.182:8050
Press CTRL+C to quit
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET /assets/default.css?m=1685484425.0004442 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET /assets/fonts.css?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET /assets/magnific-popup.css?m=1685484425.0164435 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET /assets/layout.css?m=1685484425.0164435 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET /assets/media-queries.css?m=1685484425.0164435 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET /assets/font-awesome/css/font-awesome.css?m=1685484425.0004442 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET /assets/font-awesome/css/font-awesome.min.css?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:16] "GET /assets/font-awesome/scss/_bordered-pulled.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_core.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_list.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_icons.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_larger.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_fixed-width.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_mixins.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_path.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_spinning.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_rotated-flipped.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_stacked.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/font-awesome.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/font-awesome/scss/_variables.scss?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/fontello/css/animation.css?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/fontello/css/fontello-ie7-codes.css?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/fontello/css/fontello-embedded.css?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/fontello/css/fontello-codes.css?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/fontello/css/fontello-ie7.css?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:17] "GET /assets/fontello/css/fontello.css?m=1685484425.004444 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /assets/fontello/css/fontello.css HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /assets/fonts.css HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /assets/font-awesome/css/font-awesome.min.css HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/deps/polyfill@7.v2_6_2m1666701114.12.1.min.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/deps/react@16.v2_6_2m1666701114.14.0.min.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/deps/react-dom@16.v2_6_2m1666701114.14.0.min.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /assets/fonts/opensans/OpenSans-Regular-webfont.woff HTTP/1.1" 304 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/deps/prop-types@15.v2_6_2m1666701114.8.1.min.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash_bootstrap_components/_components/dash_bootstrap_components.v1_2_1m1666701151.min.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash_svg/dash_svg.v0_0_8m1666701166.min.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_6_2m1666701114.min.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/dcc/dash_core_components.v2_6_2m1666701114.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/dcc/dash_core_components-shared.v2_6_2m1666701114.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/html/dash_html_components.v2_0_5m1666701114.min.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:18] "GET /_dash-component-suites/dash/dash_table/bundle.v5_1_6m1666701114.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:19] "GET /_dash-layout HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:19] "GET /_dash-dependencies HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:19] "GET /_favicon.ico?v=2.6.2 HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:19] "GET /assets/fontello/font/fontello.woff?13439518 HTTP/1.1" 304 -
127.0.0.1 - - [11/Aug/2023 12:45:19] "GET /assets/fonts/opensans/OpenSans-Bold-webfont.woff HTTP/1.1" 304 -
127.0.0.1 - - [11/Aug/2023 12:45:19] "GET /_dash-component-suites/dash/dcc/async-dropdown.js HTTP/1.1" 200 -
127.0.0.1 - - [11/Aug/2023 12:45:19] "GET /images/header-background.jpg HTTP/1.1" 200 -
Path:  /home/colramos/GitHub/omniperf-pub/workloads/mix/mi200
Exception on /_dash-update-component [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/pandas/core/indexes/base.py", line 3803, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas/_libs/index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 165, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 5745, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 5753, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'Count'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 2525, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1820, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/usr/local/lib/python3.8/dist-packages/dash/dash.py", line 1261, in dispatch
    ctx.run(
  File "/usr/local/lib/python3.8/dist-packages/dash/_callback.py", line 440, in add_context
    output_value = func(*func_args, **func_kwargs)  # %% callback invoked %%
  File "/home/colramos/GitHub/omniperf-pub/src/omniperf_analyze/utils/gui.py", line 527, in generate_from_filter
    d_figs = build_bar_chart(display_df, table_config, norm_filt)
  File "/home/colramos/GitHub/omniperf-pub/src/omniperf_analyze/utils/gui.py", line 158, in build_bar_chart
    x.astype(int) if x != "" else int(0) for x in display_df["Count"]
  File "/usr/local/lib/python3.8/dist-packages/pandas/core/frame.py", line 3804, in __getitem__
    indexer = self.columns.get_loc(key)
  File "/usr/local/lib/python3.8/dist-packages/pandas/core/indexes/base.py", line 3805, in get_loc
    raise KeyError(key) from err
KeyError: 'Count'

The GUI still expects Instruction Mix to have a "Count" column.

@coleramos425
Copy link
Collaborator

coleramos425 commented Aug 11, 2023

Additionally, let's consider if the Grafana dashboard will need edits as well. If so, we'll need to copy latest .json and add those changes in the PR

You can use this dashboard for changes:
http://pavii1:14000/d/MIPerf_v1_0_0630202211210/omniperf_v1-0-8_pub-jose-pr158?orgId=1

JoseSantosAMD and others added 2 commits August 11, 2023 15:46
-  gui now runs on archconfigs from sys_info

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: josantos <josantos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
@coleramos425 coleramos425 merged commit 6f6bca1 into ROCm:dev Aug 15, 2023
9 checks passed
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.

3 participants