71 Commits

Author SHA1 Message Date
Pengda Xie 93947241d0 SWDEV-556684 - HSAIL cleanup (#1657) 2025-11-08 02:22:03 -08:00
lancesix f7ffcd1402 clr: SWDEV-547890 - Bump PAL API version to 954 (#1680)
* clr: Adjust call to ICmdBuffer::CmdCopyMemoryToImage for PAL >= 955

PAL starting versino 955 adds a new argument to
ICmdBuffer::CmdCopyMemoryToImage.  Adjust teh callsite to account
fort his.

* clr: Handle new GpuUtil::TraceSessionState cases for PAL >= 939

Starting PAL API version 939, GpuUtil::TraceSessionState changes its
possible values.  Adjust for it.

* clr: require PAL version 954

Bump the PAL required vesion to 954, as this is required for proper
debugger support.
2025-11-08 00:52:04 +00:00
systems-assistant[bot] dae5b30a1a SWDEV-534207 - Solve more phoenix mem test failures (#545)
* SWDEV-534207 - fix 'Unit_hipFreeMipmappedArrayImplicitSyncArray - float' out of memory error with extent (1024, 1024, 1024) and 1 levels on 740M iGPUs. totalGlobalMem is not really the amount of device memory available for compute

* SWDEV-534207 - compare expected available memory within a range in Unit_hipMalloc3D_Basic; to take into account some bookkeeping overhead (instead of in exact 64MB chunks)

* SWDEV-534207 - fix missing setting of SvmGpuMemoryCreateInfo::interprocess in the 'fine' and 'fine uncached' memory and 'MemorySubAllocator' cases. Coarse allocation was added first; the flag was missed when the other three cases were added

* SWDEV-534207 - allow more room for the check of available memory after hipFree() in Unit_hipMalloc3D_Basic; it was till failing on 740M

---------

Co-authored-by: Gerardo Hernandez <gerardo.hernandez@amd.com>
Co-authored-by: systems-assistant[bot] <systems-assistant[bot]@users.noreply.github.com>
2025-10-17 15:49:57 +01:00
Danylo Lytovchenko 2ff2316227 Adjust clang format to the new versions, revert broken macro layout (#714) 2025-08-22 17:23:22 +02:00
Danylo Lytovchenko f7338717ae SWDEV-470698 - fix formatting, add format check workflow (#657) 2025-08-20 19:58:06 +05:30
Lin, Qun 3b44884a57 SWDEV-508869 - Fix Linux build error for HIP on PAL (#176)
[ROCm/clr commit: 9699cc3864]
2025-06-27 07:51:22 +08:00
Assiouras, Ioannis 3d4ff304d7 SWDEV-521011 - Fix alignment in PalResource::CreateSvm
[ROCm/clr commit: 9d6a0d1a4d]
2025-05-01 02:22:49 +01:00
Andryeyev, German 90e3d2619a SWDEV-525725 - Enable resource cache for SVM (#156)
- Make sure reserved_va_ updated before svmPtr overwrite

[ROCm/clr commit: 94cd9bc4f7]
2025-04-10 10:54:28 -04:00
Andryeyev, German 4c9cc6ba30 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.

[ROCm/clr commit: e974f7fde1]
2025-04-03 21:04:18 +05:30
Patel, Jaydeepkumar b217d3a4e6 SWDEV-508632 - Align address to 2 MBs for hidden heap allocation. (#29)
[ROCm/clr commit: b5c9cbc236]
2025-04-02 16:33:29 +05:30
Julia Jiang 1495cc77eb SWDEV-513294 - fix regression on SVM sub-test failure in Conformance
Change-Id: Ic2449dd34a9cd2b623d5f8fbe89fd042566a56e3


[ROCm/clr commit: b7eaec76fc]
2025-02-20 15:40:23 -05:00
German Andryeyev f9d9b2c441 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


[ROCm/clr commit: 296dce5570]
2025-02-20 10:55:49 -05:00
agunashe 52a1f5dbf7 SWDEV-507967 - Deprecate gfx9, gfx8, gfx7 on Windows
PAL_CLIENT_INTERFACE_MAJOR_VERSION from 872 --> 910

Change-Id: I03dfa2924ccdae4c2f13f09d5f34ee58298e1343


[ROCm/clr commit: ea804e16f8]
2025-02-17 02:59:41 -05:00
Aidan Belton-Schure dc2fa93f37 SWDEV-482851 - Do not release last suballocator chunk
Change-Id: Ib28dc9df68e454ee0c0c699c1ff17588fd55f802


[ROCm/clr commit: 451b0ce768]
2025-01-13 10:14:40 -05:00
Ioannis Assiouras 407d1346f2 SWDEV-463865 - changed device,roc and pal namespaces to be nested under amd
Change-Id: Icad342843c039c634e249a13a7aa31400730b1dd


[ROCm/clr commit: 775dc204aa]
2024-06-07 12:23:06 -04:00
kjayapra-amd bc5a2e3b1e SWDEV-463872 - Request the same va_addr on the second device, if not fail.
Change-Id: I791625b6434a3980b35b8d6d6d3b6070fa159614


[ROCm/clr commit: 4fb06f94d1]
2024-06-01 12:53:09 -04:00
German Andryeyev 74d80fb509 SWDEV-440746 - Remove obsolete code
The "optimized" version of memcpy is outdated and
was used in win32 only.

Change-Id: I7f2e0e9051e37cec95438266824b5b0025c324c6


[ROCm/clr commit: 7448113cfc]
2024-04-22 09:56:42 -04:00
German Andryeyev 4f123e9c10 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


[ROCm/clr commit: 2f3ad43c4a]
2024-03-28 18:17:46 -04:00
German Andryeyev 31ace540fa 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


[ROCm/clr commit: 95e3958748]
2024-03-28 16:16:37 -04:00
German Andryeyev eb355d0159 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


[ROCm/clr commit: 1239309c90]
2024-03-18 10:52:32 -04:00
pghafari f77ed12c4d SWDEV-430356 - updated VArange to use SVM
Change-Id: Ice3582732dd6f43af6d566e5420234a581a1c194


[ROCm/clr commit: c13864abed]
2024-03-13 11:47:36 -04:00
German ab59c1e7fa 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


[ROCm/clr commit: eaa61fc740]
2024-01-09 17:51:30 -05:00
German 5718f13901 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


[ROCm/clr commit: 85c15d720d]
2024-01-08 10:11:52 -05:00
German fa8e88b108 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


[ROCm/clr commit: c8b3253a24]
2023-12-15 10:59:01 -05:00
Jaydeep Patel 526e60cb70 SWDEV-411343 - Import VK buffer memory exported by name.
Change-Id: Idc7c840fcd6bf758ecc29ffd6558d24e5bd0a25b


[ROCm/clr commit: 9551d48e7f]
2023-12-14 22:16:11 -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
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
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
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 8a7a86847f SWDEV-274425 - fix bad initialization of array slice index for 1d image array in partialMemCopyTo()
Change-Id: Id9a0c55d4296de8cd89f1870b2c8028ce6cf601b


[ROCm/clr commit: 4fb24c48b0]
2023-08-15 12:55:10 -04:00
victzhan 2fab383d94 SWDEV-385303 - remove bad row pitch assignment
Change-Id: If959be2fa51035c54c3b08e74711077ad52ac4c8


[ROCm/clr commit: 7e3d8243b7]
2023-08-14 15:21:56 -04:00
Todd tiantuo Li cd9fa7af05 SWDEV-333557 - add PAL_HIP_IPC_FLAG for PAL HIP device allocations
Change-Id: I9017f4e3b03d4817bf233c788e30775fb2297589


[ROCm/clr commit: 04b9ab49eb]
2023-07-17 08:10:25 -04:00
Todd tiantuo Li 677c88a9a6 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


[ROCm/clr commit: 8434feed16]
2023-07-12 17:49:32 -04:00
German c8e65415ea 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


[ROCm/clr commit: 9aa6f25f1c]
2023-06-20 15:18:21 -04:00
sdashmiz 2216908962 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


[ROCm/clr commit: 38a67df312]
2023-06-15 12:17:22 -04:00
German af5944dc71 SWDEV-311270 - Add IPC support for memory pools
Initial implementation for hipMemPoolExportToShareableHandle,
hipMemPoolImportFromShareableHandle,
hipMemPoolExportPointer and hipMemPoolImportPointer

Change-Id: I0ebdc48e9163b394ded560adca6c38bbc5aee7d1


[ROCm/clr commit: 1a0c3e4dc4]
2023-06-15 11:36:52 -04:00
Jaydeep Patel 23af1d59d3 SWDEV-392870 - Enable p2p support for image using PAL.
Change-Id: I3acbbc01ee11e488e93204814361b8c3431bca4f


[ROCm/clr commit: 82e4859e03]
2023-05-03 00:34:08 -04:00
victzhan 2278d7e0ad SWDEV-345751 - fix misinitialize arraySlice in partialMemCopyTo()
Change-Id: I622c368957b1bd39e973f9afa4ee01593dd9e8ac


[ROCm/clr commit: d9c00767dc]
2023-05-01 13:07:44 -04:00
pghafari 82219d2fb1 SWDEV-366992 - adding handle type for vk interop
Change-Id: I79ee0d89b948c21b96709e9e607abe7901621a97


[ROCm/clr commit: 78de2ae692]
2023-04-18 16:59:25 -04:00
Jaydeep Patel be5d6fb005 SWDEV-370537 - PAL does 64kb alignment so no need to do it in runtime. Reverting alignment to 4kb.
Change-Id: If3eaac65bf63bb9b8b73a3cad1bb34d357f1adeb


[ROCm/clr commit: cd7034c9bb]
2022-12-08 14:54:46 -05:00
German e7d9a3f450 SWDEV-368308 - Remove HW debug extension
Change-Id: If0c68023c09f0dac9111d52ecc0ad63719aa4e70


[ROCm/clr commit: e5a36ab1ad]
2022-11-18 10:29:44 -05:00
German bc14b745e8 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


[ROCm/clr commit: 473621c008]
2022-11-03 10:04:53 -04:00
German c04e2300c8 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


[ROCm/clr commit: ff6b4db70b]
2022-10-31 10:02:01 -04:00
German c15bee3157 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


[ROCm/clr commit: dc4ad8c99c]
2022-10-27 16:39:29 -04:00
Alex (Bin) Xie d77a150bf9 SWDEV-361591 - clean up header files
Change-Id: I25ca37a94524da0521f5b856a9fa9bab73f103c1


[ROCm/clr commit: 06867f0c04]
2022-10-21 10:23:55 -04:00
Christophe Paquot b2d02fe704 SWDEV-322620 - Virtual Memory Management
Hooked up the start VA hint address to PAL.

Change-Id: I4301d3eaaabcc85faf63fb25291291dcc3e8ebd1


[ROCm/clr commit: 470c4d7335]
2022-10-19 10:50:07 -04:00
Christophe Paquot 2c3faaa3a0 SWDEV-322620 - Virtual Memory Management
Add a virtualMemoryManagement_ flag to device.info.

Change-Id: Iabd039010d83fc51b4bcef600c609f5c65e7b1ae


[ROCm/clr commit: b4645c7d4e]
2022-05-09 22:54:42 -07:00
Christophe Paquot 1024cb58a7 SWDEV-322620 - Virtual Memory Management
Adding virtual memory management APIs to rocclr.
The HIP layer will handle virtual allocs on devices.

Change-Id: Ia978f105c2c3fed3959c77580ba228e845105754


[ROCm/clr commit: b5f555f9ec]
2022-04-15 00:10:02 -04:00
German Andryeyev 3c4f97f66c SWDEV-286150 - Remove GSL backend
Change-Id: Iba9a997ee7d5ff6ac00d5888ff189a4514958fe9


[ROCm/clr commit: 525a1bbf1a]
2022-02-09 17:16:39 -05:00
Payam 26d897966e SWDEV-245531 - GLInterop adding svm support
Change-Id: Id7f2a7a214f5ad692b4a7acf26cfb1dc423ed54a


[ROCm/clr commit: b473a80f6a]
2022-01-26 08:17:58 -05:00