Commit Graph

5503 Commits

Author SHA1 Message Date
German Andryeyev eec1e978f0 SWDEV-434298 - Change copy buffer kernel
The new copy kernel can limit the number of launched workgoups.
It can copy in chunks of 16 bytes or 4 bytes.
Workgoup size is increased to 512 or 1024

Change-Id: Ic3fefa2d5bda6afebd1acc4d41ad310b138af6df


[ROCm/clr commit: ed4e1fec98]
2023-11-28 16:56:30 -05:00
taosang2 cc6e0c2a32 SWDEV-431104 - Query atomics attribute in Win
Make hipDeviceAttributeHostNativeAtomicSupported return
right value in Windows

Change-Id: I149a8629769cd0d5848ffefb24f1752678a685b8


[ROCm/clr commit: 1faf1a4cb9]
2023-11-24 09:16:41 -05:00
Jaydeep Patel 7933b88d7c SWDEV-431879 - Introduce IsHandlerPending back.
It seems that due to removal of vdev()->isHandlerPending(),
Marker queued to ensure finish is not enqueued and that cause
hung at waiting event for kernel enqueue command.

Change-Id: I364abb2dcb4897b11a7eb61b5d85013b69292792


[ROCm/clr commit: eecbc2e436]
2023-11-23 08:45:19 -05:00
German Andryeyev e390ec044f SWDEV-432174 - Change the fillBuffer kernel
- Add the new fillBuffer kernel, which allows to launch a limited
number of workgroups for memory fill operation
- Switch fill memory to 16 bytes write by default
- Allow to limit the workgroups with DEBUG_CLR_LIMIT_BLIT_WG

Change-Id: Ibad1822f2d42b2fc71bcfc1917c31409c0623e8e


[ROCm/clr commit: f1dc81f427]
2023-11-16 14:25:55 -04:00
Saleel Kudchadker cb9a715e04 SWDEV-422207 - Report kernel names for activity profiling
- Report kernel names for optimized graph path
- Refactor code so that we store profiling info in Accumulate command

Change-Id: Ib97735a0239aeb9fc3a50a4bb7126dd0bcadc8af


[ROCm/clr commit: b056686607]
2023-11-15 14:38:07 -05:00
Saleel Kudchadker 153bb15f46 SWDEV-301667 - Support device kernel args for PCIE
Change-Id: I5e51602bea5a68734227fd62e11ab68eb1ad81c1


[ROCm/clr commit: 5c591b5877]
2023-11-15 14:37:41 -05:00
Jatin Chaudhary 2361cc0dab SWDEV-431399 - fix first set of memory leaks in clr, found in rtc tests
change constexpr variable names to match the C++ style we follow.

Change-Id: Ibc59a65d8ff2ca765da7bf5e653c0650fb3714c4


[ROCm/clr commit: ce27581465]
2023-11-14 20:39:45 -05:00
Ioannis Assiouras 803ef23320 SWDEV-432329 - Remove outdated install instructions from hipamd/rocclr subdirs
Change-Id: Ie6793e0a12689aed201d6f6278b8484d707ebdec


[ROCm/clr commit: f6e0f2613c]
2023-11-14 18:55:10 -05:00
Vikram eef9872d9b SWDEV-423946 - Make hash string to int conversion platform independent
The "long" type size seems to be platform dependent, causing hash value
overflow on implementations where "long" is 4 bytes. This addresses the
scenario.

Change-Id: I4e3c0df457e35b139dcc496d832210ba2cb849ba


[ROCm/clr commit: 1f8ead914a]
2023-11-14 12:01:44 -05:00
Ioannis Assiouras 8f679127a3 SWDEV-428244 - Fixed the computation of the start address of KernelParameters.values_
For avx build, the start address of values_ buffer in KernelParameters is not
correct as it is computed based on 16-byte alignment.

Change-Id: I3b28ae02d2c9c0517d4a348d95ae8c6721bec83d


[ROCm/clr commit: c4f773db0b]
2023-11-14 05:52:01 -05:00
Saleel Kudchadker be743bcd59 SWDEV-422207 - Optimize graph end detection
- Do not use extra barrier to detect graph end. If its a kernel node we
can use a completion signal for the last packet. Saves roughly 6us for
Phantom testcase per graph launch.

Change-Id: I5e0c2479d9964fbeda86ed97533f6718f49a7f91


