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

874 Коммитов

Автор SHA1 Сообщение Дата
kjayapra-amd ec010e4d2d SWDEV-413997 - Fixing MGPU cases on PAL side by passing Global Context to virtual alloc.
Change-Id: I6614058d1456d199d710b12acd95160a79aa48c8
2023-12-14 11:34:32 -05:00
German Andryeyev fb3dfcf889 SWDEV-436859 - Enable pitch for COPY_HOST_PTR
Original logic didn't use pitch because, abstraction layer had
a sysmem copy without pitch. Since extra sysmem copy was
disabled, the code has to accept pitch values from the app.

Change-Id: Ia9fba7b33ddff4e9109b4e63d0d6afa52f501c8f
2023-12-13 16:50:16 -05:00
Satyanvesh Dittakavi b2102fe939 SWDEV-434846 - Correct the vgprs per simd for MI300
Change-Id: Id4862da7611f64392bfc1538fb644801ec0a9e7f
2023-12-13 03:06:21 -05:00
Jatin Chaudhary 12461dbd6a SWDEV-431399 - use x86 intrinsics only x86 platforms
This was highlighted by github issue:
https://github.com/ROCm-Developer-Tools/clr/issues/32
On RISC-V platforms this header might not be present.

Change-Id: I5f0959a7b281c760802e76541d50693d1a3902be
2023-12-12 19:10:50 -05:00
German b3171d08e6 SWDEV-434241 - Replace size_t with uint64_t
The kernel accepts uint64_t, but with 32bit OCL build size_t was 32 bit

Change-Id: I6fe37d2e5e69c7bd62d7b1bd4cace758758b3482
2023-12-08 16:56:29 -05:00
Jaydeep Patel 3daf8b334a SWDEV-430911 - Force SDMA only if explicitly specified & pick appropriate engine.
Change-Id: Ib34fa6b2782f74b753899fa8fddff646dc60c8ce
2023-12-04 21:58:47 -05:00
German 01217d0383 SWDEV-435015 - Disable sysmem allocation in abstraction layer
Change-Id: Idefdabd2997d618b962c42545ae67768c628c5d6
2023-12-04 11:40:28 -05:00
German Andryeyev 44761fe89b SWDEV-434298 - Add destination offset
The end pointer in copy buffer requires destination offset

Change-Id: I01f2967144f741761fd2ce3244fd8d04564d986f
2023-11-29 16:33:29 -05:00
German Andryeyev ed4e1fec98 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
2023-11-28 16:56:30 -05:00
taosang2 1faf1a4cb9 SWDEV-431104 - Query atomics attribute in Win
Make hipDeviceAttributeHostNativeAtomicSupported return
right value in Windows

Change-Id: I149a8629769cd0d5848ffefb24f1752678a685b8
2023-11-24 09:16:41 -05:00
Jaydeep Patel eecbc2e436 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
2023-11-23 08:45:19 -05:00
German Andryeyev f1dc81f427 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
2023-11-16 14:25:55 -04:00
Saleel Kudchadker b056686607 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
2023-11-15 14:38:07 -05:00
Saleel Kudchadker 5c591b5877 SWDEV-301667 - Support device kernel args for PCIE
Change-Id: I5e51602bea5a68734227fd62e11ab68eb1ad81c1
2023-11-15 14:37:41 -05:00
Jatin Chaudhary ce27581465 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
2023-11-14 20:39:45 -05:00
Vikram 1f8ead914a 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
2023-11-14 12:01:44 -05:00
Saleel Kudchadker c3bd229f4f 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
2023-11-10 11:57:02 -05:00
Saleel Kudchadker f06368fd04 SWDEV-301667 - Add error logging
Change-Id: I814399dc0e7083bb7fb0ed8bf46dd96bdf664965
2023-11-10 11:55:54 -05:00
German 5f297d75d9 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
2023-11-08 10:01:22 -05:00
Saleel Kudchadker f5c6fc4dfa SWDEV-422207 - Report TS for Accumulate command
Change-Id: Iba193a6068c1a2d25c2136643faee2c1e2591a07
2023-11-07 18:19:40 +00:00
Alex Xie 4fb9f03f9e SWDEV-430062 - Support GPU_MAX_HEAP_SIZE flag in ROCm
Change-Id: Ibfe82b3524e09c61879b988f23512f394d725024
2023-11-07 10:07:24 -05: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
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
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
German a49d633883 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
2023-10-27 15:00:15 -04:00
Saleel Kudchadker 182f6e2e6d SWDEV-422207 - Fix profiling check
Change-Id: Ia6ca28f0b593ea1680732684dd10f40c0043c973
2023-10-25 05:37:55 +00:00
Anusha GodavarthySurya 38d2c56784 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
2023-10-24 18:36:06 +00:00
Saleel Kudchadker 5662d4037c SWDEV-408180 - Address possible cornercases
- Address corner cases that can arise with the new
hipMemcpyDeviceToDeviceNoCU enum
- Better log

