Commit Graph

244 Commits

Author SHA1 Message Date
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
German 5d9912f48b SWDEV-407533 - [ABI Break]Remove Wavelimiter
Change-Id: I6a2f6fb5a0c3acea93fa0200a69679783e76f5bd


[ROCm/clr commit: 7be3a5e33e]
2023-09-07 09:58:41 -04:00
Jaydeep Patel f5175f145d SWDEV-417317 - Bypass agent init for HIP.
Change-Id: I3396cf7c1feced03d29f5e5ff3c77474f4f7e1ec


[ROCm/clr commit: 198b7b412d]
2023-09-06 00:40:54 -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
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
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
taosang2 cab71e6e00 SWDEV-417727 - Fix hipSignalExternalSemaphoresAsync()
Let ExternalSemaphores be signalled only after prior works on the
stream have been finished.

Change-Id: I856917db905f68f55fdf484f5267f7fe8ea3117f


[ROCm/clr commit: 44a3935cda]
2023-08-23 14:58:37 -04:00
German 6a7f06fd9b SWDEV-415115 - Fix memory commit in SVM on large bar systems
Skip memory commit for linux only.

Change-Id: I6304607f7c5516c76e59afa6da57de5b088f6a8c


[ROCm/clr commit: 9bd592e2ff]
2023-08-18 11:25:28 -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
German Andryeyev e62940f7df SWDEV-409815 - Fix image view cache issue
Add a view bit to avoid original resource destruction when parent
dependency doesn't exist with the image view cache

Change-Id: I8277afd575af8f29951c5d1a9f7d94d784251657


[ROCm/clr commit: b49e8e78e1]
2023-07-25 12:30:04 -04:00
Ioannis Assiouras 62b3d8f59b SWDEV-412496 - treat USE_PROF_API to always be true
Change-Id: I77cfac409215a33d11228a0f2da9ffba63c3d73a


[ROCm/clr commit: cb7776ef07]
2023-07-21 04:42:57 -04:00
Anusha GodavarthySurya 57467ef2c7 SWDEV-392732 - Initial commit for graph doorbell optimization(AQL Buffering)
Change-Id: I451725006c54c249dc530c55d2af2a31594bf49b


[ROCm/clr commit: b0e6f99ad7]
2023-07-16 07:56:00 -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 Andryeyev 116c9fd6c1 SWDEV-409815 - Fix image view cache issue
Make sure parent_ field is cleared for the internal image views.
The internal image views don't require dependencies tracking.
The issue appeard only when Navi10 pitch workaround was enabled.

Change-Id: I376d212750085a9391f8c32fc2979dcb5d93c89c


[ROCm/clr commit: 6b89980fb2]
2023-07-11 11:22:29 -04:00
Rakesh Roy f887f2fc6f SWDEV-405329 - Fix cuMask issue for WGP mode
- Enable CUs adjacent pairwise for WGP mode
- In HostQueue::terminate() do not segfault if virtual device hasn't been created

Change-Id: I94402ff333308af5824878086cc238b3993d534d


[ROCm/clr commit: 8c1232124e]
2023-06-30 01:09:01 -04:00
Matt Arsenault eed1597e39 SWDEV-1 - Fix -Wfinal-dtor-non-final-class
rocclr/platform/external_memory.hpp:93:30: warning: class with destructor marked 'final' cannot be inherited from [-Wfinal-dtor-non-final-class]
   93 |     virtual ~ExternalImage() final {}

Change-Id: I56d760fa6c08544100e3bc03d35129bd16d8a428


[ROCm/clr commit: e9750de215]
2023-06-23 09:06:56 -04:00
taosang2 9aa3a87b66 SWDEV-368553 – Add missing mipmap Apis
Add missing mipmap Apis’ implementation.
Fix some bugs of mimpmap apis.
Use hipmipmappedArray to differentiate cuda
and driver apis on Nvidia.
Change-Id: I6079d9f3b2ddf4e42b9a6f7f3902322cfca02cfd


[ROCm/clr commit: f03c11491b]
2023-06-22 17:24:21 -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
German 8d97827417 SWDEV-353281 - VM support in mempool for graphs
The change enables VM support in graphs on Windows. That allows
to avoid caching of all allocations at the cost of map/unmap
overhead during memory create/destroy.

Change-Id: I792be00fba099e5e5d3cd44a963e1dfd6976a86d


[ROCm/clr commit: 04b696abee]
2023-05-05 15:31:26 -04:00
German 5af1af9c57 SWDEV-353281 - Move VirtualMem map update to memobj
- The implementation in mempool graphs requires refcounting VA object.
That requires release() to update the map only on the actual destruction.
- Add GPU event tracking for paging operation. Otherwise, runtime
may not always flush IB.

Change-Id: Idf99ffb894321a38e04b490116a7ca435635918d


