Graphe des révisions

240 Révisions

Auteur SHA1 Message Date
Saleel Kudchadker 1ec0ba3537 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
2023-08-24 19:17:05 -04:00
Tao Sang d433df4761 SWDEV-417727 - Fix hipSignalExternalSemaphoresAsync()
This reverts commit 44a3935cda.

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

Change-Id: I9d5974e05d5f229170b928db4566c14e40e3cbaa
2023-08-23 22:31:27 -04:00
taosang2 44a3935cda SWDEV-417727 - Fix hipSignalExternalSemaphoresAsync()
Let ExternalSemaphores be signalled only after prior works on the
stream have been finished.

Change-Id: I856917db905f68f55fdf484f5267f7fe8ea3117f
2023-08-23 14:58:37 -04:00
German 9bd592e2ff SWDEV-415115 - Fix memory commit in SVM on large bar systems
Skip memory commit for linux only.

Change-Id: I6304607f7c5516c76e59afa6da57de5b088f6a8c
2023-08-18 11:25:28 -04:00
Jaydeep Patel 289535e805 SWDEV-412393 - Force alloc memory to avoid another hsa image creation.
Change-Id: Ia3cd99eb736231e6dfe013ebae6c41fd4cc657bc
2023-08-17 05:18:43 +00:00
German Andryeyev b49e8e78e1 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
2023-07-25 12:30:04 -04:00
Ioannis Assiouras cb7776ef07 SWDEV-412496 - treat USE_PROF_API to always be true
Change-Id: I77cfac409215a33d11228a0f2da9ffba63c3d73a
2023-07-21 04:42:57 -04:00
Anusha GodavarthySurya b0e6f99ad7 SWDEV-392732 - Initial commit for graph doorbell optimization(AQL Buffering)
Change-Id: I451725006c54c249dc530c55d2af2a31594bf49b
2023-07-16 07:56:00 -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 Andryeyev 6b89980fb2 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
2023-07-11 11:22:29 -04:00
Rakesh Roy 8c1232124e 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
2023-06-30 01:09:01 -04:00
Matt Arsenault e9750de215 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
2023-06-23 09:06:56 -04:00
taosang2 f03c11491b 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
2023-06-22 17:24:21 -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
German 04b696abee 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
2023-05-05 15:31:26 -04:00
German 7ef2da5aba 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
2023-04-28 17:22:11 -04:00
German Andryeyev 3e5803c4c0 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
2023-04-26 15:25:01 -04:00
victzhan 636983de49 SWDEV-387117 - Support negative miplevel for clCreateFromGLTexture()
Change-Id: Ieaa340196e6844b2d18cdcc2278f913fc7c7bbb8
2023-04-19 12:46:45 -04:00
Saleel Kudchadker 20ca8b8116 SWDEV-384557 - Leverage SDMA engine status query
Change-Id: I5f386f2965de24a229ea43b6c4da82099692f91f
2023-04-05 07:50:53 +00:00
taosang2 82d2213cfa SWDEV-380903 - Add program lock
Create seperate locks for program and HSAIL

Change-Id: I7c826ed9c2f2d839d359e5158f578830655616fd
2023-04-05 07:50:16 +00:00
Ajay 88736010fb SWDEV-381627 - adding cl interop files to vdi
Change-Id: Ic40363587a2bc56f977a148eba386dfb73d6286e
2023-04-05 07:48:49 +00:00
Ruili Ji 25fe45bb2a 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>
2023-04-05 07:47:30 +00:00
Ioannis Assiouras 2e9f6fb49b SWDEV-385050 - Fixed possible invalid queue access from kernelCommand::releaseResources
Change-Id: I7c5d99987cb7ab4fa0aa634f2bb6a4d60331b3af
2023-02-23 16:39:27 +00:00
Saleel Kudchadker 3e603d986a SWDEV-364604 - Add ROCclr support for hipEventDisableSystemFence
Change-Id: I6127b432a8759359359a1890fda85bc401be6a56
2023-02-21 19:07:35 -05:00
German 28daf98f1f 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
2023-02-17 10:05:49 -05:00
kjayapra-amd 6b873b8a86 SWDEV-376697 - Use PCIE fine grain memory pool when hipDeviceMallocUncached flag is used.
Change-Id: I7234d456ef2df42b0b9b9e0d2647ee9bded565f9
2023-02-16 14:05:50 -05:00
German ad33a021cb 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
2023-01-31 10:53:48 -05:00
German 53a10c9039 SWDEV-377991 - Remove liquidflash support
Change-Id: Iba6455e5c0210c3223a06fec332404cd9f489154
2023-01-20 09:57:06 -05:00
German 3690ae8464 SWDEV-377991 - Remove liquidflash support
Change-Id: I8ea0feb6067387f1b545a7492b6bcb55e82ec8b0
2023-01-19 11:39:10 -05:00
German 5a42279a65 SWDEV-377991 - Rmove Liquidflash logic
Untie extra dependency on opencl repo

