Commit Graph

5219 Commits

Author SHA1 Message Date
Julia Jiang 71d97112cc SWDEV-476623 - correct the format on the fix for clCopyImage
Change-Id: I3a3fb2eaa338ff4e298a43e583fcf94ec7cabdf6


[ROCm/clr commit: 417d3279f9]
2024-08-28 16:16:24 -04:00
Julia Jiang 049a21f3da SWDEV-476623 - Fix test failures for clCopyImage
Change-Id: I971c5be98304bdbef0feec73e15ebd61a131b12f


[ROCm/clr commit: c3c41dae0d]
2024-08-27 11:43:12 -04:00
kjayapra-amd afd72f9ad0 SWDEV-478099 - Fix multiple mapping case on PAL/Windows backend.
Change-Id: Id1fe7939fbf90649cda1848890b3b4ca9a1fcd00


[ROCm/clr commit: 2a9cb89228]
2024-08-27 11:19:39 -04:00
Ioannis Assiouras a00f071579 SWDEV-470372 - Added hipExtHostAlloc API
This change adds a new HIP API `hipExtHostAlloc` which preserves
the functionality of `hipHostMalloc`.

Change-Id: I13504c6fc13465ddd7aed329795bb4f2fef1baff


[ROCm/clr commit: 2c84211b58]
2024-08-27 08:26:03 -04:00
ksankisa 3bcd901f06 [SWDEV-469495] Compile blit kernels with -fsanitize=address when asan is enabled.
Change-Id: I96e1abef43317cd58329c4a159f807878bc48cf4


[ROCm/clr commit: e76bf653fb]
2024-08-27 01:27:31 -04:00
kjayapra-amd f370cced08 SWDEV-479620 - Change argument type to size_t from uint64_t in nonTemporalMemcpy function.
Change-Id: I31f8a2b00685789b027d78be40a9f82c235f51b9


[ROCm/clr commit: 00eb038eec]
2024-08-24 07:42:37 -04:00
Ajay c774a3470d SWDEV-478881 - Fix log AMD_LOG file corruption
hiprtc and hip APIs use the same file.
Append to file instead of start of file

Change-Id: I2703f9bb67f0c51b557a058daab129679a0b5dd9


[ROCm/clr commit: e07172ff57]
2024-08-23 11:19:48 -04:00
kjayapra-amd 2af78c954b SWDEV-478097 - Check for parents size in case of VA Mem object.
Change-Id: Icfdeabeb178c0dcc8c3a4bc48eec40067985794e


[ROCm/clr commit: d7b097c994]
2024-08-22 14:18:51 -04:00
Shane Xiao 06912065d9 [SWDEV-479204] Fix the hipGraph AQL package fill issue
This patch fixes this potential issue that filling AQL header before
filling the AQL body. The hsa spec specifies "Packet processors may
process AQL packets after the packet format field is updated, but
before the doorbell is signaled."
However, the hipGraph AQL package with valid header will be filled
before fill the body, which may have the potential issue that CP
receive invalid AQL body.

Change-Id: I84af798c19ee2b8805ba19732b0eabdea2958a96


[ROCm/clr commit: 3959b5be1e]
2024-08-21 21:49:11 -04:00
Rahul Manocha 1b14058283 SWDEV-474617 SWDEV-464679 - Fix segfault in palvirtual due to peer memory access
Change-Id: Ib8b641712d78acf8bc073ca5705dea97af6f944a


[ROCm/clr commit: 432bdd7bf2]
2024-08-21 11:34:15 -04:00
taosang2 785d6e7d01 SWDEV-475144 - Fix random language string
Fix random language string that leads to compiling failure
of trap handler and TDR of hipMemset() on VM in release
mode of hip-rt

Change-Id: Ie1d874742b804f62ceda68064fa54f5d39c092b8


[ROCm/clr commit: 857d0d60b9]
2024-08-20 17:42:31 -04:00
Ajay 3d22e51806 SWDEV-471863 - APU: device allocation greater than invisible memory
Change-Id: I37f1769873ac7dcbb3cfa51fd815ee1e2123aeae


[ROCm/clr commit: ec0971dd08]
2024-08-09 14:29:18 -04:00
German Andryeyev 35c7a87014 SWDEV-470612 - Add the optimized multistream path
- Added the optimized multi stream path in graph execution. It uses a fixed number of async streams in the execution
- Optimize the launch latency, where commands
creation and execution is done at the same time
- Optimize the scheduling to use less barriers and waiting signals if
the same queue  can be detected
- The new path is controlled by  DEBUG_HIP_FORCE_GRAPH_QUEUES
environment variable, where 0 will use the original path and any other
value will force the number of asynchronous queues for execution
- DEBUG_HIP_FORCE_ASYNC_QUEUE can force single queue async
execution in graphs(applicable for Navi families only)