[ROCm/clr commit: 7ef2da5aba]
2023-04-28 17:22:11 -04:00
German Andryeyev b2525dfb82 SWDEV-381627 - Move cl_vk_amd.hpp into rocclr
Rename VK interop to ExternalMemory object, since it should handle
DX interops also

Change-Id: I536ec46d3e53ece35234a2e29030393ad411b96d


[ROCm/clr commit: 3e5803c4c0]
2023-04-26 15:25:01 -04:00
victzhan 489f17c447 SWDEV-387117 - Support negative miplevel for clCreateFromGLTexture()
Change-Id: Ieaa340196e6844b2d18cdcc2278f913fc7c7bbb8


[ROCm/clr commit: 636983de49]
2023-04-19 12:46:45 -04:00
Saleel Kudchadker cb09d962ba SWDEV-384557 - Leverage SDMA engine status query
Change-Id: I5f386f2965de24a229ea43b6c4da82099692f91f


[ROCm/clr commit: 20ca8b8116]
2023-04-05 07:50:53 +00:00
taosang2 632822bdf5 SWDEV-380903 - Add program lock
Create seperate locks for program and HSAIL

Change-Id: I7c826ed9c2f2d839d359e5158f578830655616fd


[ROCm/clr commit: 82d2213cfa]
2023-04-05 07:50:16 +00:00
Ajay db10db5d99 SWDEV-381627 - adding cl interop files to vdi
Change-Id: Ic40363587a2bc56f977a148eba386dfb73d6286e


[ROCm/clr commit: 88736010fb]
2023-04-05 07:48:49 +00:00
Ruili Ji 0f6721b637 SWDEV-383856 - Remove mmap function for SVM buffer
For large bar platform, it's not necessary to mmap
memory allocated on VRAM to cpu again

Change-Id: I0701680476829d4058b3e7b643e8df657d0c6168
Signed-off-by: Ruili Ji <ruiliji2@amd.com>


[ROCm/clr commit: 25fe45bb2a]
2023-04-05 07:47:30 +00:00
Ioannis Assiouras 1ad1fccdfa SWDEV-385050 - Fixed possible invalid queue access from kernelCommand::releaseResources
Change-Id: I7c5d99987cb7ab4fa0aa634f2bb6a4d60331b3af


[ROCm/clr commit: 2e9f6fb49b]
2023-02-23 16:39:27 +00:00
Saleel Kudchadker 858e311f34 SWDEV-364604 - Add ROCclr support for hipEventDisableSystemFence
Change-Id: I6127b432a8759359359a1890fda85bc401be6a56


[ROCm/clr commit: 3e603d986a]
2023-02-21 19:07:35 -05:00
German 73f02aa6dc SWDEV-382397 - Move VirtualGPU destruction back to the thread exit
OS can terminate unfinished queue thread from default stream at any
time. Potentially leaving the queue lock in a bad state and causing a
deadlock if runtime destroys VirtualGPU later from the host thread.

Change-Id: I247f102ee84e6b4dba947504933395071945c85d


[ROCm/clr commit: 28daf98f1f]
2023-02-17 10:05:49 -05:00
kjayapra-amd 53073c4657 SWDEV-376697 - Use PCIE fine grain memory pool when hipDeviceMallocUncached flag is used.
Change-Id: I7234d456ef2df42b0b9b9e0d2647ee9bded565f9


[ROCm/clr commit: 6b873b8a86]
2023-02-16 14:05:50 -05:00
German f857dcc48d SWDEV-352197 - Destroy virtual device in thread destructor
Windows kills threads on exit without any notification. However,
runtime can still destroy VirtualGPU object from the host thread with
HostQueue destruction.
This change also forces RGP trace transfer on the last capture without
any delays.

Change-Id: I768e87e99e1d23a021e63c12f36e450817743759


[ROCm/clr commit: ad33a021cb]
2023-01-31 10:53:48 -05:00
German b5b078e036 SWDEV-377991 - Remove liquidflash support
Change-Id: Iba6455e5c0210c3223a06fec332404cd9f489154


[ROCm/clr commit: 53a10c9039]
2023-01-20 09:57:06 -05:00
German 7e82b5c716 SWDEV-377991 - Remove liquidflash support
Change-Id: I8ea0feb6067387f1b545a7492b6bcb55e82ec8b0


[ROCm/clr commit: 3690ae8464]
2023-01-19 11:39:10 -05:00
German f399cfd045 SWDEV-377991 - Rmove Liquidflash logic
Untie extra dependency on opencl repo

Change-Id: I8069cd8337214043d3c1453e3dfb0a0a47a83251


[ROCm/clr commit: 5a42279a65]
2023-01-19 09:58:31 -05:00
German 2143e64c23 SWDEV-377991 - Remove Liquidflash extension
Initial check-in to untie dependencies with HIP and OCL repos

Change-Id: I363b63954c3f118f40a6ed893545d6a4ac44144c


