* Show description of metrics during analysis
* Use --include-cols Description show the Description column in analyze mode (this is hidden by default)
* Remove tips field from analysis config
* Align metric names in analysis config and documentation
* Add unified config utils/unified_config.yaml
* Add python script utils/split_config.py to auto generate analysis configuration and documentation metrics description
* Add test case to ensure unified config is older than auto-generated config
* Auto generate analysis config and documentation metrics description
* Update CONTRIBUTING.md to add instructions to build documentation assets
* Add docker image and compose file to build documentation
* Update CHANGELOG and Documentation
* Use jinja template instead of hardcoding metric tables in documentation
[ROCm/rocprofiler-compute commit: bb44e90b2d]
* Do not force unsupported metrics to be specified in older gpu
architectures as None
* Remove metrics which are explicitly set to None
* Update CHANGELOG
* Fix analysis configuration to fix baseline comparisons across all gpu
architectures
* Add missing 1812 section for gfx908
* Add missing 1812 section for gfx90a
* Baseline comparision will only show common metrics
* First workload will be used to set Metric ID index column
[ROCm/rocprofiler-compute commit: d4c316a730]
* Analysis report block based filtering is the default now
* Update documentation
* Update CHANGELOG
* Fix tests
* Replace hardware block based filtering tests with report block
based filtering tests
[ROCm/rocprofiler-compute commit: 98bb0f4237]
* Fix roofline rocm version bug
* Fix utils bug
* Remove unnecessary tests
* Do not check textual-fspicker package in cmake build
* Use rocprofv3 to test MI 100 and fix tests
[ROCm/rocprofiler-compute commit: 000fd4f5b2]
* Add custom rocprofiler-sdk counter definitions file for MI 100
* Update CHANGELOG to mention that accumulation counters will not be
collected when profiling on MI 100 using rocprofiler-sdk/rocprofv3
* Migrate accum_counters.yaml to code
[ROCm/rocprofiler-compute commit: a95a45d69a]
* Revert of https://github.com/ROCm/rocprofiler-compute/pull/738
* Change default rocprof backend interface to rocprofv3
* Add MI 350 support in documentation
* Added known issue that MI 100 profiling will not work unless rocprofv1
is explicitly opted in
* Remove MI 50 soc gfx python class since MI 50 is not supported
[ROCm/rocprofiler-compute commit: d27ee69b52]
* Remove rocscope related code
* Add deprecation warning for database update mode which is used for grafana and mongodb functionality
[ROCm/rocprofiler-compute commit: cdd41dee40]
* Setting ROCPROF=rocprofiler-sdk environment variable will use rocprofiler-sdk C++ library instead of rocprofv3 python script
* Add runtime option --rocprofiler-sdk-library-path to use custom version of rocprofiler sdk library
* Add --rocprofiler-sdk-library-path conftest option for tests
* Setup appropriate environment variables to inject rocprofiler sdk code to user command
* Add env. vars. for counter collection and filtering
* Add env. vars. for pc sampling
* Use python bindings to list counters supported by rocprofiler sdk
[ROCm/rocprofiler-compute commit: 5cb86e31fc]
* Add MI 350 hardware information
* Refactor MI GPU YAML file and corresponding interface
* Add SoC file for gfx950 architecture
* Add analysis report configs for MI 350 containing existing metrics
* Add placeholder None valued metrics for previous architectures to make
baseline comparison work
* Enable testing on MI 350
* Analysis config metric changes
- SPI changes
- Update metric formula for default SPI pipe counter
- Use efficiently collected pipe wise SPI counters
- Add SPI Wave Occupancy
- Add Scheduler-Pipe Wave Utilization
- Update formula for VGPR Writes
- Add Scheduler-Pipe FIFO Full Rate
- CPC changes
- Add CPC SYNC FIFO Full Rate
- Add CPC CANE Stall Rate
- Add CPC ADC Utilization
- SQ changes
- Add VALU co-issue efficiency
- Add F6F4 datatype metrics
- Update formula for total FLOPs by adding F6F4 counters
- Add LDS STORE / LOAD / ATOMIC metrics
- Add LDS STORE / LOAD / ATOMIC bandwidth
- Add LDS FIFO and TA ADDR / CMD / DATA FIFO full rates
* Collect TCP_TCP_LATENCY_sum only for gfx950 (MI 350)
* Do not inject SQ_ACCUM_PREV_HIRES unnecesarily
* Do not hardcode memory and shader clock speeds
* Write num_hbm_channels to sysinfo.csv instead of hbm_bw while profiling
* Move generate sysinfo.csv to pre processing step of profiling
* Add warnings to use --specs-correction for missing sysinfo.csv values during analysis phase
* Update CHANGELOG
* Analysis phase warning to use --specs-correction when needed
[ROCm/rocprofiler-compute commit: f9aa7be97c]
* Delete static pmc files
* Counter parsing changes
- Move counter parsing logic to another function
- Fix counter parsing regex
- Log list of counters being collected
* Sanity check counters supported by rocprof
- Emit warning instead of error since rocprof support counters
list might be inaccurate
* Do not collect these counters
- TCP_TCP_LATENCY_sum (except for gfx908 and gfx90a)
- SQC_DCACHE_INFLIGHT_LEVEL
* Update logic of writing TCC channel counter definition yaml file
* Fix bug in capture_subprocess_output() utility function
- Make logging optional in capture_subprocess_output()
* Fix formatting and tests
* Update changelong
[ROCm/rocprofiler-compute commit: 58cf702d40]
When using rocprof v3:
* Use --kernel-include-regex for kernel name filtering
* Use --kernel-iteration-range for kernel dispatch filtering
Update changelog
[ROCm/rocprofiler-compute commit: 45b8937d5d]
* rocprofv3 might not collect any counters for MI 100, handle this case gracefully to prevent test failures
[ROCm/rocprofiler-compute commit: 64ccd588de]
* Analysis report block based filtering for profiling
* Profiling mode changes
- `-b` option now additionally accepts metric id(s), similar to `-b` option in analyze mode (e.g. 6, 6.2, 6.23)
- Only counters mentioned in the selected analysis report blocks will be collected
- Add parsing logic to identify hardware counters from analysis report blocks
- Add filtering logic to only write filtered counters in perfmon files
- Log not collected counters in one line
- `--list-metrics` option added in profile mode to list possible metric id(s) similar to analyze mode
- Write arguments provided during profiling in profiling_configuration.yaml file
* Analysis mode changes
- During analysis mode, only show report blocks selected during profiling
- If `-b` option is provided in analysis mode, then follow provided filters
- Do not show empty tables in analysis report
* Miscellaneous changes
- Update CHANGELOG
- Add test cases
- Instruction mix report block filter
- Instruction mix and Memory chart report block filter
- Instruction mix report block filter and CPC hardware block filter
- TA hardware block filter
- --list-metrics in profile mode should work
- Move binary handler fixtures to conftest.py to avoid importing
fixtures
- cmake file in tests directory has been updated to compile sample/vmem.hip for testing
* Public documentation changes
- Use the term "Hardware report block" instead of "Hardware block"
- Add documentation for "--list-metrics" option in profile mode
- Add example of filtering by hardware report block such as instruction
mix and wavefront launch statistics
- Add deprecation warning for hardware component (sq, tcc) based filtering
[ROCm/rocprofiler-compute commit: 55cf0e237e]
* Fix post analysis gui in standalone binary
* Add post analysis gui assets and required server libraries for GUI
server and web page
* Add port forwarding to docker test compose
* Update README me to use `docker compose up` instead of `docker compose run`
to run containers with port forwarding and to leverage other
functionalities of docker compose
[ROCm/rocprofiler-compute commit: 0b3114fa88]
* Create VERSION.sha file while creating standalone binary
* Do not fail on VERSION.sha not found
* Add git to docker container for testing
[ROCm/rocprofiler-compute commit: 19a9365bb9]
* Add cmake function to create standalone binary
* Mention licenses used by dependencies in the LICENSE file
* Add test cases for standalone binary by adding --call-binary option for pytest
* Docker compose file to create standalone binary in standardized RHEL 8 environment
* Add README instructions on how to create and test standalone binary
* Move docker files from utils to docker folder; Add standalone binary testing instructions
* Add CHANGELOG statement
* Use different service names in docker compose files
* Use volume mounting in docker files
[ROCm/rocprofiler-compute commit: 40f79c28b1]
* Add the missing commit from #453
* Remove unnecessary conditional and use 'is' operator
Co-authored-by: Richard Ben <ben.richard@amd.com>
[ROCm/rocprofiler-compute commit: bceddb0943]
* Use the token for rocprofiler-compute-runner github app to perform
auth to bypass amd-staging branch protection
[ROCm/rocprofiler-compute commit: 25b6bbbb3c]