76333 Коммитов

Автор SHA1 Сообщение Дата
Giovanni LB ce9a578350 Adding file mode availability check
Change-Id: I586556a998996c0117d35d966dadf5490831bffb
2023-12-04 13:08:37 -03:00
Giovanni LB d4a2b49f86 Adding file mode availability check
Change-Id: I586556a998996c0117d35d966dadf5490831bffb


[ROCm/rocprofiler commit: ce9a578350]
2023-12-04 13:08:37 -03:00
David Yat Sin 251601b20b Add RISC-V support
Patch provided by user Xeonacid via github:
https://github.com/RadeonOpenCompute/ROCR-Runtime/pull/172/

Change-Id: I5f9086b536383093e7995b9cfdc19dab213f0265
2023-12-04 15:05:22 +00:00
David Yat Sin 38ce852b12 Add RISC-V support
Patch provided by user Xeonacid via github:
https://github.com/RadeonOpenCompute/ROCR-Runtime/pull/172/

Change-Id: I5f9086b536383093e7995b9cfdc19dab213f0265


[ROCm/ROCR-Runtime commit: 251601b20b]
2023-12-04 15:05:22 +00:00
David Yat Sin f07b8f2250 Use CPU_SET_S instead of CPU_SET
Fix incorrect use of CPU_SET on variable size cpu_set_t

Suggested by Christopher E. Moore on github
https://github.com/RadeonOpenCompute/ROCR-Runtime/issues/130

Change-Id: I710b56683ba07c08dcd83c851bf72e4f127a0ad4
2023-12-04 15:05:22 +00:00
David Yat Sin d81bf9cd57 Use CPU_SET_S instead of CPU_SET
Fix incorrect use of CPU_SET on variable size cpu_set_t

Suggested by Christopher E. Moore on github
https://github.com/RadeonOpenCompute/ROCR-Runtime/issues/130

Change-Id: I710b56683ba07c08dcd83c851bf72e4f127a0ad4


[ROCm/ROCR-Runtime commit: f07b8f2250]
2023-12-04 15:05:22 +00:00
Giovanni LB e0c6c5e5bf Extending AQLprofile API to include counter dimensions
Change-Id: If59489a085959f3f765a30e3e445df5151e30350
2023-12-04 15:05:22 +00:00
Giovanni LB ecd768797e Extending AQLprofile API to include counter dimensions
Change-Id: If59489a085959f3f765a30e3e445df5151e30350


[ROCm/ROCR-Runtime commit: e0c6c5e5bf]
2023-12-04 15:05:22 +00:00
David Yat Sin a7a3358067 Implement alternate scratch
The alternate scratch memory is used for dispatches that have a low
number of waves but relatively large wave size.
This allows us to keep the tmpring_size.bits.WAVES field of the main
scratch to full occupancy.

Change-Id: I32d240fac4b7d38200d1eebc1b0fdc8a823920d3
2023-12-04 15:05:22 +00:00
David Yat Sin 6140d8a66d Implement alternate scratch
The alternate scratch memory is used for dispatches that have a low
number of waves but relatively large wave size.
This allows us to keep the tmpring_size.bits.WAVES field of the main
scratch to full occupancy.

Change-Id: I32d240fac4b7d38200d1eebc1b0fdc8a823920d3


[ROCm/ROCR-Runtime commit: a7a3358067]
2023-12-04 15:05:22 +00:00
David Yat Sin dca8f3a21d Implement async scratch reclaim
For devices where the CP FW supports asynchronous scratch reclaim, ROCr
is able to claw-back scratch memory that was assigned to an AQL queue.
With that ability, ROCr does not have to rely on using USO
(use-scratch-once) when assigning large amounts of memory to a queue.
If we reach a situation where we are running low on device memory, ROCr
will attempt to claw-back the scratch memory.

Change-Id: Iddf8ec84e37ab8b9fdc58bafbe2b61fe2acb6eb7
2023-12-04 15:05:22 +00:00
David Yat Sin 66b9fdc2d6 Implement async scratch reclaim
For devices where the CP FW supports asynchronous scratch reclaim, ROCr
is able to claw-back scratch memory that was assigned to an AQL queue.
With that ability, ROCr does not have to rely on using USO
(use-scratch-once) when assigning large amounts of memory to a queue.
If we reach a situation where we are running low on device memory, ROCr
will attempt to claw-back the scratch memory.

Change-Id: Iddf8ec84e37ab8b9fdc58bafbe2b61fe2acb6eb7


[ROCm/ROCR-Runtime commit: dca8f3a21d]
2023-12-04 15:05:22 +00:00
David Yat Sin 64070a9acc Refactor scratch handler function
Separate the event handler and scratch handler portions of the code into
separate functions.