[ROCm/clr commit: c8927cd84e]
2023-01-18 13:16:20 -05:00
Jaydeep Patel 19c80916fa SWDEV-374360 - Handle free for external memory.
Change-Id: I4a1ede2210a255960d7a935cd4debb806e0147f6


[ROCm/clr commit: d97b4e8c74]
2023-01-16 13:06:36 -05:00
Ajay 3d12929eb8 SWDEV-372757 - thread check workaround for windows hang
Change-Id: Ie9f87b88dd0f3078ad1919edc336f297f6b40373


[ROCm/clr commit: ecea27eb2d]
2023-01-13 04:05:35 -05:00
kjayapra-amd e295beb8ba SWDEV-371904 - Adding pseudo fine grain flag to hsa memory allocation for device fine grained memory.
Change-Id: I8cada90f0e3880dfbc5bf5a3fac4554e7a0cb08e


[ROCm/clr commit: e56a611b92]
2022-12-11 08:15:17 -05:00
Ioannis Assiouras 733c8d1d1c SWDEV-369581 - Convey copy API metadata to ROCclr
Change-Id: I569462d6d268700d419510255e201bf7d80d6714


[ROCm/clr commit: 72b45e2a1f]
2022-12-09 00:27:15 -05:00
Tao Sang ea9808ac40 SWDEV-370659 - Add lock for HSAIL only
Add lock for HSAIL only in order to fix test failures
in math brute force and integer_ops tests.

Change-Id: I5f14cdcaa4ee9867fdae63fff197a0f21ee5f1d4


[ROCm/clr commit: f29d3bc3ac]
2022-12-06 15:50:04 -05:00
Sourabh Betigeri 7aa958a8f7 SWDEV-305894 - Cooperative groups grid and multi grid sync support for gfx940+
Change-Id: I35d72f1cb50c3a96eee56a612b72d641852b145f


[ROCm/clr commit: 5d7f3f9f3c]
2022-12-05 16:30:30 -05:00
Tao Sang c0a12bbbb5 SWDEV-306410 - Remove program lock
Remove global program lock in order to fix too
long kernel launch overhead with multi-threads
on MGPUs.
This patch depends on a compiler patch that makes
LC thread safe.
Change-Id: Ic8a7374d19112764d6de5d483ec5d07a56661d1b


[ROCm/clr commit: 3b2a8f3c8b]
2022-11-20 14:42:24 -05:00
Juan Manuel MARTINEZ CAAMAÑO dfc604419d SWDEV-286150 - [NFC] Avoid copying the entire devicePrograms map
Change-Id: I059f979d9bcdf6604aa3630b40fd47475b75fc30


[ROCm/clr commit: bab23480d3]
2022-11-17 03:15:55 -05:00
kjayapra-amd f8da1e1fc4 SWDEV-361374 - Adding support for hipPointerSetAttributes
Change-Id: I3ec9627f43b3cbe0aa299c8aa9cd96f8fbd74925


[ROCm/clr commit: 7f1fb925ff]
2022-11-11 12:07:26 -05:00
Juan Manuel MARTINEZ CAAMAÑO 0edf1ffbdf SWDEV-286150 - [NFC] Refactor repeated option parsing code into function
Change-Id: I606dc1cd48d880974142e523d16f5d9ac6f3aff1


[ROCm/clr commit: 40f75306d5]
2022-11-08 10:29:13 -05:00
German f5f0a6c618 SWDEV-352487 - Don't add notifications as the last command
Change-Id: Ifed34485839ef2c9491e8e8f6bb3569932160b1c


[ROCm/clr commit: e223b0f678]
2022-10-24 09:39:03 -04:00
Laurent Morichetti 860e33dbed SWDEV-362046 - Report HIP_OPS activities using the ROCr driver_node_id instead of the device's index
The ROCclr assigns zero-based IDs to GPUs in the order they are
discovered. That zero-based ID is what is used to identify the GPU
on which the HIP_OPS activity took place.

When multiple ranks are used, each rank's first logical device always
has GPU ID 0, regardless of which physical device is selected with
CUDA_VISIBLE_DEVICES. Because of this, when merging trace files from
multiple ranks, GPU IDs from different processes may overlap.

The long term solution is to use the KFD's gpu_id which is stable
across APIs and processes. Unfortunately the gpu_id is not yet exposed
by the ROCr, so for now use the driver's node id.

Change-Id: Ib78854527d600d175bb76e2df0747c33f898c615


[ROCm/clr commit: 9a82118c85]
2022-10-20 12:31:30 -04:00
Sourabh Betigeri f25d8dae77 SWDEV-357246 - Adds a missing return statement
Change-Id: I2216f71f4d4fb6dd3766023b0c821cb3d35d7849


[ROCm/clr commit: 84fbb30b7c]
2022-10-05 16:29:32 -04:00