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

Long workload name layout fix #269

Merged
merged 15 commits into from
Apr 3, 2023

Conversation

JoseSantosAMD
Copy link
Contributor

No description provided.

jrmadsen and others added 15 commits April 2, 2023 03:26
* initial gui commit with workloads folder

* Insert Workload directory, and Drag/drop works, options/values update correctly

* min points is now a slider and updates on each workload. still doesnt filter

* min points filter, now filters

* points filter works with point selection

* globs workloads in current dir and one level down

* regex filters

* regex filtering works

* changed index tuples in dataframes

* added correct indexing to data

* Remove pycache files

* ignore .pyc files

* format python files

* deleted unnecessary workload files

* remove unused python scripts

* add requirements.txt

* remove unused imports + unnecessary code

* Relocated source files

* support pip installation

* changed layout to handle more data, updated to new json format

* return of smooth lines

* scrollable histogram

* fixed for throughput

* formatting

* miscellaneous fixes

* precalc sorting values for less work in callback

- added compute_sorts to precalculate dataframe sort columns
-renamed columns in compute_speedups to same format as output
-removed sorting algorithms from callback
-fixed func_regex and exp_regex to use func_list and exp_list

* Min/Max sort works

-min/max sort fixed,
-For some reason dataframe is calculated twice...

* Merge with new compute scripts

-create settings if nonexistent
-write current path, and clil flag to settings after argparse
-add new flags from validation script
-use impact avg from validation scripts
-use new classes for calculating throughput/latency/impact
-uses regex from cli for progress points/experiments

* Remove outdated code

-removed unused/commented code
-fixed import errors

* reformatting

* Pasting path in gui fix

-fixed parser default values
-pasting path to workload folder in box fixed to new format

* drag and drop file fix

* Updated python headers + v0.1.0 + fixed --version

- set version to 0.1.0
- moved source/python/gui/VERSION to source/python/gui/source/VERSION
- populated __init__.py with __version__
- populated all python files with author, copyright, license, maintainer, and status
- fixed usage from installation

* formatting

---------

Co-authored-by: JoseSantosAMD <Josantos@amd.com>
* Update workflow paths-ignore

* Fix call-stack histogram + reorder display

- read in call-stack samples and generate bar graph
- reorder display so that call-stack histogram is at bottom
* refresh button

- globally saves workload path given from main
- add refresh button
- re runs parsefile with workload path

* refresh button works with insert path

- refreshes data in workload path
- accepts both directory and file
- if directory only stores first file found for now
- some renaming

* formatting

---------

Co-authored-by: JoseSantosAMD <Jose.Santos@amd.com>
* Added error bars

- from impact stddev

* formatting

- NOTE: a future PR will resolve this PR using the incorrect data for the error bars

---------

Co-authored-by: JoseSantosAMD <Jose.Santos@amd.com>
* Gui can be started with no workload.

- some renaming of functions
- if empty data, empty div is returned

* workloads can be directory also

* filtering errors fix

- fix errors from applying sort/filters when data is empty

---------

Co-authored-by: JoseSantosAMD <Jose.Santos@amd.com>
* Multiple files now read from directory

-Now accepts multiple jsons in directory
-samples error fix
-light mode now an option
-select which file to present data from dropdown
(Does not work with histogram yet)
-workload added to dataframe
-More color options

* Reformat

* Requested Changes

-Uses os.path.basename
-removed data for runs_dict
-default is now sorted by impact
-naming convention consistency fix
-No more filt_kernel_names
-gui console output determined by verbosity

* terminal output if verbosity > 3 or only CLI

* Use Imapct sum instead of avg

-verbosity help menu update
* Multiple files now read from directory

-Now accepts multiple jsons in directory
-samples error fix
-light mode now an option
-select which file to present data from dropdown
(Does not work with histogram yet)
-workload added to dataframe
-More color options

* Reformat

* terminal output if verbosity > 3 or only CLI

* Terminal Verbosity can now change from gui

-Drop down selects verbose level
-1: Shows input from gui on terminal
-2: shows points in data
-3: Used for debugging