Change-Id: Ifdb7461e816b0f2d3c1c0a74d6f020b4d6fc736c
2023-12-04 15:05:22 +00:00
David Yat Sin fa600434ee Refactor scratch handler function
Separate the event handler and scratch handler portions of the code into
separate functions.

Change-Id: Ifdb7461e816b0f2d3c1c0a74d6f020b4d6fc736c


[ROCm/ROCR-Runtime commit: 64070a9acc]
2023-12-04 15:05:22 +00:00
David Yat Sin fa317f8c41 Re-arrange and rename scratch elements that are used with main scratch
Change-Id: I4c1ff8cf4121a06b586fe49c70400226506bf95e
2023-12-04 15:05:22 +00:00
David Yat Sin b1942bff27 Re-arrange and rename scratch elements that are used with main scratch
Change-Id: I4c1ff8cf4121a06b586fe49c70400226506bf95e


[ROCm/ROCR-Runtime commit: fa317f8c41]
2023-12-04 15:05:22 +00:00
David Yat Sin 0344c8c0b6 Update queue structure to support async reclaim
Update queue structure to add members required for asynchronous reclaim
mechanism and dual-scratch. CP will set the AMD_QUEUE_CAPS_ASYNC_RECLAIM
bit on queue-connect to indicate whether the new features are supported.

The new members are ignored by previous versions of CP FW

Change-Id: Ic8e9ef41c5b1d04f09b43bc9b44b31527863d10f
2023-12-04 15:05:22 +00:00
David Yat Sin 03e87e3d66 Update queue structure to support async reclaim
Update queue structure to add members required for asynchronous reclaim
mechanism and dual-scratch. CP will set the AMD_QUEUE_CAPS_ASYNC_RECLAIM
bit on queue-connect to indicate whether the new features are supported.

The new members are ignored by previous versions of CP FW

Change-Id: Ic8e9ef41c5b1d04f09b43bc9b44b31527863d10f


[ROCm/ROCR-Runtime commit: 0344c8c0b6]
2023-12-04 15:05:22 +00:00
Shweta Khatri acf9e95027 Revert "Restore default code object version usage for ROCr and ROCr Test"
This reverts commit 6ef7fcedd1290b59190f81df1d25142ecb05d282.

Change-Id: Icc0300c25a89fcb99287d013863a00ace7e12129
2023-12-04 15:03:31 +00:00
Shweta Khatri 43f1ee386f Revert "Restore default code object version usage for ROCr and ROCr Test"
This reverts commit 6ef7fcedd1290b59190f81df1d25142ecb05d282.

Change-Id: Icc0300c25a89fcb99287d013863a00ace7e12129


[ROCm/ROCR-Runtime commit: acf9e95027]
2023-12-04 15:03:31 +00:00
Lancelot SIX 6916ce358a trap_handler: Fix handling of debugtrap for gfx11
For gfx11, the trap_handler fails to recognize a trap id 3 and report
the exception to the debugger if the debugger is attached.

This is because the 2nd level trap handler looks for the DEBUG_ENABLED
bit in ttmp13 instead of ttmp11.  This bit is set by the 1st level trap
handler and is part of the 1st/2nd level trap handler ABI.

Change-Id: Ib36361f53d9bcbbed52320d8c3a9ab2c0b28c7cd
2023-12-04 15:03:31 +00:00
Lancelot SIX 9ae972cf1e trap_handler: Fix handling of debugtrap for gfx11
For gfx11, the trap_handler fails to recognize a trap id 3 and report
the exception to the debugger if the debugger is attached.

This is because the 2nd level trap handler looks for the DEBUG_ENABLED
bit in ttmp13 instead of ttmp11.  This bit is set by the 1st level trap
handler and is part of the 1st/2nd level trap handler ABI.

Change-Id: Ib36361f53d9bcbbed52320d8c3a9ab2c0b28c7cd


[ROCm/ROCR-Runtime commit: 6916ce358a]
2023-12-04 15:03:31 +00:00
Lang Yu 991bbdcf24 Revert "Revert "Add support for GC 11.5.0 and 11.5.1""
This reverts commit ebc51dd0eb.

gfx1150/1151 is merged into mainline now.

Change-Id: Id179949318a37888c74abb5a8610d95bc2f22906
2023-12-04 15:03:31 +00:00
Lang Yu 43ae931ad5 Revert "Revert "Add support for GC 11.5.0 and 11.5.1""
This reverts commit a8e34eaec8.

gfx1150/1151 is merged into mainline now.

Change-Id: Id179949318a37888c74abb5a8610d95bc2f22906


