* PC sampling: online partial PC sampling decoding
PC sampling service decodes a PC sample partially
by replacing the PC with an id of the loaded code object instance
containing PC and the offset of the PC within that code object instance.
* PC sampling: marker records removed
* PC sampling parser: minor doc update in mock
* PC sampling: introducing rocprofiler_pc_t
* NULL value of the code object id introduced.
* Clarifying documenation related to PC offset.
* PC offset documentation improvement
* PC sampling parser benchmark: Reducing the number of samples to recreate half of performance.
[ROCm/rocprofiler-sdk commit: 93e82663d9]
* PCS: show chiplet; cover loading/unloading in integration test
* Use (code_object_id, pc_addr) pair as instruction id.
[ROCm/rocprofiler-sdk commit: 0f89f0449d]
* PC sampling: integration test with instruction decoding
* PC sampling: verifying internal and external CIDs
The PC sampling integration test has been extended
to verify internal and external correlation IDs.
* tmp solution of using Instructions as keys
* wrapper for HIP call
* PCS integration test: ld_addr as instruction id
For the sake of the integration test, use as the
instruction identifier. To support code object unloading
and relocations, use as the identifier
(the change in the decoder is required).
* PCS integration test: removing shared_ptr
Completely removing usage of shared pointers.
* PCS integration test: removing decoder
When a code object has been unloaded, ensure all PC samples
corresponding to that object are decoded, prior to removing
the decoder.
* PCS integration test: fixing build flags and imports
* PCS integration test: fixing labels
* PCS integration test: cmake flags fix
* PC sampling cmake labels renamed
* PCS integration test refactoring
* PCS integration test: minimize usage of raw pointers
* PCS integration test: at least one sample should be delivered.
* PC sampling lables: pc-sampling
[ROCm/rocprofiler-sdk commit: 498b1f2bd7]
The following changes are introduced:
- Use functions instead of macros.
- Verify the error code when querying KFD IOCTL version.
- Skip tests and samples if KFD IOCTL < 1.16 or PC Sampling IOCTL < 0.1.
[ROCm/rocprofiler-sdk commit: 79e81c9b39]
* PC sampling client: using raw pointers to prevent premature destruction of buffers
* PCS client: freeing buffer_ids
[ROCm/rocprofiler-sdk commit: b0c41827c3]
* public codeobj info
* Restructure code object source code file layout
* Update get_unloaded_code_objects + add iterate_loaded_code_objects
* Remove get_unloaded_code_objects from visible internal API
- iterate_loaded_code_objects + functor which filters on the hsa_executable_t effectively reproduces this behavior
* Whitespace removal
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-sdk commit: 733aa8e438]
* PC sampling examples: single user, multiple agents
The example assumes that a single user activates PC sampling service
on multiple agents. Preferably, the user chooses stochastic sampling
over host-trap sampling.
* cmake formatting (cmake-format) (#33)
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com>
* source formatting (clang-format v11) (#32)
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com>
* pc sampling samples: anynomus namespace and string_view
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com>
[ROCm/rocprofiler-sdk commit: 76717efa64]