-Also fixed path vs directory bug in input path from gui

* multiple verbose modes in terminal set by gui

-multi selection in sort by is removed, kept in workloads
-verbose mode 2 shows data from print_speedup_info
-sort by changed to if/elif
-removed unused fig
-fixed errorbars
-line_stddev now in dataframe

* Reformatting gui labels and filters

- resizing filters
- renamed labels in graphs for consistency
- renamed labels in dataframe for consistency
- moved styling to styling sheets

* Formatting
* Fixes for PR ROCm#260

- Remove duplicate -l / --light argument
- Add missing "multi" dict entries for input filters

* Update RedHat workflow

- ignore changes to source/python/gui/**

* Fixed sizing for drop downs

---------

Co-authored-by: JoseSantosAMD <Jose.Santos@amd.com>
* Fully remove verbosity tab

* parser, gui, main updates

- parser.parse_files returns filenames
- parser.parse_files handles verbosity
- parser.parse_files handles settings
- gui fixes removing verbosity
- improved main
  - call parse_files
  - support recursive glob
  - improved settings support
  - support ~/.omnitrace-causal-plot.json
- added span to show full name
- shortened name to fit dropwdown
- changed layout for added consistency
- refresh button is to the right
- header is more consistent across different width screens
- center div makes turns into multiple lines if not all items fit
- moved find_causal_files to parser so that main and gui can access
- resized refresh width to allow for same shape across different screens
- graphs now have same width

- chart headers start well below the header with filters
@jrmadsen jrmadsen force-pushed the long_workload_name_layout_fix branch from 617e58c to 37dcfa0 Compare April 3, 2023 20:08
@jrmadsen jrmadsen merged commit 0427d2a into ROCm:develop Apr 3, 2023
jrmadsen added a commit that referenced this pull request Apr 12, 2023
* Long workload name layout fix (#269)

* changed layout to fit experiment names

- added span to show full name
- shortened name to fit dropwdown
- changed layout for added consistency

* layout Fixes

- refresh button is to the right
- header is more consistent across different width screens

* header layout update

- center div makes turns into multiple lines if not all items fit

* slight improvement for header/graph spacing

* Fixed refresh button shape and function

- moved find_causal_files to parser so that main and gui can access
- resized refresh width to allow for same shape across different screens

* all graphs now have the same width

- graphs now have same width

- chart headers start well below the header with filters

---------

Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>

* Causal GUI: Linting, synced y-range, remove unused imports/variables, and bug fixes (#274)

* GUI: python linting workflow

- runs flake8 on code in source/python/gui

* GUI: flake8 settings in source/python/gui/setup.cfg

- ignore E501 errors (line too long)
- ignore W503 errors (line break before binary operator)

* GUI: setup.py updates

- remove unused imports

* GUI: __main__.py updates

- stddev is float value
- remove unused imports
- effectively propagate the --stddev argument

* GUI: gui.py updates

- remove unused imports
- fix light mode
- sync initial y range of all causal plots
- fix error bars for causal data
- set x-ticks to 5
- set y-ticks to 10
- only display top 99% of samples
- separate global declarations and assignments to global values
- remove unused variable assignments
- fix mislabeled function_regex and exp_regex
- change if X == False to if not X

* GUI: header.py updates

- remove unused imports
- fix mislabeled function_regex and exp_regex

* GUI: parser.py updates

- add set_num_stddev function for manipulating global num_stddev value
- remove unused variables
- fix latency point object (duplicated __init__ function)
- fix handling latency in JSON
- fix formatting of validation format error message
- replace if X == False with if not X
- fix unused dataframe creation in add_latency
- fix flake8 do not assign lambda for name_wo_ext (use def)

* GUI: gui.py updates

- replace misnamed "func_list" with "experiment_list"
- replace misnamed "exp_list" with "progpt_list"

* GUI: fix python workflow

- quote python versions to avoid truncating 3.10 to 3.1

---------

Co-authored-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>
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.

None yet

2 participants