[ROCm/ROCR-Runtime commit: 991bbdcf24]
2023-12-04 15:03:31 +00:00
David Yat Sin cb5a29955b rocrtst: Speed-up Memory_Max_Mem test
Skip Extended-scope memory pool as allocation is very close to
fine-grain/coarse-grain but with just different PTE flags.

Only test coarse grain on CPU agent other than the first CPU agent.

Stop bisecting the max size once we are withing 5% to total size for
these pool to speed this test on large memory pools.

Change-Id: I77d1b45a1752ef092dda7c7f27723ea0a292a612
2023-12-04 15:03:31 +00:00
David Yat Sin 663b461512 rocrtst: Speed-up Memory_Max_Mem test
Skip Extended-scope memory pool as allocation is very close to
fine-grain/coarse-grain but with just different PTE flags.

Only test coarse grain on CPU agent other than the first CPU agent.

Stop bisecting the max size once we are withing 5% to total size for
these pool to speed this test on large memory pools.

Change-Id: I77d1b45a1752ef092dda7c7f27723ea0a292a612


[ROCm/ROCR-Runtime commit: cb5a29955b]
2023-12-04 15:03:31 +00:00
David Yat Sin 642165b1bc Increase scratch aperture size to 4GB per XCC
Change-Id: Ia02cea45ce8b782527f44fec539b0ab7cc453200
2023-12-04 15:03:31 +00:00
David Yat Sin 0607f3c34d Increase scratch aperture size to 4GB per XCC
Change-Id: Ia02cea45ce8b782527f44fec539b0ab7cc453200


[ROCm/ROCR-Runtime commit: 642165b1bc]
2023-12-04 15:03:31 +00:00
Jonathan Kim 81c64228e0 Increase SDMA copy size
SDMA4.4 and SDMA5.2+ has increased it's available copy size to 2^30 bytes
represented by exponent as bits set in the COUNT field of the
linear copy.

Also note that the full 2^22 byte limit is available from SDMA4 onwards
as it has corrected the 0x3fffe0 HW limitation from SDMA3.

As copy limit has increase, this can change system performance
so provide env var HSA_ENABLE_SDMA_COPY_SIZE_OVERRIDE=0 to fall
back to the original 0x3fffe0 limit for debugging purposes.

Change-Id: I0fb6e5378f68e5b8a00ff559271691a943ee06ee
2023-12-04 15:03:31 +00:00
Jonathan Kim 1931c4f8a4 Increase SDMA copy size
SDMA4.4 and SDMA5.2+ has increased it's available copy size to 2^30 bytes
represented by exponent as bits set in the COUNT field of the
linear copy.

Also note that the full 2^22 byte limit is available from SDMA4 onwards
as it has corrected the 0x3fffe0 HW limitation from SDMA3.

As copy limit has increase, this can change system performance
so provide env var HSA_ENABLE_SDMA_COPY_SIZE_OVERRIDE=0 to fall
back to the original 0x3fffe0 limit for debugging purposes.

Change-Id: I0fb6e5378f68e5b8a00ff559271691a943ee06ee


[ROCm/ROCR-Runtime commit: 81c64228e0]
2023-12-04 15:03:31 +00:00
Youssef Aly ae1da390bd Enabled profiling for CPU agents for memcpy activities
To be able to trace memcpy asynchronously, both dst and src agents need to have profiling enabled and the api for enabling profiling was only enabling for gpu agents. CPU agents didn't have profiling enabled so the signal owner could not be known. hsa_amd_profiling_get_async_copy_time will fail with an HSA status error because it can't read the agent for the given signal.

Change-Id: Ie165e0e39b8fcd6992a55695b9ffcead10a8e812
2023-12-04 15:01:59 +00:00
Youssef Aly 1c1298c1c0 Enabled profiling for CPU agents for memcpy activities
To be able to trace memcpy asynchronously, both dst and src agents need to have profiling enabled and the api for enabling profiling was only enabling for gpu agents. CPU agents didn't have profiling enabled so the signal owner could not be known. hsa_amd_profiling_get_async_copy_time will fail with an HSA status error because it can't read the agent for the given signal.

Change-Id: Ie165e0e39b8fcd6992a55695b9ffcead10a8e812


[ROCm/ROCR-Runtime commit: ae1da390bd]
2023-12-04 15:01:59 +00:00
Jonathan R. Madsen f9cf1852e5 rocprofiler-register support
- Update CMakeLists.txt
  - find_package for rocprofiler-register
    - this is an optional package until rocprofiler-register is added to the CI
  - define HSA_VERSION_{MAJOR,MINOR,PATCH} ppdefs
- Update runtime.cpp
  - include <rocprofiler-register/rocprofiler-register.h>
  - if rocprofiler-register succeeds, do not support v1 unless explicitly requested