Change-Id: I7eb40bc15c45f508d6911868a6f6d4c3598d380e


[ROCm/clr commit: 9db52f9a46]
2024-08-02 14:19:44 -04:00
Anusha GodavarthySurya 31927fefd6 SWDEV-468424 - Add support to capture multiple AQL Packets
=> Added support to capture multiple AQL Packets.
=> Added Interface to callback to hip runtime from rocclr to allocate
kernel args from the graph kernel arg pool.
=> Enabled Support to capture memset node.

Change-Id: I7e1c2ba06927459e024653058af142bd82192c43


[ROCm/clr commit: bd3a35bde1]
2024-08-01 23:55:51 -04:00
Ioannis Assiouras 42e8d3c894 SWDEV-476460 - Fix for a race condition in SysmemPool::Alloc
Change-Id: Ia94709e68b236c9460589963c0f09ec1f481c306


[ROCm/clr commit: 8e137e8702]
2024-08-01 04:22:26 -04:00
Ioannis Assiouras 19d16561a4 SWDEV-472309 - Ensure static maps are destroyed after __hipUnregisterFatBinary
hipDeviceSynchronize called from __hipUnregisterFatBinary
accesses static maps and monitors. This change ensures these ojects
are not destroyed before __hipUnregisterFatBinary  is called.
Additionally it disables the teardown process for static build.

Change-Id: I46b58641d60efcf6637a8e99cdd786ffe9e2c77d


[ROCm/clr commit: 9b33db9b24]
2024-07-30 10:26:59 -04:00
Saleel Kudchadker 16920809d7 SWDEV-301667 - Refactor Blit force env var
Change-Id: I5344ac2e6442cd8f526118e688f1b1412cc5b45a


[ROCm/clr commit: d379f4efd0]
2024-07-25 15:15:10 -04:00
German Andryeyev 9d1d3a6493 SWDEV-470612 - Avoid processing internal signals
If only external signals were provided, then just process it
without adding internal signals

Change-Id: Iaefd65d0f8b0a64b9f6a864a9bd73de20a29dfa4


[ROCm/clr commit: 18187cd8fe]
2024-07-25 10:08:16 -04:00
taosang2 47dcfbae6b SWDEV-458943 - make new AMD_MONITOR on
make DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR be true

Change-Id: I1d21378ff462478d3238d71e4e2a1a7d6b9167ac


[ROCm/clr commit: f8598dabb0]
2024-07-24 14:29:27 -04:00
German Andryeyev cd3b700351 SWDEV-469602 - Focre unaligned memory mode with RDP
Change-Id: I770f3dc8dde49d8e4ecdf5c38819e44df3960bce


[ROCm/clr commit: 1bac09ea20]
2024-07-23 18:31:52 -04:00
Anusha GodavarthySurya 7985a72073 SWDEV-468424 - hipgraph capture memset node
Capture AQL packets during GraphInstantiation and enqueue AQL packets during graph launch.

Added support to capture single graph memset node.
Capture support for memset node is currently disabled.
Memset capture will be enabled when capture for multiple packets are supported..

Change-Id: I14dfbc41731025cc3a548a730558915def3fa384


[ROCm/clr commit: 346da4bb40]
2024-07-19 23:52:50 -04:00
German Andryeyev 7363b984c1 SWDEV-470585 - Disable double copy in HIP
- HIP path doesn't support resource tracking. Thus, double copy can't be enabled,
because it requires resource tracking.

Change-Id: I0f9c4e185b5b2d2b1abde041fca21bb099db9ccd


[ROCm/clr commit: 4c763e45a1]
2024-07-19 18:32:34 -04:00
kjayapra-amd cf28e2b27a SWDEV-439234 - Implement Set/Get Access APIs in PAL/Windows.
Change-Id: I997c330880da70c5128b187e1ef4d9c449218880


[ROCm/clr commit: 11817b4405]
2024-07-19 10:42:41 -04:00
kjayapra-amd a064de92b8 SWDEV-464828 - Initial implementation of VMM IPC on PAL/Windows.
Change-Id: I3d5e148fad9105704db6724b00df06bef4fc9d2f


[ROCm/clr commit: e7a7feb273]
2024-07-16 10:38:35 -04:00
Satyanvesh Dittakavi da5bff9464 SWDEV-471935 - Destroy hsa queues with cumask set
Fixes the memory leak with hipExtStreamCreateWithCUMask API.
hsa queues with cumask set are not being reused and created
everytime the API is called, But these queues were not being
destroyed during hipStreamDestroy causing memory leak.

Change-Id: Ibfbe019bbd73604e98eca80461efe53fa64bb701