[ROCm/clr commit: c3bd229f4f]
2023-11-10 11:57:02 -05:00
Saleel Kudchadker 85b95f0a45 SWDEV-301667 - Add error logging
Change-Id: I814399dc0e7083bb7fb0ed8bf46dd96bdf664965


[ROCm/clr commit: f06368fd04]
2023-11-10 11:55:54 -05:00
German 32e02383ba SWDEV-430256 - Expose HIP_FORCE_DEV_KERNARG under PAL
Add support of HIP_FORCE_DEV_KERNARG under PAL.
Fix persistent memory detection for a resource view.

Change-Id: Ifb7db2db14e0c2205a9661cfa53887ec61ab26a4


[ROCm/clr commit: 5f297d75d9]
2023-11-08 10:01:22 -05:00
Saleel Kudchadker 19ea94729c SWDEV-422207 - Report TS for Accumulate command
Change-Id: Iba193a6068c1a2d25c2136643faee2c1e2591a07


[ROCm/clr commit: f5c6fc4dfa]
2023-11-07 18:19:40 +00:00
Alex Xie 4c860f41fd SWDEV-430062 - Support GPU_MAX_HEAP_SIZE flag in ROCm
Change-Id: Ibfe82b3524e09c61879b988f23512f394d725024


[ROCm/clr commit: 4fb9f03f9e]
2023-11-07 10:07:24 -05:00
German 8ea61ce28e SWDEV-1 - Switch to PAL interface 836
Change-Id: I90cdbf3afa19220e968f8f24e5707ee0c37a73ce


[ROCm/clr commit: 65b85d1b33]
2023-11-07 09:48:25 -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 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
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
German 005aebbfad SWDEV-429529 - Allocate glb_ctx_ even for one device
Move context allocation into Device::init() method to simplify the logic and handle
HIP_VISIBLE_DEVICES properly

Change-Id: I0fc6f37c7ae39bedbdad0290295d6794c66d6c54


[ROCm/clr commit: a49d633883]
2023-10-27 15:00:15 -04:00
Saleel Kudchadker d03b38ba62 SWDEV-422207 - Fix profiling check
Change-Id: Ia6ca28f0b593ea1680732684dd10f40c0043c973


[ROCm/clr commit: 182f6e2e6d]
2023-10-25 05:37:55 +00:00
Anusha GodavarthySurya d0b8c99103 SWDEV-422207 - Handle nonkernel nodes for graph opt
- Support graph with different types of nodes with single
branch when DEBUG_CLR_GRAPH_PACKET_CAPTURE flag is enabled

Change-Id: I149a8629769cd0d5849ffefb04f1352668a685b6


[ROCm/clr commit: 38d2c56784]
2023-10-24 18:36:06 +00:00
Saleel Kudchadker cba9970220 SWDEV-408180 - Address possible cornercases
- Address corner cases that can arise with the new
hipMemcpyDeviceToDeviceNoCU enum
- Better log

Change-Id: I6035b901f8d616741054b7a5ff4f67956329ac57


[ROCm/clr commit: 5662d4037c]
2023-10-23 16:54:08 -04:00
Saleel Kudchadker a36851b9ff SWDEV-301667 - Reset addSystemScope_
If we submit a systemScope Barrier, we should reset this flag as there
is no need for dispatch AQL again to flush caches/HDP

Change-Id: I55710feb4ba6650852e785b5cadfa64c6b9ce14e


[ROCm/clr commit: de2b06a7a7]
2023-10-23 16:53:47 -04:00
Ioannis Assiouras 2da4764fc2 SWDEV-428244 - Set PARAMETERS_MIN_ALIGNMENT to the native alignment
Change-Id: I14d8a0db4e575d6fa816754c52df405de88d9200


[ROCm/clr commit: 7868876db7]
2023-10-21 17:26:46 -04:00
Saleel Kudchadker 4c9f160818 SWDEV-408180 - Add a new hipMemcpyKind
Add hipMemcpyDeviceToDeviceNoCU to force a non blit copy path. This
helps in cases where an app may determine that CU may be busy and copies
with SDMA may be quicker.

Change-Id: I59b415dd8f6022c244e8d75f265464d5c635df1e


[ROCm/clr commit: f316a30e5d]
2023-10-20 13:18:10 -04:00
taosang2 28524520e6 SWDEV-364236 - Fix layered Image issue
Fix wrong logic to get layer index;
Make layered image's layout match cuda spec;
Fix wrong comparision of element size.
Remove amd::BufferRect from ihipMemcpyAtoHCommand()
and ihipMemcpyHtoACommand().
Change-Id: Icc6a4233fbce2e9b2dc6feb79e6bfbd761684c7d


