Graf commitů

8938 Commity

Autor SHA1 Zpráva Datum
Jose Santos 23db40d257 Adding pytest_profile_general.py
Signed-off-by: Jose Santos <josantos@login1.hpcfund>
2024-02-26 14:48:33 -06:00
Charis Poag a74062cc30 Merge amd-staging into amd-master 20240226
Change-Id: I1d6db79aa35dabbfb4b837ffdb5dd63ff099cbd9
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
2024-02-26 13:50:16 -06:00
Harish Kasiviswanathan 341ecaf1d9 libhsakmt: Associate correct GPU with queue memory
Pass the correct gpu_id to KFD for system memory that is allocated for
the queue and eop buffer

Change-Id: I43bb6333560a7d9d38293c191303161ab1443b5d
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
2024-02-26 14:20:16 -05:00
Shweta Khatri f2006d6899 Record interop mapped object in allocation_map_
This allows the VA to be recorded in ROCr so that they are not
treated as an invalid pointer in future API calls.

Change-Id: I8d1d8ef9816a984c89d30a2179b0ce8940fef1da
2024-02-26 13:40:55 -05:00
Karl W Schulz f2235b7f1d Fix for rocm-smi not getting mclk for MI100
Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-26 11:47:56 -06:00
Harish Kasiviswanathan 191caf46ac libhsakmt: Move global zfb_support to globals.c
zfb_support needs to accessed from multiple places, so move to globals.c
file

