Граф коммитов

64512 Коммитов

Автор SHA1 Сообщение Дата
Saurabh Verma e8fa4d3873 Evaluation portion for metrics (#123)
* EvaluateAST and validation of RawAST

* Adding MetricDimension class and concepts

* set_dimensions() and improved ValidateRawAST()

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

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

* Addressing 1st round of review comments

* Modified the parser production rules to support the right syntax for REDUCE and SELECT derived metric expressions

* changes to raw_ast.hpp and fmt::format()

* Parser tests updated to support corrected REDUCE and SELECT syntax

* changes to EvaluateAST::set_dimensions() and other dimension related code changes

* Added a test for EvaluateAST::evaluate() to test basic arithmetic on EvaluateAST

* Format source code (via clang-format v11) on sauverma/evaluate-ast (#146)

* source formatting (clang-format v11)

* Add dimension information to counter record

Restructures counter records to have the following design:

rocprofiler_record_id_t which is an int64_t that encodes
both the counter id and dimension information for the
record. The first 16 bits are reserved for the counter id while
the last 48 are split among the dimensions specified in
rocprofiler_dimension_t (currently 8 bits per dimension).
Each of the 8 bits for the dimension stores the dimension
value for that dimension for this record (i.e. a value of 8
on dimension XCC would denote XCC[8] for the counter). The
split among the dimensions will automatically adjust as
dimensions are added or removed.

The record also contains a union of {int64_t hw_counter, double
derived_counter} to specify the value of the record at
rocprofiler_record_id_t. int64_t denotes a physical hardware
counter that has integer types while the double is used for derived
counters (which type this counters values are needs to be queried
separately).

* Integration of new id type + other fixes

---------

Co-authored-by: sauverma93 <sauverma93@users.noreply.github.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>

* Fixed sissues with reduce() implementation and added a test for reduce()

* Updated parser syntax for reduce() and updated the parser test. Disabled the test for select()

* Build warning fixes

* Modifications to support fetching xcc/etc info from agent

* Initial plumbing working for single counters, cleanup+tests still needed

* Remove string comparison from reduce ops

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

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

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

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

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

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

* Merged with master

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

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

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

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

* Test fix

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <bwelton@users.noreply.github.com>
Co-authored-by: sauverma93 <sauverma93@users.noreply.github.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>

[ROCm/rocprofiler-sdk commit: 63775f241a]
2023-11-03 21:10:40 -07:00
Saurabh Verma 63775f241a Evaluation portion for metrics (#123)
* EvaluateAST and validation of RawAST

* Adding MetricDimension class and concepts

* set_dimensions() and improved ValidateRawAST()

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

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

* Addressing 1st round of review comments

* Modified the parser production rules to support the right syntax for REDUCE and SELECT derived metric expressions

* changes to raw_ast.hpp and fmt::format()

* Parser tests updated to support corrected REDUCE and SELECT syntax

* changes to EvaluateAST::set_dimensions() and other dimension related code changes

* Added a test for EvaluateAST::evaluate() to test basic arithmetic on EvaluateAST

* Format source code (via clang-format v11) on sauverma/evaluate-ast (#146)

* source formatting (clang-format v11)

* Add dimension information to counter record

Restructures counter records to have the following design:

rocprofiler_record_id_t which is an int64_t that encodes
both the counter id and dimension information for the
record. The first 16 bits are reserved for the counter id while
the last 48 are split among the dimensions specified in
rocprofiler_dimension_t (currently 8 bits per dimension).
Each of the 8 bits for the dimension stores the dimension
value for that dimension for this record (i.e. a value of 8
on dimension XCC would denote XCC[8] for the counter). The
split among the dimensions will automatically adjust as
dimensions are added or removed.

The record also contains a union of {int64_t hw_counter, double
derived_counter} to specify the value of the record at
rocprofiler_record_id_t. int64_t denotes a physical hardware
counter that has integer types while the double is used for derived
counters (which type this counters values are needs to be queried
separately).

* Integration of new id type + other fixes

---------

Co-authored-by: sauverma93 <sauverma93@users.noreply.github.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>

* Fixed sissues with reduce() implementation and added a test for reduce()

* Updated parser syntax for reduce() and updated the parser test. Disabled the test for select()

* Build warning fixes

* Modifications to support fetching xcc/etc info from agent

* Initial plumbing working for single counters, cleanup+tests still needed

* Remove string comparison from reduce ops

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

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

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

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

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

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

* Merged with master

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

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

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

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

* Test fix

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <bwelton@users.noreply.github.com>
Co-authored-by: sauverma93 <sauverma93@users.noreply.github.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>
2023-11-03 21:10:40 -07:00
Galantsev, Dmitrii 92e2857be9 Fix issues introduced in e89751e202
- std=c++.. is not required because CMAKE_CXX_STANDARD is set
- nullptr check breaks the test because we rely on nullptr as an api for
  checking feature availability.
- enum number setting is unnecessary

Change-Id: I393e6dd3f292b7fa4198302f140c0443ba5e50f5
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/rocm_smi_lib commit: a099f0682a]
2023-11-03 17:54:35 -05:00
Galantsev, Dmitrii a099f0682a Fix issues introduced in 57b6135e54
- std=c++.. is not required because CMAKE_CXX_STANDARD is set
- nullptr check breaks the test because we rely on nullptr as an api for
  checking feature availability.
- enum number setting is unnecessary

Change-Id: I393e6dd3f292b7fa4198302f140c0443ba5e50f5
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-11-03 17:54:35 -05:00
Rakesh Roy 1f343c299d SWDEV-426219 - Disable Unit_hipLaunchParm on MI100
- Unit_hipLaunchParm fails in integrity test & in PSDB on MI100.
- Disable it until the failure is fixed.

Change-Id: Id055860e067189c0ef85c77583c73269db9d2b51


[ROCm/hip-tests commit: 31dbd1970a]
2023-11-03 14:35:04 -04:00
Rakesh Roy 31dbd1970a SWDEV-426219 - Disable Unit_hipLaunchParm on MI100
- Unit_hipLaunchParm fails in integrity test & in PSDB on MI100.
- Disable it until the failure is fixed.

Change-Id: Id055860e067189c0ef85c77583c73269db9d2b51
2023-11-03 14:35:04 -04:00
gobhardw 9954f937d0 Fixing build for opensuse
Change-Id: I7b68382224221e899f64c06cec67b969a212f21a
2023-11-03 17:04:08 +00:00
gobhardw 67e16c37c1 Fixing build for opensuse
Change-Id: I7b68382224221e899f64c06cec67b969a212f21a


[ROCm/rocprofiler commit: 9954f937d0]
2023-11-03 17:04:08 +00:00
Julia Jiang 8717d01588 SWDEV-368819 - Adding more info for hip memory APIs
Change-Id: Ia1ab540580cd8a2967263adcb23c888007a22ac6


[ROCm/hip commit: d1d95ca0db]
2023-11-03 12:01:07 -04:00
Julia Jiang d1d95ca0db SWDEV-368819 - Adding more info for hip memory APIs
Change-Id: Ia1ab540580cd8a2967263adcb23c888007a22ac6
2023-11-03 12:01:07 -04:00
Bill(Shuzhou) Liu 1ab4110d46 RDC crash when exit
Join the signal handling thread instead of cancel it to prevent
crash with "terminate called without an active exception".

Change-Id: I2e18eb825728fd3a94f67b1b0049516bb7b6ebbc
2023-11-03 09:10:22 -04:00
Bill(Shuzhou) Liu a59c9e655b RDC crash when exit
Join the signal handling thread instead of cancel it to prevent
crash with "terminate called without an active exception".

Change-Id: I2e18eb825728fd3a94f67b1b0049516bb7b6ebbc


[ROCm/rdc commit: 1ab4110d46]
2023-11-03 09:10:22 -04:00
Ammar ELWazir 489bef5ed1 Update .gitignore (#33)
* Update .gitignore

* Update .gitignore

[ROCm/rocprofiler-register commit: 6af827cd91]
2023-11-03 07:02:04 -05:00
Ammar ELWazir 6af827cd91 Update .gitignore (#33)
* Update .gitignore

* Update .gitignore
2023-11-03 07:02:04 -05:00
Saleel Kudchadker 5f009b7cb1 SWDEV-422207 - Track commands for capture
- Track all captured commands under a new AccumulateCommand
- Add begin() and end() methods to capture commands
- Explicit TS object now passed to certain methods because
profilingBegin() and profilingEnd() now happen separately and thus can
run into threading issues

Change-Id: I171106bdcad72b057836cb2f3fc398db3533119f


[ROCm/clr commit: 40f41f4d0b]
2023-11-03 05:09:04 +00:00
Saleel Kudchadker 40f41f4d0b SWDEV-422207 - Track commands for capture
- Track all captured commands under a new AccumulateCommand
- Add begin() and end() methods to capture commands
- Explicit TS object now passed to certain methods because
profilingBegin() and profilingEnd() now happen separately and thus can
run into threading issues

Change-Id: I171106bdcad72b057836cb2f3fc398db3533119f
2023-11-03 05:09:04 +00:00
Jonathan R. Madsen 370a86830b Support Tool Intercept API Tables (#165)
* Update include/rocprofiler

- intercept_table.h header
- generic rocprofiler_runtime_library_t
- rocprofiler_internal_thread_library_t is not typedef for rocprofiler_runtime_library_t
- rocprofiler_at_runtime_api_registration

* Update lib/rocprofiler

- minor tweaks to context.cpp
  - check if none context early
  - disallow stop_context when finalizing
- add intercept_table.hpp and intercept_table.cpp
  - implement rocprofiler_at_runtime_api_registration
  - implement notify_runtime_api_registration
- update registration.cpp
  - invoke notify_runtime_api_registration
  - tweak to fini status when invoking client finalizer

* Update lib/rocprofiler/tests

- add tests for intercept table

* Add samples/intercept_table

- demonstrate how to install custom API function wrappers instead of relying on HSA callback tracing

* Update lib/rocprofiler/tests/intercept_table.cpp

- remove _SERVICE from ROCPROFILER_SERVICE_

* Update include/rocprofiler/intercept_table.h

- Update doxygen comments

* Update lib/rocprofiler/intercept_table.cpp

- return error config locked if already initialized

* Update lib/rocprofiler/intercept_table.cpp

- remove unnecessary alias

* Apply suggestions from code review

Co-authored-by: Tony Tye <Tony.Tye@amd.com>

* Update doxygen comments

- clarify when rocprofiler_at_runtime_api_registration can be invoked

* Use rocprofiler_runtime_library_t for intercept table and internal threading

- remove rocprofiler_intercept_library_t alias to rocprofiler_runtime_library_t
- remove rocprofiler_internal_thread_library_t alias to rocprofiler_runtime_library_t
- move around documentation with regard to rocprofiler_runtime_library_t enumeration
- added some extra doxygen documentation to internal threading functions

---------

Co-authored-by: Tony Tye <Tony.Tye@amd.com>

[ROCm/rocprofiler-sdk commit: 4f2dc896d3]
2023-11-02 19:10:10 -05:00
Jonathan R. Madsen 4f2dc896d3 Support Tool Intercept API Tables (#165)
* Update include/rocprofiler

- intercept_table.h header
- generic rocprofiler_runtime_library_t
- rocprofiler_internal_thread_library_t is not typedef for rocprofiler_runtime_library_t
- rocprofiler_at_runtime_api_registration

* Update lib/rocprofiler

- minor tweaks to context.cpp
  - check if none context early
  - disallow stop_context when finalizing
- add intercept_table.hpp and intercept_table.cpp
  - implement rocprofiler_at_runtime_api_registration
  - implement notify_runtime_api_registration
- update registration.cpp
  - invoke notify_runtime_api_registration
  - tweak to fini status when invoking client finalizer

* Update lib/rocprofiler/tests

- add tests for intercept table

* Add samples/intercept_table

- demonstrate how to install custom API function wrappers instead of relying on HSA callback tracing

* Update lib/rocprofiler/tests/intercept_table.cpp

- remove _SERVICE from ROCPROFILER_SERVICE_

* Update include/rocprofiler/intercept_table.h

- Update doxygen comments

* Update lib/rocprofiler/intercept_table.cpp

- return error config locked if already initialized

* Update lib/rocprofiler/intercept_table.cpp

- remove unnecessary alias

* Apply suggestions from code review

Co-authored-by: Tony Tye <Tony.Tye@amd.com>

* Update doxygen comments

- clarify when rocprofiler_at_runtime_api_registration can be invoked

* Use rocprofiler_runtime_library_t for intercept table and internal threading

- remove rocprofiler_intercept_library_t alias to rocprofiler_runtime_library_t
- remove rocprofiler_internal_thread_library_t alias to rocprofiler_runtime_library_t
- move around documentation with regard to rocprofiler_runtime_library_t enumeration
- added some extra doxygen documentation to internal threading functions

---------

Co-authored-by: Tony Tye <Tony.Tye@amd.com>
2023-11-02 19:10:10 -05:00
Galantsev, Dmitrii 3126d1461c CMake - Bump version
Change-Id: Ibe62c0059262bcb9937ae856b796392b1fe362a0
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/rocm_smi_lib commit: 7d629c5959]
2023-11-02 18:26:00 -05:00
Galantsev, Dmitrii 7d629c5959 CMake - Bump version
Change-Id: Ibe62c0059262bcb9937ae856b796392b1fe362a0
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-11-02 18:26:00 -05:00
Galantsev, Dmitrii 3ac6b36a60 Merge amd-staging into amd-master 20231102
Change-Id: I7d1901564af875f2f9aa8879f24bff098ea30600
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/rocm_smi_lib commit: 8aa036ae08]
2023-11-02 18:24:10 -05:00
Galantsev, Dmitrii 8aa036ae08 Merge amd-staging into amd-master 20231102
Change-Id: I7d1901564af875f2f9aa8879f24bff098ea30600
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-11-02 18:24:10 -05:00
Julia Jiang 76a9859c79 SWDEV-422771 - Update hip logging to the latest
Change-Id: Id0b5b480d6011d7b882e0f7c709ec169c2f78d3c


[ROCm/hip commit: 2c8337f47b]
2023-11-02 14:54:18 -04:00
Julia Jiang 2c8337f47b SWDEV-422771 - Update hip logging to the latest
Change-Id: Id0b5b480d6011d7b882e0f7c709ec169c2f78d3c
2023-11-02 14:54:18 -04:00
Saleel Kudchadker 1d4bd084b8 SWDEV-301667 - Cleanup unused paths
- Refactor code and cleanup logic for callback saving for event records

Change-Id: I5c56aa8e9c968a5bca70fb07ad1796da318e9e89


[ROCm/clr commit: 1338ff37e8]
2023-11-02 11:43:41 -04:00
Saleel Kudchadker 1338ff37e8 SWDEV-301667 - Cleanup unused paths
- Refactor code and cleanup logic for callback saving for event records

Change-Id: I5c56aa8e9c968a5bca70fb07ad1796da318e9e89
2023-11-02 11:43:41 -04:00
Karl W Schulz dd252eda37 Merge branch 'badge' into 2.x
[ROCm/rocprofiler-compute commit: df4d508a03]
2023-11-02 08:30:07 -05:00
Karl W Schulz df4d508a03 Merge branch 'badge' into 2.x 2023-11-02 08:30:07 -05:00
gobhardw 6ee20035dd rocporf binary update
Change-Id: I2ba07a213acc7db403b804d8136edce28df9dd14
2023-11-02 07:14:59 -04:00
gobhardw 51a6df35d1 rocporf binary update
Change-Id: I2ba07a213acc7db403b804d8136edce28df9dd14


[ROCm/rocprofiler commit: 6ee20035dd]
2023-11-02 07:14:59 -04:00
Jatin Chaudhary 98381a5907 SWDEV-425943 - skip certain tests for gfx90a+
Change-Id: I055182144d5a5e470e5cca81306f7d7c838792d9


[ROCm/hip-tests commit: 905b943769]
2023-11-02 05:39:45 -04:00
Jatin Chaudhary 905b943769 SWDEV-425943 - skip certain tests for gfx90a+
Change-Id: I055182144d5a5e470e5cca81306f7d7c838792d9
2023-11-02 05:39:45 -04:00
Satyanvesh Dittakavi efbe1365b9 SWDEV-430048 - hipMemcpy2D should return success for zero sized arrays
- This matches the CUDA behavior
- The pitch and width checks removed are already covered in ihipmemcpy2D

Change-Id: I03a6921a78b5d89723830d8dde5865fdc6db0379


[ROCm/clr commit: 6d6465cb96]
2023-11-02 00:40:08 -04:00
Satyanvesh Dittakavi 6d6465cb96 SWDEV-430048 - hipMemcpy2D should return success for zero sized arrays
- This matches the CUDA behavior
- The pitch and width checks removed are already covered in ihipmemcpy2D

Change-Id: I03a6921a78b5d89723830d8dde5865fdc6db0379
2023-11-02 00:40:08 -04:00
kjayapra-amd 60e4e28d57 SWDEV-407994 - Adding stress test for hipModuleLoadData and hipModuleUnload code path.
Change-Id: I0b7e991ebb69699f6d285b0d3a08ea072fdfb5df


[ROCm/hip-tests commit: 895a844980]
2023-11-01 21:50:44 -04:00
kjayapra-amd 895a844980 SWDEV-407994 - Adding stress test for hipModuleLoadData and hipModuleUnload code path.
Change-Id: I0b7e991ebb69699f6d285b0d3a08ea072fdfb5df
2023-11-01 21:50:44 -04:00
Satyanvesh Dittakavi f891b700ab SWDEV-421415 - Add hipRTC test with device-side malloc
Change-Id: Ia1c3f2ab703432915bda0c62cae584349e535463


[ROCm/hip-tests commit: 50e3514a82]
2023-11-01 21:50:00 -04:00
Satyanvesh Dittakavi 50e3514a82 SWDEV-421415 - Add hipRTC test with device-side malloc
Change-Id: Ia1c3f2ab703432915bda0c62cae584349e535463
2023-11-01 21:50:00 -04:00
Todd tiantuo Li e474534ce7 SWDEV-422544 - remove the check for hipDeviceAttributeUnifiedAddressing as a fixed value
Change-Id: I682eeb194903e4b74cd41597164f3622975daea6


[ROCm/hip-tests commit: 79d1fd1170]
2023-11-01 21:49:15 -04:00
Todd tiantuo Li 79d1fd1170 SWDEV-422544 - remove the check for hipDeviceAttributeUnifiedAddressing as a fixed value
Change-Id: I682eeb194903e4b74cd41597164f3622975daea6
2023-11-01 21:49:15 -04:00
Jatin Chaudhary fac4985abc SWDEV-424156 - Add parsing of visible devices for hip-tests
Change-Id: I0b0a2b4c5aec43ad8ee346e6eaaac2b726107207


[ROCm/hip-tests commit: a4b31afab3]
2023-11-01 21:46:26 -04:00
Jatin Chaudhary a4b31afab3 SWDEV-424156 - Add parsing of visible devices for hip-tests
Change-Id: I0b0a2b4c5aec43ad8ee346e6eaaac2b726107207
2023-11-01 21:46:26 -04:00
Satyanvesh Dittakavi 6087fc0f6b SWDEV-419077 - Link the hiprtc tests explicitly with hiprtc library
Change-Id: I055b7c7dae41cc5d6230897e31caa5e836c589a2


[ROCm/hip-tests commit: 94c082d518]
2023-11-01 21:40:24 -04:00
Satyanvesh Dittakavi 94c082d518 SWDEV-419077 - Link the hiprtc tests explicitly with hiprtc library
Change-Id: I055b7c7dae41cc5d6230897e31caa5e836c589a2
2023-11-01 21:40:24 -04:00
Rupam Chetia 86677752e9 SWDEV-416603 - [catch2][dtest] Adding test for linking unused libraries
Change-Id: Ib3109c404ad7d04a8416eb785b5d1b0885da8ce3


[ROCm/hip-tests commit: efc7afbf22]
2023-11-01 21:38:38 -04:00
Rupam Chetia efc7afbf22 SWDEV-416603 - [catch2][dtest] Adding test for linking unused libraries
Change-Id: Ib3109c404ad7d04a8416eb785b5d1b0885da8ce3
2023-11-01 21:38:38 -04:00
mbhiutra bc93528aa2 SWDEV-415965 - [catch2][dtest] Added test for newly added member hipDeviceAttributeHostRegisterSupported
Change-Id: I89f716f1be9c5a36d5ffdb24e056a13cc4a493ca


[ROCm/hip-tests commit: 6bc9d607ac]
2023-11-01 21:37:07 -04:00
mbhiutra 6bc9d607ac SWDEV-415965 - [catch2][dtest] Added test for newly added member hipDeviceAttributeHostRegisterSupported
Change-Id: I89f716f1be9c5a36d5ffdb24e056a13cc4a493ca
2023-11-01 21:37:07 -04:00
Ioannis Assiouras b2953b63a9 SWDEV-428408 - Add waitingSignal for hsa_amd_memory_async_copy calls in hsaCopyStaged
Change-Id: I3c42ef1ef3ed2f0b00f0a50d402a32106e5978ba


[ROCm/clr commit: b0c9fb84fd]
2023-11-01 19:43:08 -04:00
Ioannis Assiouras b0c9fb84fd SWDEV-428408 - Add waitingSignal for hsa_amd_memory_async_copy calls in hsaCopyStaged
Change-Id: I3c42ef1ef3ed2f0b00f0a50d402a32106e5978ba
2023-11-01 19:43:08 -04:00