[ROCm/clr commit: 5a0085e516]
2023-10-19 16:06:20 -04:00
German 648bfdc5cd SWDEV-427689 - Report LUID in Windows
Pass LUID infromation from PAL to HIP device properties.
NodeMask is calculated based on the order of devices in PAL

Change-Id: Ic53707b68b16f392e5284a0105bf1f3941b46653


[ROCm/clr commit: 694fe4bedb]
2023-10-18 15:07:39 -04:00
German f641a419d0 SWDEV-425441 - Create a fake WGL context
If a WGL context wasn't attachhed to OGL, then OGL fails to return
the entry points for AMD extension.

Change-Id: I2bfa5f4f4d038785282e1c9af455e4593e75d3ff


[ROCm/clr commit: 00b58e2536]
2023-10-18 09:44:09 -04:00
Ioannis Assiouras f43c3ee571 SWDEV-427493 - Fixed segfault after accessing deleted timestamp
Change-Id: I478008f03e2bb4d9ac1f0865605edbf9f8254fea


[ROCm/clr commit: 2d8c65eedf]
2023-10-17 15:24:07 -04:00
kjayapra-amd 6d8458ba5a SWDEV-413997 - Initial VMM changes for ROCm path.
Change-Id: I4405fd7b53182eb4c4622835c811c0dc08461537


[ROCm/clr commit: 3ef829939a]
2023-10-16 11:29:16 -04:00
Jatin Chaudhary 15b062b9b4 SWDEV-306642 - [ABI Break] Add texture/surface/device capabilities device struct entries
- alias hipGetDeviceProperties to hipGetDevicePropertiesR0600
- alias hipDeviceProp_t to hipDeviceProp_tR0600
- remove gcnArch from new device property struct
- add new requested struct members

Change-Id: If3f5dbef3d608487d9f6f419285f4bf577ea9bf0


[ROCm/clr commit: 2989840511]
2023-10-12 11:16:18 -04:00
jiabaxie f25e5e01f3 SWDEV-405983 - adding in HIP_LAUNCH_BLOCKING
Change-Id: I3f9c8a745099aab05155ebe910e727693961a02f


[ROCm/clr commit: 28f0daa34f]
2023-10-10 21:11:13 -04:00
Saleel Kudchadker 0ec2d8847d SWDEV-301667 - Track last used SDMA engine per queue
- Track last SDMA engine per queue, this results in better scheduling
- Reset last SDMA engine upon batch completion. That ensures we dont get
blocked if the same engine is used by another concurrent copy

Change-Id: Id53111980da7ee41d5c932fb44e4aab5b1e065a3


[ROCm/clr commit: bf8baeecb3]
2023-10-10 12:13:11 -04:00
German Andryeyev bd63f3f614 SWDEV-424603 - Use OR for CPU wait request
Make sure rocclr doesn't overwrite the client's request
for a wait.

Change-Id: I0addf18ea408b7f4ecaa1e04b2877cc0bbbfcc0d


[ROCm/clr commit: fe7b36f3cb]
2023-10-06 16:51:44 -04:00
Alex Xie b444ee5b3b SWDEV-423579 - Move header file to ROCclr
This header file is used by ROCclr and might be used by HIP too.
ROCclr folder is a right place for this header file.

Change-Id: Ie2307331f9bd445f3c295d2ccbfc4924b0fa9510


[ROCm/clr commit: 124de0c519]
2023-10-06 14:54:50 -04:00
German Andryeyev d593231137 SWDEV-424603 - Force CPU wait if profiling
Some pytorch tests use a tracer plugin and rely on profiling information
to be reported right after hipDeviceSynchronize()

Change-Id: Ib021a1e7b1a30b3c24de72627c471810f7f7878d


[ROCm/clr commit: 5438b6362e]
2023-10-06 11:33:06 -04:00
kjayapra-amd 96580585c3 SWDEV-419688 - Do not run GWS init kernel for targets > gfx12 and MI300.
Change-Id: I8e7441268978be71ab8a5a33e7f8bcf69660e500
(cherry picked from commit 36d37ef614909c0f215512aac0c133408d787080)


