Commit Graph

1041 Commits

Author SHA1 Message Date
Julia Jiang 417d3279f9 SWDEV-476623 - correct the format on the fix for clCopyImage
Change-Id: I3a3fb2eaa338ff4e298a43e583fcf94ec7cabdf6
2024-08-28 16:16:24 -04:00
Julia Jiang c3c41dae0d SWDEV-476623 - Fix test failures for clCopyImage
Change-Id: I971c5be98304bdbef0feec73e15ebd61a131b12f
2024-08-27 11:43:12 -04:00
kjayapra-amd 2a9cb89228 SWDEV-478099 - Fix multiple mapping case on PAL/Windows backend.
Change-Id: Id1fe7939fbf90649cda1848890b3b4ca9a1fcd00
2024-08-27 11:19:39 -04:00
ksankisa e76bf653fb [SWDEV-469495] Compile blit kernels with -fsanitize=address when asan is enabled.
Change-Id: I96e1abef43317cd58329c4a159f807878bc48cf4
2024-08-27 01:27:31 -04:00
kjayapra-amd 00eb038eec SWDEV-479620 - Change argument type to size_t from uint64_t in nonTemporalMemcpy function.
Change-Id: I31f8a2b00685789b027d78be40a9f82c235f51b9
2024-08-24 07:42:37 -04:00
kjayapra-amd d7b097c994 SWDEV-478097 - Check for parents size in case of VA Mem object.
Change-Id: Icfdeabeb178c0dcc8c3a4bc48eec40067985794e
2024-08-22 14:18:51 -04:00
Shane Xiao 3959b5be1e [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
2024-08-21 21:49:11 -04:00
Rahul Manocha 432bdd7bf2 SWDEV-474617 SWDEV-464679 - Fix segfault in palvirtual due to peer memory access
Change-Id: Ib8b641712d78acf8bc073ca5705dea97af6f944a
2024-08-21 11:34:15 -04:00
Ajay ec0971dd08 SWDEV-471863 - APU: device allocation greater than invisible memory
Change-Id: I37f1769873ac7dcbb3cfa51fd815ee1e2123aeae
2024-08-09 14:29:18 -04:00
German Andryeyev 9db52f9a46 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
2024-08-02 14:19:44 -04:00
Anusha GodavarthySurya bd3a35bde1 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
2024-08-01 23:55:51 -04:00
Saleel Kudchadker d379f4efd0 SWDEV-301667 - Refactor Blit force env var
Change-Id: I5344ac2e6442cd8f526118e688f1b1412cc5b45a
2024-07-25 15:15:10 -04:00
German Andryeyev 18187cd8fe SWDEV-470612 - Avoid processing internal signals
If only external signals were provided, then just process it
without adding internal signals

Change-Id: Iaefd65d0f8b0a64b9f6a864a9bd73de20a29dfa4
2024-07-25 10:08:16 -04:00
German Andryeyev 1bac09ea20 SWDEV-469602 - Focre unaligned memory mode with RDP
Change-Id: I770f3dc8dde49d8e4ecdf5c38819e44df3960bce
2024-07-23 18:31:52 -04:00
Anusha GodavarthySurya 346da4bb40 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
2024-07-19 23:52:50 -04:00
German Andryeyev 4c763e45a1 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
2024-07-19 18:32:34 -04:00
kjayapra-amd 11817b4405 SWDEV-439234 - Implement Set/Get Access APIs in PAL/Windows.
Change-Id: I997c330880da70c5128b187e1ef4d9c449218880
2024-07-19 10:42:41 -04:00
kjayapra-amd e7a7feb273 SWDEV-464828 - Initial implementation of VMM IPC on PAL/Windows.
Change-Id: I3d5e148fad9105704db6724b00df06bef4fc9d2f
2024-07-16 10:38:35 -04:00
Satyanvesh Dittakavi 191869b252 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
2024-07-16 10:02:42 -04:00
Julia Jiang dd30e0e893 SWDEV-472710 - Adding gitattributes and remove trailing spaces
Change-Id: Ic8ad2071745f0ffe6a2e120bfebb6d90bf270f87
2024-07-15 12:39:56 -04:00
Ioannis Assiouras 0053584aac SWDEV-472309 - Check if vmm support exists before enabling vm in mempool
Change-Id: I6ae2fb18a306595e0f3a56e144658a4a720e7a37
2024-07-12 10:11:03 -04:00
Jaydeep Patel fb2b87db56 SWDEV-471298 - Use same context during child creation as parent's context.
Change-Id: I41e534b6194cef9aa8e96b28b8e811906cb362f0
2024-07-11 23:15:41 -04:00
Satyanvesh Dittakavi dc8259e71e SWDEV-472010 - Add error message reporting unknown kernel arg metadata
Change-Id: I18e45592e58e5766b4c00f758966771f06205ba8
2024-07-11 13:56:58 -04:00
pghafari ff96b23dda SWDEV-462999 - updating the asm code for gfx12
Change-Id: Icd0fb85b99771280c18ee189dc1e1e481a4f5927
2024-07-09 18:16:57 -04:00
Ioannis Assiouras ea50d2c0c2 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
2024-07-09 17:28:47 -04:00
Sourabh Betigeri 9d628a4a3d SWDEV-470703 - Avoids a potential segfault caused by nullptr dereferencing
Change-Id: If80b00b41869076c18651995c46f89095e7266f9
2024-07-02 12:22:29 -04:00
Jimbo Xie e6a25aef08 SWDEV-464015 - add gfx1150 to perf counter support to follow gfx11 behaviour
Change-Id: I4297166f902a71112f4a8945d903060ba9afdc32
2024-06-21 16:02:25 -04:00
taosang2 1566ff7639 SWDEV-465162 - Fix some issue with image support
Fix some small issues regarding image and mipmap support

Change-Id: I8e64223d44f37c2dbb115cbb343441a48021ba7b
2024-06-18 16:38:24 -04:00
taosang2 544c45364f 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
2024-06-18 13:58:36 -04:00
Ioannis Assiouras aee0b1db39 SWDEV-468151 - Fixed segfault during destruction of arena_mem_obj
Change-Id: I1ebfa965bd243890dcb54d9b55992ae68c497bf0
2024-06-17 15:27:08 +01:00
Anusha GodavarthySurya 57156c524d 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
2024-06-17 02:07:25 -04:00
kjayapra-amd d1b833e509 SWDEV-467706 - Do not set HostMemoryDirectAccess flag for vaddr mem creation.
Change-Id: Iac30e906eea8a05a192a981f9069a5bbade10728
2024-06-14 06:55:11 -04:00
Jaydeep Patel c03ccdb9b9 SWDEV-461702 - Disable interprocess for >3GBs local memory due to PAL failure.
Change-Id: I211d4de2e04a45148b92d256378516d2f79e210a
2024-06-14 00:12:21 -04:00
Ioannis Assiouras d44f44a5b1 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
2024-06-12 21:53:03 +01:00
Ioannis Assiouras 3edf1501cc SWDEV-463865 - namespace changes to prevent symbol conflicts in static builds
Change-Id: I09ceb5962b7aa19156909f47167c87d6887c9cd1
2024-06-12 16:22:27 -04:00
Jacob Lambert 4e77806ee5 SWDEV-1 - [NFC] Fix typo in Log output
Change-Id: Ibcd779fa5ed1d8eda0241c7cd2531af4b60cf33f
2024-06-11 15:08:52 -04:00
Ioannis Assiouras 055e05a12a SWDEV-466601 - Fix invalid mem acccess in kernarg readback path
Change-Id: I4654ae592adc8cf9c687136d45eb1b28d99c7ae1
2024-06-10 15:13:05 +01:00
Satyanvesh Dittakavi 1815fc808d SWDEV-464927 - Update the Get by PCI BusId logic and Hop count
- Update the intra socket weight for partitions within single socket as
it is changed to 13 by the driver.
- Use the PCIe function to distinguish the partitions of the same device
such as TPX mode in gfx942.

Change-Id: I8e64023d44e37c2dbb105cbb343441a48021ba7b
2024-06-10 04:46:50 -04:00
Ioannis Assiouras 8f42ad6aa3 SWDEV-464648 - code and comment cleanups
Change-Id: I5ba3f1bff500b3cd5903c2f441017735e688f83f
2024-06-07 22:38:09 +01: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 1590b39f9e SWDEV-464455 - Init Segment flags and check for valid segment before passing to hsa APIs for allocation.
Change-Id: Ibe640093acdb7856115b6a4109bcf010adf20353
2024-06-07 10:40:57 -04:00
Ioannis Assiouras b8c2ac4de4 SWDEV-463865 - symbol renamings to prevent conflicts in static build
Change-Id: Id7fbb638c1088c23df52fee877cd790d637b1ffb
2024-06-06 04:05:55 -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
Lang Yu a0127c9eea SWDEV-461525 - Add vgprAllocGranularity_ and vgprsPerSimd_ for gfx1150/1
These are missed for gfx1150/1.

Change-Id: I03d997e451d15a01a961e6597f805f634e5c3ae7
Signed-off-by: Lang Yu <lang.yu@amd.com>
2024-05-31 21:53:25 -04:00
Alex Xie 80011685b2 SWDEV-462635 - 256 byte image memory alignment
Change-Id: I1d21368ff460477d3238d71e4e2a0a7d6b9167ac
2024-05-29 10:37:27 -04:00
Tao Sang d0050ce309 SWDEV-433371 - Support new comgr unbundling action
Support new comgr unbundling action api to extract codebjects
in compressed and uncompressed modes.

Create HIP_ALWAYS_USE_NEW_COMGR_UNBUNDLING_ACTION ENV to
toggle new path and old path.
If HIP_ALWAYS_USE_NEW_COMGR_UNBUNDLING_ACTION=false(default),
   uncompressed codeobject will go old path for better perf,
   compressed   codeobject will go new path.
If HIP_ALWAYS_USE_NEW_COMGR_UNBUNDLING_ACTION=true,
   both uncompressed and compressed codeobjects will go new
   path.

Add comgr wrapper for
   amd_comgr_action_info_set_bundle_entry_ids()

Change-Id: I79952f132fe21249296685ee12cae05a4f9aec32
2024-05-28 06:31:10 +00:00
German Andryeyev 6c812634e4 SWDEV-1 - Switch PAL to the interface version 872
Change-Id: I71ef232ec7080b36dbffefb201429ab839645ac4
2024-05-28 06:31:10 +00:00
kjayapra-amd adcacec0dd SWDEV-459254 - Make the memory alignment as 256 from 128.
Change-Id: I349486d315d948d750fdc28bd783e7010154ac3f
2024-05-28 06:31:10 +00:00
Ajay 6ec5074d74 SWDEV-439581 - hip event flags clean up
Change-Id: I2197762d912da41a8b53b32b3446f0a958c988a6
2024-05-28 06:31:10 +00:00
Sourabh Betigeri a9f05e22db Revert "SWDEV-301667 - Disable HostBlit copy for HIP"
This reverts commit 5447cf8872.

Reason for revert: SWDEV-455075, SWDEV-461507 - This change forces to
use ROCr's copy path. Reintroducing hostBlit copy path for
host-to-host copies.


Change-Id: Ic3c45b49e481c9dcdaa7611f61071778790b7e6c
2024-05-28 06:31:10 +00:00