Change-Id: I8f48bbf3f6b52fb91ddade2f198491a1256035fe
2023-12-04 15:01:59 +00:00
Jonathan R. Madsen 880ddd4387 rocprofiler-register support
- Update CMakeLists.txt
  - find_package for rocprofiler-register
    - this is an optional package until rocprofiler-register is added to the CI
  - define HSA_VERSION_{MAJOR,MINOR,PATCH} ppdefs
- Update runtime.cpp
  - include <rocprofiler-register/rocprofiler-register.h>
  - if rocprofiler-register succeeds, do not support v1 unless explicitly requested

Change-Id: I8f48bbf3f6b52fb91ddade2f198491a1256035fe


[ROCm/ROCR-Runtime commit: f9cf1852e5]
2023-12-04 15:01:59 +00:00
Jonathan Kim 2f847cf05f Restore default code object version usage for ROCr and ROCr Test
Remove override that forces ROCr image blit source and ROCr test to use
code object version 4 now that mainline has been updated to version 5.

Change-Id: I94681e86835c0e382475306ead4cd4132a2ee78f
2023-12-04 15:01:44 +00:00
Jonathan Kim 73ab40ecd3 Restore default code object version usage for ROCr and ROCr Test
Remove override that forces ROCr image blit source and ROCr test to use
code object version 4 now that mainline has been updated to version 5.

Change-Id: I94681e86835c0e382475306ead4cd4132a2ee78f


[ROCm/ROCR-Runtime commit: 2f847cf05f]
2023-12-04 15:01:44 +00:00
Jatin Chaudhary c9b5c5c657 SWDEV-431399 - add const cast to pointer before casting it to function type.
C++ does not allow const qualifier on function type, even if we add it it will get ignored and clang will fail with failed cast from const void* to func*. const_cast here is necessary to make it work.

Change-Id: I72cec8d9e715bdf9e163cb9b08393dd733dafaf2


[ROCm/clr commit: 5b5213adf5]
2023-12-04 04:34:57 -05:00
Jatin Chaudhary 5b5213adf5 SWDEV-431399 - add const cast to pointer before casting it to function type.
C++ does not allow const qualifier on function type, even if we add it it will get ignored and clang will fail with failed cast from const void* to func*. const_cast here is necessary to make it work.

Change-Id: I72cec8d9e715bdf9e163cb9b08393dd733dafaf2
2023-12-04 04:34:57 -05:00
Ioannis Assiouras ab411c8f34 SWDEV-434702 - get the nullstream in constant time in iHipWaitActiveStreams
Change-Id: Ib92cc4d2ca1b725cf30b24cdd711c873fd513d95


[ROCm/clr commit: 8bdda90071]
2023-12-03 19:05:18 -05:00
Ioannis Assiouras 8bdda90071 SWDEV-434702 - get the nullstream in constant time in iHipWaitActiveStreams
Change-Id: Ib92cc4d2ca1b725cf30b24cdd711c873fd513d95
2023-12-03 19:05:18 -05:00
Bertan Dogancay ae0bdad45c IFC mix build (#998)
[ROCm/rccl commit: 7c0f49a878]
2023-12-02 18:49:52 -07:00
Bertan Dogancay 7c0f49a878 IFC mix build (#998) 2023-12-02 18:49:52 -07:00
Wenkai Du b38b7fa3a2 Increase max channles to 64 (#993)
[ROCm/rccl commit: 4ba65d1d6a]
2023-12-01 16:01:11 -08:00
Wenkai Du 4ba65d1d6a Increase max channles to 64 (#993) 2023-12-01 16:01:11 -08:00
Karl W Schulz 0f8d5fe131 Merge branch '2.x' into 2.x-dev
[ROCm/rocprofiler-compute commit: bd803a0883]
2023-12-01 14:50:08 -06:00
Karl W Schulz bd803a0883 Merge branch '2.x' into 2.x-dev 2023-12-01 14:50:08 -06:00
Aryan Salmanpour bf9ca09a9a Chamne the return type of FillSeqCallbackFn to int and check to see if it returns any error (#112)
[ROCm/rocdecode commit: ae63fbacab]
2023-12-01 14:50:33 -05:00
Aryan Salmanpour ae63fbacab Chamne the return type of FillSeqCallbackFn to int and check to see if it returns any error (#112) 2023-12-01 14:50:33 -05:00
colramos-amd c134a12674 Fixing more typos...
Signed-off-by: colramos-amd <colramos@amd.com>


[ROCm/rocprofiler-compute commit: f822a56b7c]
2023-12-01 13:43:07 -06:00
colramos-amd f822a56b7c Fixing more typos...
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-01 13:43:07 -06:00