Commit Graph

1163 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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 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
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
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
Ioannis Assiouras 60522dbdaf SWDEV-419664 - Set reserved0 field of hsa_kernel_dispatch_packet to zero
Change-Id: I2e9c503f1c393548aacad47d40da90a2126e522c


[ROCm/clr commit: 96ac99b4a0]
2023-09-05 19:10:33 -04:00
Sourabh Betigeri 22f367a172 SWDEV-418855 - Limits the 'no GWS' approach to gfx940, gfx11and gfx12
Change-Id: Iab2d34d3142902517124cec7ef3461cf7aa4b98c


[ROCm/clr commit: 7dc78d234d]
2023-08-30 23:48:02 -04:00
German 476e7f7022 SWDEV-418038 - Remove opengl32.lib from linking in runtime
Change-Id: If9416742cd8dc6a35adaccce802d65888e808ef2


[ROCm/clr commit: ad56c20cd0]
2023-08-30 14:07:28 -04:00
Juan Manuel Martinez 58e62063f3 SWDEV-410182: Link device-libs when compiling source to bitcode
This is related to SWDEV-410182, but it's not enough to fix it.

Functions from device-libs are precompiled into llvm-ir in a "target agnostic" way
(in reality, it's not 100% target agnostic, which brings us many headaches).

When linking builtins (like device-libs) from the command line, we use the flag
-mlink-builtin-bitcode. The difference between regular linking of bitcode and
this flag is that the later propagates target-specific attributes. If this
attributes are not propagated, we can end up with incosistent target attributes.

Comgr provides the action AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC
for this exact reason. The old action is currently deprecated and this one should
be used.

Change-Id: I518415214debdf4fedf0b1d81456d6e9fb8a3d19


[ROCm/clr commit: f3dc04a50d]
2023-08-30 04:24:17 -04:00
German db1e03f276 SWDEV-3 - Move PAL to version 818
Restore PAL platform destruction.
Update CmdAllocatorCreateInfo::AllocInfo for the new interface.

Change-Id: Iea418eed7ee26166039a4a9cc1999438856e9097


[ROCm/clr commit: bd00826446]
2023-08-29 12:46:28 -04:00
Saleel Kudchadker 0a26b75238 SWDEV-301667 - Use large signal pool
Use large signal pool if profiler is connected or profiling forced
enabled. This is needed to mitigate signal creation overhead when
profiling as signals are attached to every packet and deeper batch may
show overhead of signal allocation.

Change-Id: I8034b8a20b55328b87d593bf044f59672f9653e8


[ROCm/clr commit: 1ec0ba3537]
2023-08-24 19:17:05 -04:00
German 3f4bbcfdba SWDEV-407533 - [ABI Break]Purge unused env vars
Change-Id: I627950e8ebb6299affc602754a20d442dbe42b14


[ROCm/clr commit: 077311153a]
2023-08-24 14:11:40 -04:00
Tao Sang 3fdd346cf2 SWDEV-417727 - Fix hipSignalExternalSemaphoresAsync()
This reverts commit cab71e6e00.

Implement the right way to make ExternalSemaphores be signalled
only after prior works on the stream have been finished.

Change-Id: I9d5974e05d5f229170b928db4566c14e40e3cbaa


[ROCm/clr commit: d433df4761]
2023-08-23 22:31:27 -04:00
German 85d075fa82 SWDEV-404889 - Inital change for debugger support
- Program unique AQL index for debugger. The logic manages AQL array of packets per HW queue.
- Provide debug state to PAL

Change-Id: I38fa1f5435fa711fd1d44dc391f2e61eb2a25efa


[ROCm/clr commit: d97cc0abbd]
2023-08-23 13:21:58 -04:00
kjayapra-amd b432ced424 SWDEV-408473 - Add wait time of 10 us if the waiting signal copy was < 24K.
Change-Id: I438ec9eb07e5034042a4a9a5e6e51d74daba2c83


[ROCm/clr commit: 6f5277c701]
2023-08-23 10:46:33 -04:00
Juan Manuel MARTINEZ CAAMAÑO 0cf78a6dfa Revert "SWDEV-410182: Do not force wave64 for geekbench"
This patch did not consider the dicussions in SWDEV-270908

> "we found that in GeekBench5, forcing Wave64 instead of the default
> Wave32 compute policy yields big gains in every subtest except one"

This reverts commit 10e2958197.

Change-Id: Ice1728585b9d1b2c1b36a06cfa0b8c47cb2bfa49


[ROCm/clr commit: 06dcaae619]
2023-08-21 03:29:32 -04:00
Todd tiantuo Li 262839abea SWDEV-403758 - support new ASIC Revisions for Hawk Point1 and Hawk Point2
Change-Id: Ib8383b16e85abaa0bbf481c1aac71a11cd5b9218


[ROCm/clr commit: b4933f1d00]
2023-08-18 10:32:09 -04:00
victzhan 779e5c3a22 SWDEV-274425 - fix bad assignment of imageOffset.y and imageOffset.z to PAL
Change-Id: I6adce05928f6ff61aad845f289687d9bc0d17476


[ROCm/clr commit: b14bd96d3c]
2023-08-18 00:17:31 -04:00
victzhan 4312ca9e32 SWDEV-416580 - Add condition when memory has direct access, only use host fill if image is small
Change-Id: I3509c4aa21f6413adad3b46273ec650f5c577ddd


[ROCm/clr commit: cb426df1bd]
2023-08-17 17:23:49 -04:00
Jaydeep Patel 86bac29b0a SWDEV-412393 - Force alloc memory to avoid another hsa image creation.
Change-Id: Ia3cd99eb736231e6dfe013ebae6c41fd4cc657bc


[ROCm/clr commit: 289535e805]
2023-08-17 05:18:43 +00:00