* 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>
* Testing and CI support for Ubuntu 22.04
* Fixes for ROCm
- Jammy does not have ROCm installers
* Name, timeout, and python updates
- renamed ubuntu-jammy-external.yml to ubuntu-jammy.yml
- increased all 5 minute timeouts to 10 minutes
- include python 3.10 in testing
* Update dyninst to remove interposed definition of _r_debug
* Rebuild Dyninst + test install script
* Revert container change
* git safe directory
* pushd -> cd
* fix MPI include
* Fix testing step
* OMPI_ALLOW_RUN_AS_ROOT
* Test script changes
* Fix mismatched malloc / delete[]
* Jammy workflow tweaks
* CPack tweak for boost deb deps
* pthread_mutex_gotcha config returns when not enabled
* fix echoing config in CI
* USE_CLANG_OMP
- option to disable using LLVM OpenMP when building OpenMP test executables
- Jammy workflow sets USE_CLANG_OMP=OFF
* Dyninst submodule boost download
- updated containers workflow to include jammy
- updated workflow to use ci
* Updates to workflows + replace test-install.sh
- test-install.sh in this branch was replaced with one in main branch
* Expand jammy test-install.sh args
* Fix openmp-cg-sampling-duration test
* update timemory submodule
- use-after-free violation in popen::pclose
* revert some tweaks to sampling-duration test
* Fix env of test-install.sh
* cmake format
* jammy bash
* CPack install for jammy
* formatting workflow action version bump
* Update timemory submodule
- libunwind submodule via timemory sets SOVERSION to 99 to avoid ABI conflicts with v8
* Fix help menu for omnitrace-sample
* Support other boolean forms in test-install.sh
* Update docker files and build-docker.sh
- consolidated cases in build-docker.sh
- support rocm version of 0.0 (no rocm install)
- support rocm v5.3
- updated centos handling
* update opensuse actions/checkout version
* Tweaks to ubuntu-focal testing
- actions/checkout@v3
- use test-install script
* update cpack
- ubuntu 22.04
- rocm 5.3
- rename os matrix field to os-version
- remove CI_ROCM_VERSION (no longer necessary)
- remove default-rocm-version matrix field (no longer necessary)
- CentOS packaging
* fix argparsing and omnitrace-sample tests in install-tests.sh
* focal rocm test install workflow fix
* Fix omnitrace-sample build
* Dockerfile.centos + build-docker.sh updates
* Update actions/upload-artifact version
* Dockerfile.ubuntu: install rocm-device-libs
* Refactor cpack
* fix cpack if quotes
* Dockerfile.ubuntu rocm < 5 installs rocm-dev
* build-release.sh defaults to boost version 1.79.0
* Initial support for GPU hardware counters
* Update find modules for roctracer and rocprofiler
- /opt/rocm/{rocprofiler,roctracer} path is deprecated so tweak search procedure
* Improve ConfigCPack for MPI
* Update rocprofiler
- rocm_metrics()
- minor cleanup
* Update rocm find modules
* declare rocm_metrics + call in omnitrace-avail
* relocate omnitrace-launch-compiler
* REALPATH and find_modules
* Examples cmake (may drop)
* omnitrace-avail
- hw_counter categories
- init rocm
* setenv updates for rocprofiler in library.cpp and dl.cpp
* get_rocm_events config
* gpu::hip_device_count()
* rocm_metrics returns hardware_counters::info
* - relocated library/components/roctracer_callbacks.* to library/roctracer.*
- relocated library/components/rocprofiler.* to library/rocprofiler.*
- cleaned up rocprofiler.hpp
- added perfetto output of rocprofiler
- added timemory output of rocprofiler
- renamed omni.roctracer thread to roctracer.hip
- added roctracer.hsa thread name
- updated timemory submodule to support std::variant
- updated timemory submodule to support = in config value
- updated timemory submodule to support standalone storage
- updated timemory submodule to support new hw counter apis
- updated timemory submodule to prevent label/description caching in data_tracker
* update omnitrace-avail info_type generation
* Update timemory submodule
* rocprofiler component
* cmake formatting
* omnitrace-avail handle no GPUs
- Add -c command-line option for --categories
- support verbosity
* hsa_rsrc_factory throws exceptions
- throw exceptions to avoid aborting on HSA_STATUS_ERROR_NOT_INITIALIZED when advantageous
- removed duplicate specialization of is_available for component::rocprofiler
* rocprofiler symbols for when disabled
* Fix warning in omnitrace-avail
- std::stringstream from initializer list would use explicit constructor
* Fix finalization after settings are deleted
* Reorganized rocprofiler source
* Updated formatting
* Miscellaneous tweaks
- added using statements from timemory
- tweaked the main and thread bundle names
- fixed timemory header includes
* Use concurrency + remove cancelling
* Combined ubuntu-focal-external with ubuntu-focal-external-rocm
* Update workflow names and README
* Update ubuntu-focal name
* More tweaks to the name
* Change names in formatting workflow
* adding perfetto-validation-script
* Rename validation script
* Update tests/validate_perfetto.py
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
* Update tests/validate_perfetto.py
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
* Update tests/validate_perfetto.py
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
* Update tests/validate_perfetto.py
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
* addressed the edits in the validation script
* addressed the edits in the validation script
* Perfetto validation script (#1)
* Fixed mismatch message in validate-timemory-json
* validate_perfetto.py -> validate-perfetto-proto.py
* Add python-source-validate-perfetto
- python-source-validate-perfetto uses validate-python-proto.py to validate perfetto output
- renamed python-source-check test to python-source-validate timemory
* Moved python-source-validate tests outside of cat command if block
- these tests don't rely on OMNITRACE_CAT_COMMAND
* CMake/CTest OMNITRACE_ADD_PYTHON_VALIDATION_TEST function
- generalized function for performing validation test with validate-{timemory-json,perfetto-proto}.py scripts
* Print perfetto validation
* Install perfetto python package in workflows
* cmake format
* Python formatting
* Python formatting CI
* Install perfetto python package in workflows
* Install dataclasses for perfetto in opensuse
* Install dataclasses for perfetto in ubuntu
- uninstalled dependency for perfetto in Python 3.6
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
* Continuous integration
* linux-ci on
* fix for parallel-overhead
* Updated CMAKE_INSTALL_PREFIX
* Updated installed boost libraries
* Dyninst updates fixing TBB install
* timemory + dyninst submodule updates
- fixes some timemory package option handling
- fixes dyninst libiberty handling
* Update dyninst submodule with libiberty fix
* dyninst submodule update with TBB internal build fixes
* Updated linux-ci + tests + timemeory + dyninst
- updated timemory submodule
- update dyninst submodule
- delay OnLoad implementation
- DYNINST_RT_API handling improvement
- CI for ubuntu-bionic in addition to focal
- CTest in CI
* Update TBB handling in CI
* Update dyninst with symLite fix
* Update dyninst submodule with ElfUtils-External fix
* Dyninst::ElfUtils fix
* Modified dyninst submodule TPL install
* Update dyninst submodule with improved interface libraries
* Fix to Dyninst::ElfUtils in dyninst submodule
* Updated CI build matrix + test install
* Updated CI
* CI stage updates
* Tweak
* Dyninst updates + RPATH for hosttrace exe
- hosttrace will rpath to dyninst
- Dyninst will statically link to boost by default
- Fixes to double init w/ MPI + runtime instrumentation
- minor cleanup to hosttrace
- hosttrace help exits with zero
- CI updates
* Dyninst + CI updates
* Removed ELFUTILS_BUILD_STATIC option in Dyninst
* Dyninst + visibility + roctracer + tests
- Dyninst submodule updates with dynamic pcontrol lib
- hosttrace visibility is hidden
- improved handling of DYNINST_API_RT in hosttrace
- roctracer::tear_down in finalize fixes issues with timemory
- throw error if cannot create perfetto output file
- roctracer_default_pool() safety guards
- resume calling roctracer_close_pool()
- fixed working dir of tests
- fixed env of tests (cmake and CI)
- simplified CI
* Removed stray CI if condition
* Disable hidden visibility for now
* ifdef for roctracer::tear_down + reenable hidden
* Better CI environment handling + dyninst packaging
* Fix for dyninst-package CI
* Fixes for cmake 3.15 issues with aliasing imported lib
* Fix to ubuntu-focal-dyninst-package
* Dyninst updates for packaging
- fixes issues with hard-coded paths to libraries after relocation via package installer
* Restrict CI to main and develop branches