Change-Id: I8069cd8337214043d3c1453e3dfb0a0a47a83251
2023-01-19 09:58:31 -05:00
German c8927cd84e SWDEV-377991 - Remove Liquidflash extension
Initial check-in to untie dependencies with HIP and OCL repos

Change-Id: I363b63954c3f118f40a6ed893545d6a4ac44144c
2023-01-18 13:16:20 -05:00
Jaydeep Patel d97b4e8c74 SWDEV-374360 - Handle free for external memory.
Change-Id: I4a1ede2210a255960d7a935cd4debb806e0147f6
2023-01-16 13:06:36 -05:00
Ajay ecea27eb2d SWDEV-372757 - thread check workaround for windows hang
Change-Id: Ie9f87b88dd0f3078ad1919edc336f297f6b40373
2023-01-13 04:05:35 -05:00
kjayapra-amd e56a611b92 SWDEV-371904 - Adding pseudo fine grain flag to hsa memory allocation for device fine grained memory.
Change-Id: I8cada90f0e3880dfbc5bf5a3fac4554e7a0cb08e
2022-12-11 08:15:17 -05:00
Ioannis Assiouras 72b45e2a1f SWDEV-369581 - Convey copy API metadata to ROCclr
Change-Id: I569462d6d268700d419510255e201bf7d80d6714
2022-12-09 00:27:15 -05:00
Tao Sang f29d3bc3ac 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
2022-12-06 15:50:04 -05:00
Sourabh Betigeri 5d7f3f9f3c SWDEV-305894 - Cooperative groups grid and multi grid sync support for gfx940+
Change-Id: I35d72f1cb50c3a96eee56a612b72d641852b145f
2022-12-05 16:30:30 -05:00
Tao Sang 3b2a8f3c8b 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
2022-11-20 14:42:24 -05:00
Juan Manuel MARTINEZ CAAMAÑO bab23480d3 SWDEV-286150 - [NFC] Avoid copying the entire devicePrograms map
Change-Id: I059f979d9bcdf6604aa3630b40fd47475b75fc30
2022-11-17 03:15:55 -05:00
kjayapra-amd 7f1fb925ff SWDEV-361374 - Adding support for hipPointerSetAttributes
Change-Id: I3ec9627f43b3cbe0aa299c8aa9cd96f8fbd74925
2022-11-11 12:07:26 -05:00
Juan Manuel MARTINEZ CAAMAÑO 40f75306d5 SWDEV-286150 - [NFC] Refactor repeated option parsing code into function
Change-Id: I606dc1cd48d880974142e523d16f5d9ac6f3aff1
2022-11-08 10:29:13 -05:00
German e223b0f678 SWDEV-352487 - Don't add notifications as the last command
Change-Id: Ifed34485839ef2c9491e8e8f6bb3569932160b1c
2022-10-24 09:39:03 -04:00
Laurent Morichetti 9a82118c85 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
2022-10-20 12:31:30 -04:00
Sourabh Betigeri 84fbb30b7c SWDEV-357246 - Adds a missing return statement
Change-Id: I2216f71f4d4fb6dd3766023b0c821cb3d35d7849
2022-10-05 16:29:32 -04:00
Laurent Morichetti e00965df50 SWDEV-351980 - Add FillBuffer byte count to the record
Change-Id: I90c791f5810b8a3f6b1d6a9e81c165b1a7515c92
2022-09-30 21:20:14 -07:00
Saleel Kudchadker 9b5cbd37a2 SWDEV-352001 - Store last scopes for dispatch
- Store last fence scopes and use the last value to determine if we need a cache flush again. This helps cases where hipExtLaunchKernel API is
used.
- Purge code for ROC_EVENT_NO_FLUSH

Change-Id: I531cf9c9c60d5e2b3a9e265d0f52f79ed2fa8a8c
2022-09-22 11:34:10 -04:00
Laurent Morichetti 52eb28930a SWDEV-351980 - Consolidate registration tables in the roctracer library
Remove the activity_prof::CallbacksTable. The table was redundant with
the information already stored in the roctracer library. Instead use a
single callback into the roctracer library to query whether the activity
is enabled, and to report it.

Change-Id: I2e05b0881bb4a1953c14361d00ea310d02eb6e0c
2022-09-21 05:54:09 -04:00
Laurent Morichetti e713b5c7d0 SWDEV-351980 - Enable profiling for commands reporting activities
Profiling should be enabled for any command reporting activities as the
activity record captures the profilingInfo's start and end timestamps.

Since IS_PROFILER_ON is only used to determine whether API tracing is
enabled, there is no need to expose it globally, it should be a property
of the activity_prof::CallbacksTable.

Change-Id: I44a0d19ed2862606cfbc9a98c1a07a336ab7e26c
2022-09-21 05:53:59 -04:00