[ROCm/clr commit: 191869b252]
2024-07-16 10:02:42 -04:00
Julia Jiang 3c7ae28776 SWDEV-472710 - Adding gitattributes and remove trailing spaces
Change-Id: Ic8ad2071745f0ffe6a2e120bfebb6d90bf270f87


[ROCm/clr commit: dd30e0e893]
2024-07-15 12:39:56 -04:00
Ioannis Assiouras f3a77127b4 SWDEV-472309 - Check if vmm support exists before enabling vm in mempool
Change-Id: I6ae2fb18a306595e0f3a56e144658a4a720e7a37


[ROCm/clr commit: 0053584aac]
2024-07-12 10:11:03 -04:00
Jaydeep Patel ca6d126f81 SWDEV-471298 - Use same context during child creation as parent's context.
Change-Id: I41e534b6194cef9aa8e96b28b8e811906cb362f0


[ROCm/clr commit: fb2b87db56]
2024-07-11 23:15:41 -04:00
pghafari e50ce19519 SWDEV-444447 - log print pid/tid only in verbose mode
Change-Id: I2bbe9085d607e9d8d5acda1ed43e3245335d239f


[ROCm/clr commit: 9e6e77b7dd]
2024-07-11 15:39:13 -04:00
Satyanvesh Dittakavi 64c8d338a0 SWDEV-472010 - Add error message reporting unknown kernel arg metadata
Change-Id: I18e45592e58e5766b4c00f758966771f06205ba8


[ROCm/clr commit: dc8259e71e]
2024-07-11 13:56:58 -04:00
Jatin Chaudhary 7425b0e1a4 SWDEV-470698 - add common .clang-format inside main folder
Remove the redundant copies inside sub folders. This was useful when
these projects were independent but now since they are merged they
should have one single .clang-format file.

Change-Id: I60510d7b78b129c761e84f13403492bd0c5d941a


[ROCm/clr commit: b5b1f639c0]
2024-07-11 11:39:16 -04:00
pghafari a7f03374fb SWDEV-462999 - updating the asm code for gfx12
Change-Id: Icd0fb85b99771280c18ee189dc1e1e481a4f5927


[ROCm/clr commit: ff96b23dda]
2024-07-09 18:16:57 -04:00
Ioannis Assiouras 376da06e2f SWDEV-469825 - Modified the kernel argument readback to use a pointer to volatile
This change modifies the readback mechanism to use a pointer to volatile
instead of a volatile pointer. This ensures that the compiler does not
optimize away the read operation.

Change-Id: I79ff925d615aa8cc4f950e8ff4b7e608fcb179a4


[ROCm/clr commit: ea50d2c0c2]
2024-07-09 17:28:47 -04:00
Tao Sang b8cf863eaa SWDEV-458943 - Implement std::mutex based monitor
Implement std::mutex based monitor that has much
simpler logics than legacy monitor.
Create DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR to
toggle them.
If DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR = false
  (by default), use legacy monitor;
If DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR = true,
  use std::mutex based monitor.
If no perf drop of stl::mutex based monitor,
legacy one will be removed later.

Change-Id: I1d21368ff462477d3238d71e4e2a1a7d6b9167ad


[ROCm/clr commit: 73c02041e1]
2024-07-04 11:50:46 -04:00
Ioannis Assiouras a774b89a43 SWDEV-470787 - Fixed undefined symbols for flags in static build
Change-Id: I7812c8924396d0df9ab331f9a1844aabbf5a9211


[ROCm/clr commit: fa07c33cba]
2024-07-04 02:57:22 -04:00
Saleel Kudchadker bbef85714e SWDEV-470008 - Fix AMD_SERIALIZE_KERNEL
- awaitCompletion code may do a endless spin wait for cases where we
dont submit a handler. One such case can be the hipExt*Launch API which
takes a stop event. In that case we optimize the stop event by attaching
a signal to the dispatch packet but dont submit a handler when we attach
the signal. That means if awaitCompletion() is called after that, we
would keep on waiting on command status on the host rather than simply
checking signal value.

Change-Id: Ie8bf175aeefa3f9e4299b1ae7ae9108dad67e283


[ROCm/clr commit: 561fb8a459]
2024-07-02 19:05:05 -04:00
Sourabh Betigeri 524c4663a6 SWDEV-470703 - Avoids a potential segfault caused by nullptr dereferencing
Change-Id: If80b00b41869076c18651995c46f89095e7266f9


[ROCm/clr commit: 9d628a4a3d]
2024-07-02 12:22:29 -04:00
taosang2 881ffd6650 SWDEV-467540 - Get lastCommand safely
We must be in protected way to get last command when calling
awaitCompletion() where lastCommand will be released and
possibly destroyed.
This can solve scope lock(notify_lock_) crash in
Event::notifyCmdQueue() with AMD_DIRECT_DISPATCH = true.

