76333 Коммитов

Автор SHA1 Сообщение Дата
Oliveira, Daniel 55734d2d7a fix: [rocm/amd_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:
  * '_get_gpu_metrics_' APIs
  * Functional tests

Change-Id: I2dd2ecde11c1d77e343e0ae0e10aeb9120ae9b99
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>
2024-01-26 10:38:48 -05:00
Oliveira, Daniel a2f04dd3bc fix: [rocm/amd_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:
  * '_get_gpu_metrics_' APIs
  * Functional tests

Change-Id: I2dd2ecde11c1d77e343e0ae0e10aeb9120ae9b99
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>


[ROCm/amdsmi commit: 55734d2d7a]
2024-01-26 10:38:48 -05:00
Jonathan R. Madsen 65596497ce Update docs/CMakeLists.txt (#422)
- spoof the HOME environment variable while executing scripts and conda commands to ensure conda install is isolated to build directory

[ROCm/rocprofiler-sdk commit: d73178f77a]
2024-01-26 08:36:23 -06:00
Jonathan R. Madsen d73178f77a Update docs/CMakeLists.txt (#422)
- spoof the HOME environment variable while executing scripts and conda commands to ensure conda install is isolated to build directory
2024-01-26 08:36:23 -06:00
Pedram Alizadeh a184aabda5 modifying the tuning table to improve the performance of allreduce for 8MB and 16MB for single-node MI300X (#1063)
[ROCm/rccl commit: ccfb35fa6d]
2024-01-26 09:05:53 -05:00
Pedram Alizadeh ccfb35fa6d modifying the tuning table to improve the performance of allreduce for 8MB and 16MB for single-node MI300X (#1063) 2024-01-26 09:05:53 -05:00
Kiriti Gowda f517b2ab2d Samples - Docs Updated (#204)
[ROCm/rocdecode commit: 2298d93990]
2024-01-26 05:19:24 -08:00
Kiriti Gowda 2298d93990 Samples - Docs Updated (#204) 2024-01-26 05:19:24 -08:00
Jonathan R. Madsen c61352dc45 Update lib/rocprofiler-sdk/hsa/queue_controller.cpp (#420)
- designated initializers for default_agent

[ROCm/rocprofiler-sdk commit: aa813f5c9b]
2024-01-26 07:13:15 -06:00
Jonathan R. Madsen aa813f5c9b Update lib/rocprofiler-sdk/hsa/queue_controller.cpp (#420)
- designated initializers for default_agent
2024-01-26 07:13:15 -06:00
Jonathan R. Madsen a99227dfcf Update cmake/rocprofiler_build_settings.cmake (#419)
- always compile with -Wno-missing-field-initializers instead of just in developer mode

[ROCm/rocprofiler-sdk commit: 95c0a17a91]
2024-01-26 02:41:36 -08:00
Jonathan R. Madsen 95c0a17a91 Update cmake/rocprofiler_build_settings.cmake (#419)
- always compile with -Wno-missing-field-initializers instead of just in developer mode
2024-01-26 02:41:36 -08:00
Jonathan R. Madsen db3a88f075 Update cmake/rocprofiler_config_packaging.cmake (#417)
- cache CPACK_DEBIAN_PACKAGE_SHLIBDEPS and CPACK_RPM_PACKAGE_AUTOREQ so they can be overrridden

[ROCm/rocprofiler-sdk commit: fbf062eb72]
2024-01-26 04:08:58 -06:00
Jonathan R. Madsen fbf062eb72 Update cmake/rocprofiler_config_packaging.cmake (#417)
- cache CPACK_DEBIAN_PACKAGE_SHLIBDEPS and CPACK_RPM_PACKAGE_AUTOREQ so they can be overrridden
2024-01-26 04:08:58 -06:00
Jonathan R. Madsen 6c200ffbf4 Improve buffer flush error handling (#416)
* Update include/rocprofiler-sdk/fwd.h

- add ROCPROFILER_STATUS_ERROR_FINALIZED error code

* Update lib/rocprofiler-sdk/rocprofiler.cpp

- status string for ROCPROFILER_STATUS_ERROR_FINALIZED

* Update lib/rocprofiler-sdk/buffer.cpp

- return error code if buffer flush invoked after finalized
- fatal error if task group destroyed
- error message if task runs after finalized
- improve join of task group

* Update lib/rocprofiler-sdk/counters/tests/evaluate_ast_tests.cpp

- Update lambdas to return reference due to strange -Warray-bounds and -Wstringop-overflow warnings with g++ (Ubuntu 13.1.0-8ubuntu1~20.04.2) 13.1.0

[ROCm/rocprofiler-sdk commit: 3547a45c0c]
2024-01-26 04:01:09 -06:00
Jonathan R. Madsen 3547a45c0c Improve buffer flush error handling (#416)
* Update include/rocprofiler-sdk/fwd.h

- add ROCPROFILER_STATUS_ERROR_FINALIZED error code

* Update lib/rocprofiler-sdk/rocprofiler.cpp

- status string for ROCPROFILER_STATUS_ERROR_FINALIZED

* Update lib/rocprofiler-sdk/buffer.cpp

- return error code if buffer flush invoked after finalized
- fatal error if task group destroyed
- error message if task runs after finalized
- improve join of task group

* Update lib/rocprofiler-sdk/counters/tests/evaluate_ast_tests.cpp

- Update lambdas to return reference due to strange -Warray-bounds and -Wstringop-overflow warnings with g++ (Ubuntu 13.1.0-8ubuntu1~20.04.2) 13.1.0
2024-01-26 04:01:09 -06:00
Benjamin Welton 3509d05a1f Swap container to compute-rocm-dkms-component-staging-profiler (#412)
* Swap container to compute-rocm-dkms-component-staging-profiler

compute-rocm-dkms-component-staging-profiler contains the staging
branches for aqlprofile and others that are needed by the CI to function.

* python formatting (black) (#414)

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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com>

[ROCm/rocprofiler-sdk commit: c443663032]
2024-01-26 01:40:41 -06:00
Benjamin Welton c443663032 Swap container to compute-rocm-dkms-component-staging-profiler (#412)
* Swap container to compute-rocm-dkms-component-staging-profiler

compute-rocm-dkms-component-staging-profiler contains the staging
branches for aqlprofile and others that are needed by the CI to function.

* python formatting (black) (#414)

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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com>
2024-01-26 01:40:41 -06:00
Jonathan R. Madsen 20b236f2c2 Counter API and Samples Updates (#410)
* Update include/rocprofiler-sdk/{counters,profile_config}.h

- use rocprofiler_agent_id_t instead of rocprofiler_agent_t

* Update samples

- use rocprofiler-sdk::rocprofiler-sdk instead of rocprofiler::rocprofiler in cmake
- api_callback_tracing sample roctxProfiler{Pause,Resume}
- api_callback_tracing sample uses ROCTx
- updates to use rocprofiler_agent_id_t

* Update run-ci.py

- exclude rocprofiler-sdk-tool from samples (no sample uses that code)

* Update lib/rocprofiler-sdk-tool/tool.cpp

- Update rocprofiler_iterate_agent_supported_counters to use agent ID

* Update lib/rocprofiler-sdk/counters/core.*

- profile_config has pointer to agent instead of copy

* Update lib/rocprofiler-sdk/agent.*

- provide get_agent(...) func via rocp agent id

* Update lib/rocprofiler-sdk/{buffer,callback}_tracing.cpp

- return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED for enums missing implementation

* Update lib/rocprofiler-sdk/counters.cpp

- update to use rocprofiler_agent_id_t instead of rocprofiler_agent_t

* Update lib/rocprofiler-sdk/profile_config.cpp

- update to use rocprofiler_agent_id_t instead of rocprofiler_agent_t

* Update source/docs

- requirements.txt + install reqs in cmake

* Bump version to 0.1.0

* Update samples/api_callback_tracing/CMakeLists.txt

- LD_LIBRARY_PATH for test

* Update test/rocprofv3/tracing/CMakeLists.txt

- reorder validation files so memory copy comes first

* Update lib/rocprofiler-sdk-tool/tool.cpp

- logging for flushing buffers
- variables for buffer_size and buffer_watermark
  - increase the watermark to a full buffer
- use dedicated threads for each buffer

* Update lib/rocprofiler-sdk-tool/CMakeLists.txt

- test sets ROCPROF_LOG_LEVEL and ROCPROFILER_LOG_LEVEL to info

* Remove lib/rocprofiler-sdk-tool/trace_buffer.hpp

* Update lib/rocprofiler-sdk-tool/CMakeLists.txt

- drop log level to warning when leak sanitizer is enabled (produces small memory leak)

[ROCm/rocprofiler-sdk commit: 9a8b6f6b7b]
2024-01-25 23:47:40 -06:00
Jonathan R. Madsen 9a8b6f6b7b Counter API and Samples Updates (#410)
* Update include/rocprofiler-sdk/{counters,profile_config}.h

- use rocprofiler_agent_id_t instead of rocprofiler_agent_t

* Update samples

- use rocprofiler-sdk::rocprofiler-sdk instead of rocprofiler::rocprofiler in cmake
- api_callback_tracing sample roctxProfiler{Pause,Resume}
- api_callback_tracing sample uses ROCTx
- updates to use rocprofiler_agent_id_t

* Update run-ci.py

- exclude rocprofiler-sdk-tool from samples (no sample uses that code)

* Update lib/rocprofiler-sdk-tool/tool.cpp

- Update rocprofiler_iterate_agent_supported_counters to use agent ID

* Update lib/rocprofiler-sdk/counters/core.*

- profile_config has pointer to agent instead of copy

* Update lib/rocprofiler-sdk/agent.*

- provide get_agent(...) func via rocp agent id

* Update lib/rocprofiler-sdk/{buffer,callback}_tracing.cpp

- return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED for enums missing implementation

* Update lib/rocprofiler-sdk/counters.cpp

- update to use rocprofiler_agent_id_t instead of rocprofiler_agent_t

* Update lib/rocprofiler-sdk/profile_config.cpp

- update to use rocprofiler_agent_id_t instead of rocprofiler_agent_t

* Update source/docs

- requirements.txt + install reqs in cmake

* Bump version to 0.1.0

* Update samples/api_callback_tracing/CMakeLists.txt

- LD_LIBRARY_PATH for test

* Update test/rocprofv3/tracing/CMakeLists.txt

- reorder validation files so memory copy comes first

* Update lib/rocprofiler-sdk-tool/tool.cpp

- logging for flushing buffers
- variables for buffer_size and buffer_watermark
  - increase the watermark to a full buffer
- use dedicated threads for each buffer

* Update lib/rocprofiler-sdk-tool/CMakeLists.txt

- test sets ROCPROF_LOG_LEVEL and ROCPROFILER_LOG_LEVEL to info

* Remove lib/rocprofiler-sdk-tool/trace_buffer.hpp

* Update lib/rocprofiler-sdk-tool/CMakeLists.txt

- drop log level to warning when leak sanitizer is enabled (produces small memory leak)
2024-01-25 23:47:40 -06:00
Giovanni LB c7946c4f26 SWDEV-443217: Fixing stitch.py for PCINFO and enabling filemode in att.py
Change-Id: I85744bc9610f9f224d1ce7bb5d5232ff36fc5f6e
2024-01-25 21:52:47 -03:00
Giovanni LB 3cca2ccb9f SWDEV-443217: Fixing stitch.py for PCINFO and enabling filemode in att.py
Change-Id: I85744bc9610f9f224d1ce7bb5d5232ff36fc5f6e


[ROCm/rocprofiler commit: c7946c4f26]
2024-01-25 21:52:47 -03:00
Giovanni LB 7c7dbf8387 Changing ATT generated csv symbol source ref from 0 to empty string
Change-Id: I699c7f152414554fa4f466c2679522ba578b9e28
2024-01-25 19:37:50 -05:00
Giovanni LB df3e9d4fd6 Changing ATT generated csv symbol source ref from 0 to empty string
Change-Id: I699c7f152414554fa4f466c2679522ba578b9e28


[ROCm/rocprofiler commit: 7c7dbf8387]
2024-01-25 19:37:50 -05:00
Wenkai Du cbc6aa13e7 colltrace: fix dropped trace messages (#1059)
* colltrace: fix dropped trace messages

* Remove extra space

[ROCm/rccl commit: be8ef4367f]
2024-01-25 13:31:53 -08:00
Wenkai Du be8ef4367f colltrace: fix dropped trace messages (#1059)
* colltrace: fix dropped trace messages

* Remove extra space
2024-01-25 13:31:53 -08:00
Wenkai Du 71a356670f Increase P2P channels per peer (#1060)
[ROCm/rccl commit: ffde530af5]
2024-01-25 11:21:58 -08:00
Wenkai Du ffde530af5 Increase P2P channels per peer (#1060) 2024-01-25 11:21:58 -08:00
colramos-amd 995429869a Add missing rocm6 and ubuntu2204 elements to roofline binary
Signed-off-by: colramos-amd <colramos@amd.com>


[ROCm/rocprofiler-compute commit: be606e6ccb]
2024-01-25 12:55:32 -06:00
colramos-amd be606e6ccb Add missing rocm6 and ubuntu2204 elements to roofline binary
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-25 12:55:32 -06:00
Sam Wu b229abc692 Add codeowners for documentation (#1061)
* Add codeowners for documentation

* Update CODEOWNERS

---------

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

[ROCm/rccl commit: 7d6da4c66b]
2024-01-25 09:33:28 -07:00
Sam Wu 7d6da4c66b Add codeowners for documentation (#1061)
* Add codeowners for documentation

* Update CODEOWNERS

---------

Co-authored-by: samjwu <samjwu@users.noreply.github.com>
2024-01-25 09:33:28 -07:00
Ajay f83e9be99c SWDEV-347670 - StreamWait test issues
SWDEV-439486 - Fix Unit_hipStreamValue_Wait32_NonBlocking_Mask_Gte

Change-Id: Iab61cacaa72ac88905a2befe3aff931f8216d152


[ROCm/hip-tests commit: 8c0a6f1cdb]
2024-01-25 11:30:57 -05:00
Ajay 8c0a6f1cdb SWDEV-347670 - StreamWait test issues
SWDEV-439486 - Fix Unit_hipStreamValue_Wait32_NonBlocking_Mask_Gte

Change-Id: Iab61cacaa72ac88905a2befe3aff931f8216d152
2024-01-25 11:30:57 -05:00
Jonathan Kim 62f3f250ce Optimize and fix SDMA gang copies
Optimizations include:
- Greedy gang by placing gang leaders on first D2D sdma blit context
to avoid dead locking with other gang leaders and items.  Note that
this is fine since we can't avoid an oversubscription problem when
there is only 1 xGMI link anyways, so treat all xGMI links as a single
pipe for ganging.
- Non-leader gang items don't have to poll on dependency signals so this
opens up more non-blocking SDMA channels.
- unlock gang lock when gangs are not needed.
- Change gang factor lookup from vector pair to map and register all
gpus in gang factor lookup regardless of link type so that we can take
advantage of the O(logN) direct key/value lookup time.

Fixes include:
- HSA_PAGE_SIZE_4KB was an incorrect macro to use for gang size limit.
As a result, small copies ended up ganging and hitting latency limit.
Use hardcoded 4096 bytes instead.
- Cap auxillary gang factor to the number of non-XGMI SDMA engines.

Change-Id: Ic23fde131502906a807134a04599aa6d012e8cbb
2024-01-25 10:42:27 -05:00
Jonathan Kim 15127c6f85 Optimize and fix SDMA gang copies
Optimizations include:
- Greedy gang by placing gang leaders on first D2D sdma blit context
to avoid dead locking with other gang leaders and items.  Note that
this is fine since we can't avoid an oversubscription problem when
there is only 1 xGMI link anyways, so treat all xGMI links as a single
pipe for ganging.
- Non-leader gang items don't have to poll on dependency signals so this
opens up more non-blocking SDMA channels.
- unlock gang lock when gangs are not needed.
- Change gang factor lookup from vector pair to map and register all
gpus in gang factor lookup regardless of link type so that we can take
advantage of the O(logN) direct key/value lookup time.

Fixes include:
- HSA_PAGE_SIZE_4KB was an incorrect macro to use for gang size limit.
As a result, small copies ended up ganging and hitting latency limit.
Use hardcoded 4096 bytes instead.
- Cap auxillary gang factor to the number of non-XGMI SDMA engines.

Change-Id: Ic23fde131502906a807134a04599aa6d012e8cbb


[ROCm/ROCR-Runtime commit: 62f3f250ce]
2024-01-25 10:42:27 -05:00
Ioannis Assiouras fc7620136f SWDEV-442439 - Removed references to HIT from catch tests
Change-Id: If0a33331a6a03a6efba0f4a5adbac199a5aff911


[ROCm/hip-tests commit: 2cdcbf4d24]
2024-01-25 10:09:24 -05:00
Ioannis Assiouras 2cdcbf4d24 SWDEV-442439 - Removed references to HIT from catch tests
Change-Id: If0a33331a6a03a6efba0f4a5adbac199a5aff911
2024-01-25 10:09:24 -05:00
Deepak Mewar 3aabb927b4 amdsmi README updated for python interface
Change-Id: I92c1e8eb646488a9cdc32d0933f27e5db8c172ef
2024-01-25 02:19:38 -05:00
Deepak Mewar 8eac06c5fd amdsmi README updated for python interface
Change-Id: I92c1e8eb646488a9cdc32d0933f27e5db8c172ef


[ROCm/amdsmi commit: 3aabb927b4]
2024-01-25 02:19:38 -05:00
Jaydeep Patel 95eb873d90 SWDEV-442606 - Add gfx90a and gfx942 in GPU arch list.
Change-Id: I0890bd865f22292465614423b94da8c1d1fc56ce


[ROCm/hip-tests commit: cf461b2f8c]
2024-01-24 23:50:29 -05:00
Jaydeep Patel cf461b2f8c SWDEV-442606 - Add gfx90a and gfx942 in GPU arch list.
Change-Id: I0890bd865f22292465614423b94da8c1d1fc56ce
2024-01-24 23:50:29 -05:00
SrinivasaRao d7fec53720 SWDEV-388833 - [catch2][dtest] Sync tests migrated from dtests to catch2
Change-Id: I73664579ab9475e51db436b57ca6538aa7a8d5d7


[ROCm/hip-tests commit: 902c993615]
2024-01-24 23:04:14 -05:00
SrinivasaRao 902c993615 SWDEV-388833 - [catch2][dtest] Sync tests migrated from dtests to catch2
Change-Id: I73664579ab9475e51db436b57ca6538aa7a8d5d7
2024-01-24 23:04:14 -05:00
Maisam Arif 0550c9352c Updated engine_activity api
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I3f62e093fdc0254015c0837dca59763551d3659c
2024-01-24 22:23:48 -05:00
Maisam Arif 95f4b4eaf3 Updated engine_activity api
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I3f62e093fdc0254015c0837dca59763551d3659c


[ROCm/amdsmi commit: 0550c9352c]
2024-01-24 22:23:48 -05:00
Charis Poag 34bd26c68e Fix metric type error output + re-align with ROCm SMI metrics
Changes:
* [CLI] Provide fix for "/opt/rocm/bin/amd-smi metric
TypeError: '>' not supported between instances of 'str' and 'i"
--> Python API was updated, CLI needed to reflect these changes
* [API] Updated amdsmi.h's with ROCm SMI
--> Incorrectly added mem_bandwidth_acc & mem_max_bandwidth
--> Realigned wrapper with updates
* [Test] Added metrics not shown in gpu_metrics_read.cc

Change-Id: Ia3a172377fd5a582254dd5a46d81dbec7e763cd9
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
2024-01-24 21:23:40 -06:00
Charis Poag f357c180e7 Fix metric type error output + re-align with ROCm SMI metrics
Changes:
* [CLI] Provide fix for "/opt/rocm/bin/amd-smi metric
TypeError: '>' not supported between instances of 'str' and 'i"
--> Python API was updated, CLI needed to reflect these changes
* [API] Updated amdsmi.h's with ROCm SMI
--> Incorrectly added mem_bandwidth_acc & mem_max_bandwidth
--> Realigned wrapper with updates
* [Test] Added metrics not shown in gpu_metrics_read.cc

Change-Id: Ia3a172377fd5a582254dd5a46d81dbec7e763cd9
Signed-off-by: Charis Poag <Charis.Poag@amd.com>


[ROCm/amdsmi commit: 34bd26c68e]
2024-01-24 21:23:40 -06:00
Wenkai Du 99564b560c Remove enhcompat.cc
[ROCm/rccl commit: 6afabf0d0b]
2024-01-24 17:13:30 -08:00
Wenkai Du 6afabf0d0b Remove enhcompat.cc 2024-01-24 17:13:30 -08:00