[ROCm/clr commit: 6a8bc3c718]
2023-10-05 14:57:56 -04:00
taosang2 c9b9210059 SWDEV-299127 - Support External Mipmap
Support hipExternalMemoryGetMappedMipmappedArray().
Add ImageExternalBuffer to differiate ImageBuffer.
Currently we only support tiling_optimal mode as
vulkan driver doesn't provide tiling information.

Change-Id: I7e3524cdde53e4df9f728894bcebf4bd3f58d4d9


[ROCm/clr commit: 6398f604b0]
2023-10-05 09:58:17 -04:00
Anusha GodavarthySurya 0404df28ef SWDEV-422207 - Capture AQL Packets for graph Kernel nodes during graph Inst. And enqueue AQL packet during launch
Change-Id: I1e5f7f9e2a70bd500d190193cb6ba0867f5a63e7


[ROCm/clr commit: e63c280d4d]
2023-10-05 00:34:29 -04:00
German Andryeyev ee34d05add SWDEV-424249 - Check if HwEvent is available
Allocate marker only if HW event doesn't exist for the last command.

Change-Id: I3e7284202365a9c75313fb5403f0c1908ab51d1e


[ROCm/clr commit: 596b496c16]
2023-10-02 11:27:16 -04:00
German Andryeyev 2d492a201b SWDEV-423317 - Enable GPU wait for hip sync calls
hipStreamSynchronize and hipDeviceSynchronize won't longer wait
for CPU commands in DD mode

Change-Id: I079c8bbfc34ddc6d3e2d74c92a34665877e512a5


[ROCm/clr commit: fbea58ba11]
2023-09-22 13:04:27 -04:00
German c3d48d80fa SWDEV-404889 - Debugger support, trap handler
Add trap handler code into runtime and compile/load during
device initialization. The current interface for trap handler in
PAL is obsolete and the new interface will be provided later.

Change-Id: I1fa702c5d1f2e6731f781369c980d546cf422328


[ROCm/clr commit: e1d34cb24f]
2023-09-19 16:05:02 -04:00
Ajay c9c3d951f2 SWDEV-421102 - make clr compatible with c++20
Change-Id: Ia692817232caa3ee97dc0b2139645a0474b582e1


[ROCm/clr commit: 2bae1b1387]
2023-09-18 11:28:29 -04:00
Jaydeep Patel e688bfee2c SWDEV-415914 - Use settings from device's setting object.
Change-Id: I4b0cbab361e9e2d5b8164066ec37de1fa212e783


[ROCm/clr commit: d18ae85833]
2023-09-14 19:16:50 +00:00
Julia Jiang 78ced05253 SWDEV-401314 - Fix failure on MI300 for progvar_prog_scope_misc basic test
Change-Id: I56701b050023199a3e56dc5a78553c0c330b8537


[ROCm/clr commit: 42799c9f21]
2023-09-14 11:32:25 -04:00
German 5d9912f48b SWDEV-407533 - [ABI Break]Remove Wavelimiter
Change-Id: I6a2f6fb5a0c3acea93fa0200a69679783e76f5bd


[ROCm/clr commit: 7be3a5e33e]
2023-09-07 09:58:41 -04:00
Ioannis Assiouras 97d7b15428 SWDEV-420328 - Initialize AMD_LOG_MASK with decimals instead of hex
Change-Id: Id25510863c51206bca2e50fc93d6e1e1c5cbbfea


[ROCm/clr commit: 1302d6f119]
2023-09-07 03:04:37 -04:00
Jacob Lambert 1ed5b0b9c5 Revert "SWDEV-410182: Link device-libs when compiling source to bitcode"
This reverts commit 58e62063f3.

Reason for revert: There are currently some outstanding issues with the COMPILE_SOURCE_WITH_DEVICE_LIBS Comgr action (https://ontrack-internal.amd.com/browse/SWDEV-386072). Once these LLVM issues have been resovled, we can safely re-apply this patch

Change-Id: I8501967af8496ea50d6e4a97399e45db51bbed1e


[ROCm/clr commit: 19526e46e6]
2023-09-06 21:34:03 -04:00
Saleel Kudchadker 586f4abcd7 SWDEV-301667 - Balance AQL packet scopes
- Acquire and Release scopes for AQL need to be balanced. These were
missing on the AMD_OPT_FLUSH=0 path.

Change-Id: Ibf4132eb96800f155d7b664359c790d68a353e60


[ROCm/clr commit: 42c9cd0320]
2023-09-06 13:26:39 -04:00