Change-Id: I4297166f912a71112f4a8945d993160ba9afdc34


[ROCm/clr commit: 749385155a]
2024-06-28 21:18:22 -04:00
Alex Xie daa1c6ade3 SWDEV-469252 - Remove Macro definition to use other method
Change-Id: I6d6b242030938c48859fd6b0157a418a6af5a0b0


[ROCm/clr commit: 12c18ed610]
2024-06-25 19:06:16 -04:00
Jimbo Xie ab9029191d SWDEV-464015 - add gfx1150 to perf counter support to follow gfx11 behaviour
Change-Id: I4297166f902a71112f4a8945d903060ba9afdc32


[ROCm/clr commit: e6a25aef08]
2024-06-21 16:02:25 -04:00
taosang2 83eb6e766d SWDEV-465162 - Fix some issue with image support
Fix some small issues regarding image and mipmap support

Change-Id: I8e64223d44f37c2dbb115cbb343441a48021ba7b


[ROCm/clr commit: 1566ff7639]
2024-06-18 16:38:24 -04:00
taosang2 20417d5b0f SWDEV-467540 - Fix reference of freed locks
1.Move global amd::monitor listenerLock before global
class runtime_tear_down as it will be referenced in
~RuntimeTearDown() after main(). It should be freed
later than runtime_tear_down.

2.Update  Device::~Device() to SVM free coopHostcallBuffer_
before context_ is released and freed.

Change-Id: I1d21378ff463477d3238d71e5e2a1a7d6b9147ad


[ROCm/clr commit: 544c45364f]
2024-06-18 13:58:36 -04:00
Ioannis Assiouras d9a6402c12 SWDEV-468151 - Fixed segfault during destruction of arena_mem_obj
Change-Id: I1ebfa965bd243890dcb54d9b55992ae68c497bf0


[ROCm/clr commit: aee0b1db39]
2024-06-17 15:27:08 +01:00
Anusha GodavarthySurya 291f079669 SWDEV-467102 - Hidden heap init for graph capture
If the graph has kernels that does device side allocation,  during packet capture, heap is
allocated because heap pointer has to be added to the AQL packet, and initialized during
graph launch.

Handle race with wait when 2 kernels with device heap are enqueued on multiple streams.

Change-Id: I45933b77fcaf7bc8fdf1bc906462e32b5d8d3688


[ROCm/clr commit: 57156c524d]
2024-06-17 02:07:25 -04:00
kjayapra-amd abeed5c711 SWDEV-467706 - Do not set HostMemoryDirectAccess flag for vaddr mem creation.
Change-Id: Iac30e906eea8a05a192a981f9069a5bbade10728


[ROCm/clr commit: d1b833e509]
2024-06-14 06:55:11 -04:00
Jaydeep Patel af3ed0fcf1 SWDEV-461702 - Disable interprocess for >3GBs local memory due to PAL failure.
Change-Id: I211d4de2e04a45148b92d256378516d2f79e210a


[ROCm/clr commit: c03ccdb9b9]
2024-06-14 00:12:21 -04:00
Ioannis Assiouras dfe46a3093 SWDEV-467069 - Added safety check in activity prof for accumulate command
Adding a safety check prevents an invalid memory access
if timestamps and kernelNames vectors are of different size.

The patch also moves the addKernelNames for the accumulate command
into dispatchAqlPacket function.

Change-Id: Iea0927e1253800403a1ae3f3d72de1e7d96476c3


[ROCm/clr commit: d44f44a5b1]
2024-06-12 21:53:03 +01:00
Ioannis Assiouras af089a2171 SWDEV-463865 - namespace changes to prevent symbol conflicts in static builds
Change-Id: I09ceb5962b7aa19156909f47167c87d6887c9cd1


[ROCm/clr commit: 3edf1501cc]
2024-06-12 16:22:27 -04:00
German Andryeyev 248ea14e63 SWDEV-459610 - Skip destruction for the child process
Fork() duplicates all system memory resources, but runtime can't duplicate
GPU resources. Thus, avoid tearDown() calls for the child process(s).

Change-Id: Id6b12bacd5112b9ad3747c218e09cba98ea1b42c


[ROCm/clr commit: ae2992ea43]
2024-06-12 11:12:39 -04:00
Jacob Lambert 47297efb22 SWDEV-1 - [NFC] Fix typo in Log output
Change-Id: Ibcd779fa5ed1d8eda0241c7cd2531af4b60cf33f


[ROCm/clr commit: 4e77806ee5]
2024-06-11 15:08:52 -04:00