Change-Id: I6035b901f8d616741054b7a5ff4f67956329ac57
2023-10-23 16:54:08 -04:00
Saleel Kudchadker de2b06a7a7 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
2023-10-23 16:53:47 -04:00
Saleel Kudchadker f316a30e5d 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
2023-10-20 13:18:10 -04:00
taosang2 5a0085e516 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
2023-10-19 16:06:20 -04:00
German 694fe4bedb 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
2023-10-18 15:07:39 -04:00
German 00b58e2536 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
2023-10-18 09:44:09 -04:00
Ioannis Assiouras 2d8c65eedf SWDEV-427493 - Fixed segfault after accessing deleted timestamp
Change-Id: I478008f03e2bb4d9ac1f0865605edbf9f8254fea
2023-10-17 15:24:07 -04:00
kjayapra-amd 3ef829939a SWDEV-413997 - Initial VMM changes for ROCm path.
Change-Id: I4405fd7b53182eb4c4622835c811c0dc08461537
2023-10-16 11:29:16 -04:00
Jatin Chaudhary 2989840511 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
2023-10-12 11:16:18 -04:00
Saleel Kudchadker bf8baeecb3 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
2023-10-10 12:13:11 -04:00
kjayapra-amd 6a8bc3c718 SWDEV-419688 - Do not run GWS init kernel for targets > gfx12 and MI300.
Change-Id: I8e7441268978be71ab8a5a33e7f8bcf69660e500
(cherry picked from commit 36d37ef614909c0f215512aac0c133408d787080)
2023-10-05 14:57:56 -04:00
taosang2 6398f604b0 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
2023-10-05 09:58:17 -04:00
Anusha GodavarthySurya e63c280d4d SWDEV-422207 - Capture AQL Packets for graph Kernel nodes during graph Inst. And enqueue AQL packet during launch
Change-Id: I1e5f7f9e2a70bd500d190193cb6ba0867f5a63e7
2023-10-05 00:34:29 -04:00
German e1d34cb24f 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
2023-09-19 16:05:02 -04:00
Jaydeep Patel d18ae85833 SWDEV-415914 - Use settings from device's setting object.
Change-Id: I4b0cbab361e9e2d5b8164066ec37de1fa212e783
2023-09-14 19:16:50 +00:00
Julia Jiang 42799c9f21 SWDEV-401314 - Fix failure on MI300 for progvar_prog_scope_misc basic test
Change-Id: I56701b050023199a3e56dc5a78553c0c330b8537
2023-09-14 11:32:25 -04:00
German 7be3a5e33e SWDEV-407533 - [ABI Break]Remove Wavelimiter
Change-Id: I6a2f6fb5a0c3acea93fa0200a69679783e76f5bd
2023-09-07 09:58:41 -04:00
Jacob Lambert 19526e46e6 Revert "SWDEV-410182: Link device-libs when compiling source to bitcode"
This reverts commit f3dc04a50d.

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
2023-09-06 21:34:03 -04:00
Saleel Kudchadker 42c9cd0320 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
2023-09-06 13:26:39 -04:00
Ioannis Assiouras 96ac99b4a0 SWDEV-419664 - Set reserved0 field of hsa_kernel_dispatch_packet to zero
Change-Id: I2e9c503f1c393548aacad47d40da90a2126e522c
2023-09-05 19:10:33 -04:00
Sourabh Betigeri 7dc78d234d SWDEV-418855 - Limits the 'no GWS' approach to gfx940, gfx11and gfx12
Change-Id: Iab2d34d3142902517124cec7ef3461cf7aa4b98c
2023-08-30 23:48:02 -04:00
German ad56c20cd0 SWDEV-418038 - Remove opengl32.lib from linking in runtime
Change-Id: If9416742cd8dc6a35adaccce802d65888e808ef2
2023-08-30 14:07:28 -04:00
Juan Manuel Martinez f3dc04a50d 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
2023-08-30 04:24:17 -04:00