Jonathan R. Madsen
8f9dcffae4
Update containers workflow ( #182 )
...
* Bump version to 1.7.2
* Update containers workflow
[ROCm/rocprofiler-systems commit: 5bb7359b81 ]
2022-10-21 06:21:00 -05:00
Jonathan R. Madsen
0ec0d18ac8
Trace thread config + paranoid level + preload ( #176 )
...
- OMNITRACE_TRACE_THREAD_BARRIERS config option
- set to OFF to disable wrapping `pthread_barrier`
- OMNITRACE_TRACE_THREAD_JOIN config option
- set to OFF to disable wrapping `pthread_join`
- allow PAPI with perf_event_paranoid at level 2
- default to no PAPI events
- setenv LD_PRELOAD to not include libomnitrace after preload
- closes #175
- bump version to 1.7.1
[ROCm/rocprofiler-systems commit: a3439d5bf2 ]
2022-10-06 19:11:08 -05:00
Jonathan R. Madsen
f8bdb3c325
Bump version to 1.7.0 ( #162 )
...
[ROCm/rocprofiler-systems commit: e671a6975a ]
2022-09-13 23:05:26 -05:00
Jonathan R. Madsen
3e69264431
GOTCHA wrappers for NUMA functions ( #152 )
...
- GOTCHA wrappers for:
- mbind
- migrate_pages
- move_pages
- numa_migrate_pages
- numa_move_pages
- numa_alloc
- numa_alloc_local
- numa_alloc_interleaved
- numa_alloc_onnode
- numa_realloc
- numa_free
- bumped version to 1.6.0
- updated categories
- hardware_counters -> kernel_hardware_counters and
thread_hardware_counters
- simplified mapping category structs to perfetto category names
- updated timemory submodule
[ROCm/rocprofiler-systems commit: 64afa49193 ]
2022-09-12 17:44:27 -05:00
Jonathan R. Madsen
cbdc7cad4b
bump-version ( #141 )
...
[ROCm/rocprofiler-systems commit: c2d6589b93 ]
2022-08-31 01:26:49 -05:00
Jonathan R. Madsen
512ce089ef
Enable TRACE_THREAD_RW_LOCKS and TRACE_THREAD_SPIN_LOCKS by default ( #136 )
...
* Enable OMNITRACE_TRACE_THREAD_{RW,SPIN}_LOCKS by default
- updates timemory submodule with updated GOTCHA submodule
- fix to GOTCHA library which defaults to not wrapping dlopen and dlsym prevents deadlock
* Bump version to 1.4.0
[ROCm/rocprofiler-systems commit: 040da3fc6a ]
2022-08-08 15:28:01 -05:00
Jonathan R. Madsen
81ec4f3fee
ROCm environment fixes + workflow updates ( #117 )
...
* Improve dlopen of ROCm libraries + rocprofiler test
- Use PROJECT_BINARY_DIR in tests
- Added rocprofiler test
* Revert OMNITRACE_FORCE_ROCPROFILER_INIT
* omnitrace-avail --all test
* Fix ROCP_METRICS for ROCm 5.2.0
* Fix ROCP_METRICS for ROCm 5.2.0
* Restrict containers workflow to AMDResearch/omnitrace
* Bump version to 1.3.1
* Update cpack workflow
- generate release draft
- upload installers as release assets
* Test rocprofiler w/o roctracer enabled
* Fix formatting
* verbose message
[ROCm/rocprofiler-systems commit: 7e31d9f450 ]
2022-07-27 06:36:52 -05:00
Jonathan R. Madsen
d4c8101a23
Release 1.3.0 preparations ( #109 )
...
* v1.3.0
* ROCm 5.2 and extensions tweaks
* Container workflow + miscellaneous updates
* Misc fixes + timemory submodule update
- timemory submodule update for multiple definitions of variant_apply
* Increase timeouts
* Remove obsolete Julia docs and script
- support for rocprofiler makes rocprof merging obsolete
* Fix cpack testing and combine cpack workflows into single script
* Install components + omnitrace tpl exes
- Improved COMPONENT specification for installs
- Install PAPI executables with omnitrace- prefix and hyphens
- Install Perfetto executables with omnitrace- prefix and hyphens
* Update docs on perfetto and papi command-line tools
* remove ubuntu 22.04 from containers workflow
* remove containers workflow running on all pushes
* Fix CI_SCRIPT_ARGS
* Fix PAPI utils install
* Fixed traced test in workflow + removed return char
- validate-perfetto-proto.py had return character
* Fix test-docker-release.sh script to use correct container
* Release build bc RelWtihDebInfo using too much memory
[ROCm/rocprofiler-systems commit: ea282d9301 ]
2022-07-23 03:02:31 -05:00
Jonathan R. Madsen
7d1989f5a4
GPU HW Counters via rocprofiler ( #84 )
...
* 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
[ROCm/rocprofiler-systems commit: 4208b5654c ]
2022-07-17 21:52:09 -05:00
Jonathan R. Madsen
4d70eb1ed5
Rename OMNITRACE_ROCM_SMI_DEVICES to OMNITRACE_SAMPLING_GPUS ( #58 )
...
- support ranges in OMNITRACE_SAMPLING_GPUS
[ROCm/rocprofiler-systems commit: 354bbf2a32 ]
2022-06-22 15:01:13 -05:00
Jonathan R. Madsen
aeab36501a
Fix the main library stop routine for timemory ( #39 )
...
* Fix the main library stop routine for timemory
- the main pop_timemory function was popping too many calls
- this primarily affected recursive calls
* Lengthen the timeout for the Configure CMake step
* Fix python tests
- new validate-timemory-json.py script
* Documentation update
- Call-counts in timemory output examples in documentation were affected by the changes
* Fix the per-thread metrics during finalization
- pthread_create_mutex starts/stops the per-thread data
- removed unintentional continue statement
* Docs tweaks
* Fix lap counter on per-thread metrics
[ROCm/rocprofiler-systems commit: a142b2029d ]
2022-06-13 15:57:44 -05:00
Jonathan R. Madsen
04edcf33c3
Implements --label option for python profiler ( #34 )
...
* Implements --label option for python profiler
- removes '-a', '-f', and '-l' options in favor of '--label args file line' for consistency with omnitrace exe
* cmake formatting
* Bump version to 1.1.0
[ROCm/rocprofiler-systems commit: 017e794d63 ]
2022-06-10 10:07:15 -05:00
Jonathan R. Madsen
d009fc24a6
Standalone build examples + testing workflow updates ( #15 )
...
* Update examples to support standalone builds
* Tweak to ubuntu-focal-external workflow
- disable PAPI
* ubuntu focal external workflow update
- GCC 11
- Test static libgcc + static libstdcxx + strip
- ubuntu-toolchain-r/test
* Improve build-release.sh
- command line args for lto, strip, perfetto-tools,
static-libgcc, static-libstdcxx, hidden-visibility,
max-threads, parallel
* Update VERSION to 1.0.1
* Fixes to LTO build
* Updates to ubuntu-focal-external workflow
* build-release.sh update
- enable static libstdcxx by default
* disable python + static libstdcxx
* ubuntu-focal-external updates
* build-release.sh disable static libstdcxx by default
* cmake-format
[ROCm/rocprofiler-systems commit: 8b97c70df8 ]
2022-05-31 01:51:18 -05:00
Jonathan R. Madsen
4ddb8405ac
cpack workflow for building installers ( #35 )
...
* cpack workflow for building installers
- ConfigCPack.cmake update
- STGZ and DEB + containers + test artifact
- DEBIAN_FRONTEND + set -v
- submodule fix
- actions checkout
- OMNITRACE_ROCM_VERSION + continue-on-error
- Change CPack generators + fix path to DEB
- separate configure, build, and package steps
- use cd instead of pushd
- FindROCmVersion + fix to cpack testing
- use ${ROCM_PATH}/.info/version for ROCm version info
- Tweaks for debian installer
- Packaging fixes
- Use CMAKE_SHARED_LIBRARY_SUFFIX instead of .so
- Split cpack.yml into 4 workflows
- Replace source with export in cpack
- Dyninst boost uses tar.gz instead of zip on Unix
* Fix to common join
* Update VERSION to 1.0.0
[ROCm/rocprofiler-systems commit: 5c4d5c394f ]
2022-03-27 22:52:36 -05:00
Jonathan R. Madsen
2403bbde49
Stability improvements ( #26 )
...
* omnitrace verbprintf and errprintf
* avail categories fix
* omnitrace-dl namespace
* OMNITRACE_CI macro / OMNITRACE_BUILD_CI option
- always enables asserts
* Roctracer improvements
- Reworked roctracer significantly
- Added categories to settings
- create_cpu_cid_entry
- handle clock_skew in roctracer
- fixed roctracer activity names
- hip_api_callback is "host"
- perfetto::Flow for GPU
* timemory submodule update
* Tweak to redirect
* Improved recursive guards
- functors component
- created "_hidden" variants of instrumentation funcs
- omnitrace_* calls omnitrace_*_hidden
- omnitrace-dl calls non-hidden
- omnitrace-dl now strongly protects against recursion
- omnitrace-dl now is standalone w.r.t. headers
* Stability fixes
- OMNITRACE_DEBUG_PUSH env variable
- fix to HSA_TOOLS_LIB in dl.cpp
- Fixed SFINAE warning in mpi_gotcha
- Handle 64, _l, _r extensions in whole function names
* cmake formatting
* Fix for last commit + push/pop count info
- don't instrument rocr::core::Signal::WaitAny
- don't instrument rocr::core::Runtime::AsyncEventsLoop
- fixed main not being popped in runtime instrument
- updated interval data reserve
- copy hash-ids and aliases onto main thread
- warn about unclosed regions
- removed guards in libomnitrace
- added error checks for incorrect push_count vs. pop_count
- fixed missing pop_timemory in last commit
* Finalization methodology updates
- added some more rocr:: functions to whole function names
* Add event_base_loop to whole functions
* Update VERSION to 0.1.0
[ROCm/rocprofiler-systems commit: 0d5c557552 ]
2022-02-25 03:56:41 -06:00
Jonathan R. Madsen
b4a82711d1
Sampler improvements ( #22 )
...
* Sampler improvements
- roctracer_flush_activity
- papi_array in backtrace
- fixed sampler trait specializations
- split main_bundle into main and gotcha bundles
- cmake option display
* timemory update
* EINTR handling + debug_{pid,tid}
- sampler handles EINTR for sem_init and sem_destroy
- OMNITRACE_DEBUG_{TIDS,PIDS} env variables
* Increase waitForStatusChange
[ROCm/rocprofiler-systems commit: eccba14f00 ]
2022-01-27 21:31:08 -06:00
Jonathan R. Madsen
ebb29ac54a
Miscellaneous updates ( #21 )
...
* Miscellaneous updates
- Updated README
- Updated VERSION
- Header include tweaks
- get_verbose() + get_verbose_env()
- fixes to omnitrace-avail
- exclude all cuda/cupti settings
- apply available_only to hw counters
- config file warnings
- config displayed at verbose > 0
- fix to MPI_Finalize when only using MPI headers
* Updated LICENSE
* CPack tweak
[ROCm/rocprofiler-systems commit: 8648410309 ]
2022-01-26 23:25:00 -06:00
Jonathan R. Madsen
9d5ebf9c3b
Rename hosttrace to omnitrace ( #18 )
...
[ROCm/rocprofiler-systems commit: 39cf760a4e ]
2021-11-24 04:59:59 -06:00