Change-Id: I40b487c26a13e7cc6fc01b671d6166e7114e02d2
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
2024-02-26 09:08:11 -05:00
Jonathan R. Madsen e2db37ca8d Search for rocprofiler_set_api_table(...) via RTLD_DEFAULT (#56)
* Search for rocprofiler_set_api_table(...) via RTLD_DEFAULT

- check if rocprofiler_set_api_table function has already been loaded via dlsym(RTLD_DEFAULT, ...)
- fix warning about conflicting ROCM_DEP_ROCMCORE and ROCPROFILER_REGISTER_DEP_ROCMCORE

* Bump version to 0.4.0
2024-02-25 21:14:27 -06:00
SrirakshaNag bd81e6a5f8 tools support for callback counter collection (#515)
* tools support for callback counter collection

* source formatting (clang-format v11) (#516)

Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com>

* Fixing conflicts with main

* source formatting (clang-format v11) (#517)

Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com>

* source formatting (clang-format v11) (#529)

Co-authored-by: SrirakshaNag <104580803+SrirakshaNag@users.noreply.github.com>

* Adding a column for counter name and counter value

* source formatting (clang-format v11) (#530)

Co-authored-by: SrirakshaNag <104580803+SrirakshaNag@users.noreply.github.com>

* fixing issues with atomic

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com>
2024-02-25 20:30:38 -06:00
Harish Kasiviswanathan 858dfd364f libhsakmt: Use correct gpu_id for GPU system memory
For GTT memory allocation if GPU is provided honour it.

Change-Id: Iea9a26bc44cd3daa2337845f53dc430787b0643b
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
2024-02-25 10:45:36 -05:00
Ammar ELWazir 4bb95f885b Update run-ci.py (#534) 2024-02-24 14:48:41 -06:00
Jose Santos 5a26c0c87a update test_profile_general.py
Signed-off-by: Jose Santos <josantos@login1.hpcfund>
2024-02-23 17:21:38 -06:00
Jose Santos 61c110ccd7 Adding pytest_profile_general.py
Signed-off-by: Jose Santos <josantos@login1.hpcfund>
2024-02-23 17:21:38 -06:00
Nicholas Curtis 99a6a244ac Add requirements.txt for docs
Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
2024-02-23 15:18:34 -06:00
Jonathan R. Madsen 875f53b608 Correlation ID Retirement + misc (#527)
* Correlation ID Retirement

- include/rocprofiler-sdk/buffer_tracing.h
  - add rocprofiler_buffer_tracing_correlation_id_retirement_record_t
- include/rocprofiler-sdk/fwd.h
  - ROCPROFILER_BUFFER_TRACING_CORRELATION_ID_RETIREMENT
- lib/rocprofiler-sdk/buffer_tracing.cpp
  - kind string for correlation id retirement
- lib/rocprofiler-sdk/buffer.hpp
  - emplace returns bool
- lib/rocprofiler-sdk/registration.cpp
  - pass lib_instance to copy_table functions
- lib/rocprofiler-sdk/context/context.*
  - update correlation_id struct
    - make ref_count private
    - {get,add,sub}_ref_count() functions
      - sub_ref_count() performs correlation id retirement
    - use stack for "latest" thread-local correlation id
- lib/rocprofiler-sdk/hip/hip.*
  - migrate to new {get,add,sub}_ref_count() for correlation ids
  - return in iterate_args
  - handle table instance in copy_table
- lib/rocprofiler-sdk/hsa/hsa.*
  - migrate to new {get,add,sub}_ref_count() for correlation ids
  - return in iterate_args
  - handle table instance in copy_table
- lib/rocprofiler-sdk/marker/marker.*
  - migrate to new {get,add,sub}_ref_count() for correlation ids
  - return in iterate_args
  - handle table instance in copy_table
- lib/rocprofiler-sdk/hsa/async_copy.cpp
  - migrate to new {get,add,sub}_ref_count() for correlation ids
  - handle table instance in async_copy_init / async_copy_save
- lib/rocprofiler-sdk/hsa/queue.cpp
  - migrate to new {get,add,sub}_ref_count() for correlation ids
  - tweak to external correlation id mapping in WriteInterceptor
- tests/async-copy-tracing/validate.py
  - check retired_correlation_ids
- tests/common/serialization.hpp
  - support rocprofiler_buffer_tracing_correlation_id_retirement_record_t
- tests/kernel-tracing/validate.py
  - check retired_correlation_ids
- tests/common/CMakeLists.txt
  - perfetto external project
- tests/common/perfetto.hpp
  - perfetto categories + aliases
  - add_perfetto_annotation
  - metaprogramming helpers
- tests/tools/CMakeLists.txt
  - link to tests-perfetto
- tests/tools/json-tool.cpp
  - demangling functions
  - serialization of marker API callback args
  - reduce parallel bottleneck in tool_tracing_callback
  - support correlation id retirement
  - Multiple threads for buffers
  - Support ROCPROFILER_TOOL_CONTEXTS_EXCLUDE env variable
  - write_perfetto() function

* Update tests/rocprofv3/tracing/validate.py

- tweak test_hsa_api_trace

* Update PTL submodule

- fixes for data race during destruction of task

* Update lib/rocprofiler-sdk/buffer.*

- unique_buffer_vec_t uses std::unique_ptr instead of allocator::unique_static_ptr_t

* Reduce timeouts in counter collection samples [skip ci]

* Update tests/tools/json-tool.cpp

- tweak demangle(string_view, int*) -> demangle(string_view, int&)

* Update lib/rocprofiler-sdk/hsa/async_copy.cpp

- move sub_ref_count() to later in async_copy_handler to delay retirement slightly more
2024-02-23 10:30:33 -06:00
Jonathan R. Madsen 1f0d06b6cb Correct the install locations of cmake config files (#55)
* Correct the install locations of cmake config files

The cmake config files should be installed in <Install_Prefix>/lib/cmake/<component_name>

* Apply suggestions from code review

* Correct the install locations of cmake config files

- ROCm standard for cmake config files is <install-prefix>/lib/cmake/<package-name>

---------

Co-authored-by: Ranjith Ramakrishnan <Ranjith.Ramakrishnan@amd.com>
2024-02-23 10:17:58 -06:00
Karl W Schulz aeb2161b2a updating testing files to meet formatting requirements
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-23 10:00:23 -06:00
Jose Santos b018d9207f updating Pytest mark and tests/workloads
Signed-off-by: Jose Santos <josantos@login1.hpcfund>
2024-02-23 10:00:23 -06:00
Jose Santos 4f96837157 updating analyze commands to new commands/workloads
Signed-off-by: Jose Santos <josantos@login1.hpcfund>
2024-02-23 10:00:23 -06:00
Jose Santos 6db524e5fe Update test_analyze_workloads.py
Signed-off-by: Jose Santos <josantos@t007-004.hpcfund>
2024-02-23 10:00:23 -06:00
Jose Santos 40c8efc2ff update to new Omniperf workloads
Signed-off-by: Jose Santos <josantos@t007-004.hpcfund>
2024-02-23 10:00:23 -06:00
Jose Santos 989e29cf81 Moving workloads to old
Signed-off-by: Jose Santos <josantos@login1.hpcfund>
2024-02-23 10:00:23 -06:00
Karl W Schulz 76873dd0c4 more code formatting updates
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-22 16:02:25 -06:00
Karl W Schulz 5a27189c82 more code formatting updates
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-22 16:02:25 -06:00
Karl W Schulz 79b877d679 code formatting updates
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-22 16:02:25 -06:00
Jonathan R. Madsen 7ce263b0e4 Update rocprofiler-register support
- add rocprofiler-register to CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS when found
- add rocprofiler-register to CPACK_RPM_BINARY_PACKAGE_REQUIRES when found
- remove report_tool_load_failures_explicit_
- add HSA_TOOLS_DISABLE_REGISTER flag
- add HSA_TOOLS_REPORT_REGISTER_FAILURE
- use HSA_TOOLS_REPORT_REGISTER_FAILURE instead of HSA_TOOLS_REPORT_LOAD_FAILURE
- changed rocprofiler-register message to not include the word "error"

Change-Id: Ib7fd7f14c42758a54c347874018281bb1b5477a6
2024-02-22 11:55:25 -05:00
Giovanni LB fe00badc6e Adding late-replace envvar filenames to ATT
Change-Id: I5df51934ffa25358503013e1a230adb894d6ff94
2024-02-22 10:02:32 -05:00
Shweta Khatri 24633c7a85 Avoid releasing scratch for blit queues
At hsa_shutdown(), scratch_lock_ may be gone. Blit queues don't need it.

Change-Id: Ic132ac8a6be31fb2f0623137115608b0b222f077
2024-02-22 14:12:05 +00:00
Jonathan Kim 1f63ea3476 Fix export-close race during IPC attach request
If two attach requests to the same piece of shared memory occur,
a double export or premature dmabuf fd close can occur since the export
and close on demand calls are not atomic.

Use a reference counter on shared memory dmabuf FDs that have
already been opened to avoid this problem.

Change-Id: I14a59209c0385e32582af42a57b33b1c6838a9b1
2024-02-22 14:12:05 +00:00
David Yat Sin b77ade9c64 rocrtst: Add non-contiguous VMM map tests
Add rocrtst to test mapping non-contiguous memory to a
single VA range

Change-Id: Id2e57f83512f8b482456b2b1925586951ada7400
2024-02-22 14:12:05 +00:00
David Yat Sin 99e31e43aa rocrtst: Add test for GPU access to memory
Add test to verify whether GPU shaders can read memory created using VMM
APIs.
Split VMM rocrtst to two separate groups: Basic and Access tests

Change-Id: Iead8d46125580c71ccd582e967c8e2e891e75c5e
2024-02-22 14:12:05 +00:00
David Yat Sin 1f50219634 Fix compile error when using clang
Change-Id: Ibacf094934a9b489c052a18eeb6b26639aba3032
2024-02-22 14:12:05 +00:00
Gopesh Bhardwaj 2d71520953 Fixing opensuse compilation (#521)
* Fixing opensuse compilation

* source formatting (clang-format v11) (#526)

Co-authored-by: bgopesh <bgopesh@users.noreply.github.com>

* Update tests/tools/CMakeLists.txt

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bgopesh <bgopesh@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
2024-02-22 01:10:23 -06:00
Jonathan R. Madsen 0d939edbba Updates/fixes for CI, docs, tests, samples, and common library (#528)
- .github/workflows/continuous_integration.yml
  - apt-get update before apt-get install
  - remove libgtest-dev
  - actions-comment-pull-request: v2.4.3 -> v2.5.0
- .github/workflows/formatting.yml
  - create-pull-request: v5 -> v6
- cmake/rocprofiler_options.cmake
  - remove unused ROCPROFILER_DEBUG_TRACE and ROCPROFILER_LD_AQLPROFILE options
- samples/counter_collection/callback_client.cpp
  - corr_id field renamed to correlation_id
- samples/counter_collection/client.cpp
  - corr_id field renamed to correlation_id
- include/rocprofiler-sdk/fwd.h
  - In rocprofiler_record_counter_t: rename corr_id field to correlation_id
  - doxygen fixes
- lib/common/utility.*
  - remove get_accurate_clock_id_impl
  - timestamp_ns() defaults to CLOCK_BOOTTIME
- lib/rocprofiler-sdk/counters/core.cpp
  - fix spelling mistake: extrenal -> external
  - corr_id field renamed to correlation_id
- lib/rocprofiler-sdk-tool/tool.cpp
  - fix destruction of static tool::output_file before finalization
- scripts/update-docs.sh
  - define PROJECT_NAME
- tests/async-copy-tracing/validate.py
  - init_time and fini_time checks
  - hip_api_traces, marker_api_tracing
- tests/common/serialization.hpp
  - fix save function for rocprofiler_record_counter_t following rename of corr_id to correlation_id
- tests/kernel-tracing/validate.py
  - init_time and fini_time checks
  - relax test_total_runtime range
- tests/rocprofv3/tracing/CMakeLists.txt
  - remove -M from rocprofv3-test-systrace-execute
  - exclude test_hsa_api_trace in rocprofv3-test-systrace-validate due to HIP API tracing
- tests/rocprofv3/tracing/validate.py
  - update test_kernel_trace to accept mangled or demangled
- tests/tools/json-tool.cpp
  - remove use of GLOG
  - include init_time and fini_time
  - write_json(...) function
2024-02-22 00:16:43 -06:00
Giovanni LB a1999fa366 SWDEV-446854: Fixing ATT crash on rocblas_sgemm
Change-Id: I932b92c4e188655500b1b150d9594ec663dd25c7
2024-02-20 14:55:27 -05:00
Galantsev, Dmitrii 6d5d9971c2 CMAKE - Find hsa-runtime64
Change-Id: Id877eb9cfcc61d81993a6a43703ef2e5f72e1e8f
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-02-19 23:49:38 -05:00
Benjamin Welton 7adffd5b22 Add rocprofiler_query_counter_info function (#452)
* Add rocprofiler_query_counter_info function

Replaces rocprofiler_query_counter_name. Allows for
querying other types of info from counters (such as
description) and gives us some flexibility to add
return data in the near future (if we have to).

* source formatting (clang-format v11) (#453)

Co-authored-by: bwelton <bwelton@users.noreply.github.com>

* Updated version fetching

* source formatting (clang-format v11) (#509)

Co-authored-by: bwelton <bwelton@users.noreply.github.com>

* Merged

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <bwelton@users.noreply.github.com>
2024-02-19 16:05:38 -08:00
Benjamin Welton 3638351b4c Callback based handler for counter collection (#506)
* Callback based handler for counter collection

* source formatting (clang-format v11) (#507)

Co-authored-by: bwelton <bwelton@users.noreply.github.com>

* cmake formatting (cmake-format) (#508)

Co-authored-by: bwelton <bwelton@users.noreply.github.com>

* Doc fix

* Minor doc fix

* More doc fixes

* More doc fixes

* More doc fixes

* Update CI

* Changes to the API per comments

* Mutex exception for HSA

* source formatting (clang-format v11) (#511)

Co-authored-by: bwelton <bwelton@users.noreply.github.com>

* Doc fix

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <bwelton@users.noreply.github.com>
2024-02-19 15:55:21 -08:00
Charis Poag 93ed5205f9 Merge amd-staging into amd-master 20240216
Change-Id: Id3e41507ab6143d08cb052710aa19c6f2e402fed
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
2024-02-16 20:03:19 -06:00
Karl W Schulz 4bcbc73080 enable formatting for 2.x branch
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-16 15:13:51 -06:00
Karl W Schulz a05cb9757b remove non-used commented out bits from cmake config
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-16 10:33:12 -06:00
Karl W Schulz 18251da534 adding to project markers
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-16 10:33:12 -06:00
Karl W Schulz 98fd762d9e cmake updates for test_analyze_commands; map tests to newly defined
pytest markers and define a new "analyze_commands" label to support
parallel execution

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-16 10:33:12 -06:00
Karl W Schulz fafff47822 demarcate analysis tests into groups
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-16 10:33:12 -06:00
Oliveira, Daniel b4d37caa70 fix: [rocm/rocm_smi_lib] rsmi_dev_activity_metric_get gfx/memory activity does not update with GPU activity
Checks and forces rereading gpu metrics unconditionally

Code changes related to the following:
  * Device::dev_log_gpu_metrics()
  * Examples
  * Unit tests

Change-Id: Ic1c4f34a39f2bf197263f80ddbb84da26345807d
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>
2024-02-16 09:47:45 -06:00
Gopesh Bhardwaj c9dfa9e617 Fixing AFAR builds for some GNU tool chains (#498) 2024-02-15 08:08:37 -08:00
Oliveira, Daniel ce36198cb1 fix: [rocm/rocm_smi_lib] header cleanup Remove non-unified headers
Cleans up individual gpu metric APIs which will be implemented according to 'unified-headers' standards

Code changes related to the following:
  * 'rsmi_dev_metrics_' APIs
  * Functional tests
  * Examples

Change-Id: I7d562a95889361ee6f8f7588f8a790f42c8eb262
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>
2024-02-14 17:50:26 -06:00
Manjunath-Jakaraddi 8d705f8b96 SWDEV-445654: Adding metrics to MI300
Change-Id: I7c3d78d8739ad219fc05bd99d7fc11d1f023aadc
2024-02-14 13:17:15 -05:00
Giovanni LB 95b49ca593 Adding bank conflict and other MI300 missing metrics to rocprofv2
Change-Id: Ibb7fb6163aa3bd7742f199a03600c737720e3c61
2024-02-14 13:15:54 -05:00
Nick Curtis 852cc13f2a Fix clocks (#246)
Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
Co-authored-by: Nicholas Curtis <nicurtis@amd.com>
2024-02-13 20:22:11 -06:00
Nick Curtis c60f031558 Fix hbmBW calculation, (#243)
* Fix hbmBW calculation, currently we're reading the wrong value of the mclk out of rocm-smi

Signed-off-by: Nicholas Curtis <nicurtis@amd.com>

* Fix for earlier smi

Signed-off-by: Nicholas Curtis <nicurtis@amd.com>

---------

Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
Co-authored-by: Nicholas Curtis <nicurtis@amd.com>
2024-02-13 20:19:56 -06:00