Commit Graph

64 Commits

Author SHA1 Message Date
Andryeyev, German 94cd9bc4f7 SWDEV-525725 - Enable resource cache for SVM (#156)
- Make sure reserved_va_ updated before svmPtr overwrite
2025-04-10 10:54:28 -04:00
Andryeyev, German e974f7fde1 SWDEV-497841 - Add VmHeapArray support (#76)
Add VmHeapArray class to reduce the pressure on VA reservation, since
multiple memory pools can be active at the same time.
2025-04-03 21:04:18 +05:30
Patel, Jaydeepkumar b5c9cbc236 SWDEV-508632 - Align address to 2 MBs for hidden heap allocation. (#29) 2025-04-02 16:33:29 +05:30
Julia Jiang b7eaec76fc SWDEV-513294 - fix regression on SVM sub-test failure in Conformance
Change-Id: Ic2449dd34a9cd2b623d5f8fbe89fd042566a56e3
2025-02-20 15:40:23 -05:00
German Andryeyev 296dce5570 SWDEV-497841 - Add virtual memory heap
Add initial implementation of virtual memory heap with
dynamic virtual memory mapping support for memory pools.
DEBUG_HIP_MEM_POOL_VMHEAP controls the new method.

Change-Id: I8dc5be2e0f34ab472f1800f43bb6243639a5e500
2025-02-20 10:55:49 -05:00
agunashe ea804e16f8 SWDEV-507967 - Deprecate gfx9, gfx8, gfx7 on Windows
PAL_CLIENT_INTERFACE_MAJOR_VERSION from 872 --> 910

Change-Id: I03dfa2924ccdae4c2f13f09d5f34ee58298e1343
2025-02-17 02:59:41 -05:00
Aidan Belton-Schure 451b0ce768 SWDEV-482851 - Do not release last suballocator chunk
Change-Id: Ib28dc9df68e454ee0c0c699c1ff17588fd55f802
2025-01-13 10:14:40 -05:00
Ioannis Assiouras 775dc204aa SWDEV-463865 - changed device,roc and pal namespaces to be nested under amd
Change-Id: Icad342843c039c634e249a13a7aa31400730b1dd
2024-06-07 12:23:06 -04:00
kjayapra-amd 4fb06f94d1 SWDEV-463872 - Request the same va_addr on the second device, if not fail.
Change-Id: I791625b6434a3980b35b8d6d6d3b6070fa159614
2024-06-01 12:53:09 -04:00
German Andryeyev 7448113cfc SWDEV-440746 - Remove obsolete code
The "optimized" version of memcpy is outdated and
was used in win32 only.

Change-Id: I7f2e0e9051e37cec95438266824b5b0025c324c6
2024-04-22 09:56:42 -04:00
German Andryeyev 2f3ad43c4a SWDEV-449922 - Remove a global lock for queues on wait
The new logic has a lock for PAL call and doesn't require the lock for queues.

Change-Id: I61b67c3c4abd2ede44809de1d6beed756766032e
2024-03-28 18:17:46 -04:00
German Andryeyev 95e3958748 SWDEV-449922 - Remove per queue residency update
alwaysResident setting doesn't require per queue residency tracking.
Thus, the logic can be skipped to avoid the lock of queues.

Change-Id: Ib5cff5b79d3ecb8c2f2eb2565cf069f9a69438b0
2024-03-28 16:16:37 -04:00
German Andryeyev 1239309c90 SWDEV-449558 - Update barrier's logic
PAL optimized the logic for the barriers, which caused failures with CP DMA on Navi4x.
Change barrier's code to match the most recent PAL optimizations.

Change-Id: I55eeab20f51eb8e920bcbb4b55fbe3c7f77fd3fa
2024-03-18 10:52:32 -04:00
pghafari c13864abed SWDEV-430356 - updated VArange to use SVM
Change-Id: Ice3582732dd6f43af6d566e5420234a581a1c194
2024-03-13 11:47:36 -04:00
German eaa61fc740 SWDEV-301667 - Fix HSAIL compilation path for Blit
Recently some unused compiler options for HSAIL path were removed,
 but it affected blit kernels compilation. Hence, remove those options.
Also delete assert for device to device copy in SDMA path for now.

Change-Id: Ib5d7f063af2ab4a3fc5d73d426e39c391b1011ac
2024-01-09 17:51:30 -05:00
German 85c15d720d SWDEV-438958 - Calculate persistent memory stored in the cache
- Make sure persistent memory from resource cache is properly adjusted
in free memory calculation.

Change-Id: I74ef68975ccde4694fb1cb904617c418e85dfc9f
2024-01-08 10:11:52 -05:00
German c8b3253a24 SWDEV-432575 - Disable direct map for persistent memory
Persistent memory should use direct access for write map and
indirect for read map.

Change-Id: I9fc84836d60088b24012ed25f7ef8c16e33796a3
2023-12-15 10:59:01 -05:00
Jaydeep Patel 9551d48e7f SWDEV-411343 - Import VK buffer memory exported by name.
Change-Id: Idc7c840fcd6bf758ecc29ffd6558d24e5bd0a25b
2023-12-14 22:16:11 -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
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
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
victzhan b14bd96d3c SWDEV-274425 - fix bad assignment of imageOffset.y and imageOffset.z to PAL
Change-Id: I6adce05928f6ff61aad845f289687d9bc0d17476
2023-08-18 00:17:31 -04:00
victzhan 4fb24c48b0 SWDEV-274425 - fix bad initialization of array slice index for 1d image array in partialMemCopyTo()
Change-Id: Id9a0c55d4296de8cd89f1870b2c8028ce6cf601b
2023-08-15 12:55:10 -04:00
victzhan 7e3d8243b7 SWDEV-385303 - remove bad row pitch assignment
Change-Id: If959be2fa51035c54c3b08e74711077ad52ac4c8
2023-08-14 15:21:56 -04:00
Todd tiantuo Li 04b9ab49eb SWDEV-333557 - add PAL_HIP_IPC_FLAG for PAL HIP device allocations
Change-Id: I9017f4e3b03d4817bf233c788e30775fb2297589
2023-07-17 08:10:25 -04:00
Todd tiantuo Li 8434feed16 SWDEV-333557 - 1.Add support for IPC memory to enable hipIpcGetMemHandle() and hipIpcOpenMemHandle() in PAL path. Set interprocess flag for device allocations in HIP PAL. 2.Fix PAL IPC path with ResourceCache and SubAllocation 3.Minor fixes for IpcBuffer constructor and IpcAttach 4.Remove redundant checks that may go wrong
Change-Id: Ie9d99847c7c2c7b3b2aaefaaf60d23bf71b68635
2023-07-12 17:49:32 -04:00
German 9aa6f25f1c SWDEV-311270 - Clean-up IPC path in ROCclr
- Make IPC interfaces generic between devices and rely on the IPC buffer
for attach/detach logic

Change-Id: Id3c18d122030329b7ee532bbb6317de9dd6a0bbe
2023-06-20 15:18:21 -04:00
sdashmiz 38a67df312 SWDEV-403638 - Fix warnings
- disable deprecated function use warning
- disalbe size_t to .type' warning
- disable conversion from 'type1' to 'type2' warning

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I64161fd37cf56de3d132102103267ae8da40193a
2023-06-15 12:17:22 -04:00
German 1a0c3e4dc4 SWDEV-311270 - Add IPC support for memory pools
Initial implementation for hipMemPoolExportToShareableHandle,
hipMemPoolImportFromShareableHandle,
hipMemPoolExportPointer and hipMemPoolImportPointer

Change-Id: I0ebdc48e9163b394ded560adca6c38bbc5aee7d1
2023-06-15 11:36:52 -04:00
Jaydeep Patel 82e4859e03 SWDEV-392870 - Enable p2p support for image using PAL.
Change-Id: I3acbbc01ee11e488e93204814361b8c3431bca4f
2023-05-03 00:34:08 -04:00
victzhan d9c00767dc SWDEV-345751 - fix misinitialize arraySlice in partialMemCopyTo()
Change-Id: I622c368957b1bd39e973f9afa4ee01593dd9e8ac
2023-05-01 13:07:44 -04:00
pghafari 78de2ae692 SWDEV-366992 - adding handle type for vk interop
Change-Id: I79ee0d89b948c21b96709e9e607abe7901621a97
2023-04-18 16:59:25 -04:00
Jaydeep Patel cd7034c9bb SWDEV-370537 - PAL does 64kb alignment so no need to do it in runtime. Reverting alignment to 4kb.
Change-Id: If3eaac65bf63bb9b8b73a3cad1bb34d357f1adeb
2022-12-08 14:54:46 -05:00
German e5a36ab1ad SWDEV-368308 - Remove HW debug extension
Change-Id: If0c68023c09f0dac9111d52ecc0ad63719aa4e70
2022-11-18 10:29:44 -05:00
German 473621c008 SWDEV-365121 - Use CP DMA for tiny transfers
Sync between compute and SDMA engines can be very expensive under Windows.
Use CP DMA for tiny transfers (< 1KiB) to avoid syncs and improve performance.

Change-Id: I9db39a2199f7b9e337ed08fd36d9cbc150502f1f
2022-11-03 10:04:53 -04:00
German ff6b4db70b SWDEV-363074 - Clean-up sync between SDMA and compute
HIP can't rely on the resource tracking, used in OCL and requires different explicit sync.
Make sure ROCCLR syncs compute only when SDMA is used and vise versa.
The new logic will allow to enable CPDMA without unnecessary waits.

Change-Id: Ib9d1788cfd5afa5ea2fec4c96a37d8b9c4d0059d
2022-10-31 10:02:01 -04:00
German dc4ad8c99c SWDEV-363074 - Enable resource cache for SVM
Blender creates and destroys big allocations during the benchmark.
That causes big delays, because vidmm has to page-in/page-out memory.

Change-Id: I2baf4545807127406e3d2870a7581ff9ae7bcdb5
2022-10-27 16:39:29 -04:00
Alex (Bin) Xie 06867f0c04 SWDEV-361591 - clean up header files
Change-Id: I25ca37a94524da0521f5b856a9fa9bab73f103c1
2022-10-21 10:23:55 -04:00
Christophe Paquot 470c4d7335 SWDEV-322620 - Virtual Memory Management
Hooked up the start VA hint address to PAL.

Change-Id: I4301d3eaaabcc85faf63fb25291291dcc3e8ebd1
2022-10-19 10:50:07 -04:00
Christophe Paquot b4645c7d4e SWDEV-322620 - Virtual Memory Management
Add a virtualMemoryManagement_ flag to device.info.

Change-Id: Iabd039010d83fc51b4bcef600c609f5c65e7b1ae
2022-05-09 22:54:42 -07:00
Christophe Paquot b5f555f9ec SWDEV-322620 - Virtual Memory Management
Adding virtual memory management APIs to rocclr.
The HIP layer will handle virtual allocs on devices.

Change-Id: Ia978f105c2c3fed3959c77580ba228e845105754
2022-04-15 00:10:02 -04:00
German Andryeyev 525a1bbf1a SWDEV-286150 - Remove GSL backend
Change-Id: Iba9a997ee7d5ff6ac00d5888ff189a4514958fe9
2022-02-09 17:16:39 -05:00
Payam b473a80f6a SWDEV-245531 - GLInterop adding svm support
Change-Id: Id7f2a7a214f5ad692b4a7acf26cfb1dc423ed54a
2022-01-26 08:17:58 -05:00
German Andryeyev 4aea2ad172 SWDEV-286150 - Switch PAL to 678 interface
Change-Id: I3c130998902654e1dffc954ddf33530ea998ac34
2021-10-27 17:25:02 -04:00
jujiang 84b971c7c1 SWDEV-291787 - Fix persistent direct map
Change-Id: Ic1507cc6d63e9ed574e8e169bce7bf56f4792c19
2021-08-22 23:56:08 -07:00
agunashe d96481fb36 SWDEV-293742 - Update copyright end year VDI repo
Change-Id: I69d2fea4a7a43adf96ccea794270e4af991c5261
2021-08-22 23:56:07 -07:00
Jason Tang b793811ef6 SWDEV-287088 - Workaround VM page fault on Windows
Some chunk memory are not guaranteed to be resident during
initial allocation. Use CPDMA to force resident.

Change-Id: If1a2da3e75f136caaa4c7a29d8f604d6af2639fa
2021-08-22 23:56:07 -07:00
Alex Xie b5b1ccc990 SWDEV-290122 - OpenGL tests fails with CL_MEM_ALLOCATION_ERROR
Change-Id: I34d7063f05dd46c32cf59a88c455691ba5099679
2021-08-22 23:56:07 -07:00
German Andryeyev cdccb6ebc9 SWDEV-86035 - Update the new DOPP flag in PAL interface
Change-Id: Ia3de452bf77220ae0403b3427e13c6ad26009128
2021-04-27 17:51:23 -04:00
pghafari 6e888b15ff SWDEV-245532 - HIP - Vulkan interop
Change-Id: I0e5bc4862925f344b3fcadf1fa0c0acaeaae6c4d
2021-03-23 23:40:17 -04:00