Commit Graph

13055 Commits

Author SHA1 Message Date
Marko Arandjelovic 7d0ff387e9 SWDEV-461791 make memcpy synchronous for D2D if src&dst ptrs have SYNC_MEMOPS attribute
Change-Id: I603081d21e5eb3c73111845e350d8fa2ba5a7733
2024-07-30 11:46:55 -04:00
Ioannis Assiouras 9b33db9b24 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
2024-07-30 10:26:59 -04:00
Sourabh Betigeri 7298b80112 SWDEV-365151 - Fix the fns32 to do 32 bit computation and adds a wrapper to ease porting from CUDA
Change-Id: I0b5a9ca11c98f8c1c40cfba7f4e057bfda2d756e
2024-07-26 11:20:14 -04:00
Saleel Kudchadker cda4b7db1c SWDEV-475341 - Fix stream resolution for graphs launches
This issue was happening because of incorrect usage of getStream call,
if we get the null stream first and then typecast it, and call on
getStream again, we lose the advantage of simply passing "nullptr" to
indicate NULL stream. Thus we enter the waitActiveStream call and add
barriers to sync across streams.

Change-Id: I94dc4e3ec927295b9e1ab6dee4b37d7d3e00b0cc
2024-07-25 19:38:23 -04:00
Sourabh Betigeri 4fbd7abbb2 SWDEV-475394 - Fix for the return type to be in-line with CUDA
Change-Id: I7c833571d47b4e86a86e4a0095b61947d16ecab6
2024-07-25 16:33:33 -04:00
Saleel Kudchadker d379f4efd0 SWDEV-301667 - Refactor Blit force env var
Change-Id: I5344ac2e6442cd8f526118e688f1b1412cc5b45a
2024-07-25 15:15:10 -04:00
Rahul Manocha 353f15afa6 SWDEV-468039 - FP8 OCP headers
Change-Id: Iecd32c5a0357781da07395d32f894415954b7b22
2024-07-25 12:42:23 -04:00
German Andryeyev c6b8d69158 SWDEV-470612 - Avoid copying a vector on the stack
Change-Id: Ia5fc7d1f77d2519dedeedb2c82c26efebb03d1d3
2024-07-25 10:09:19 -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
taosang2 f8598dabb0 SWDEV-458943 - make new AMD_MONITOR on
make DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR be true

Change-Id: I1d21378ff462478d3238d71e4e2a1a7d6b9167ac
2024-07-24 14:29:27 -04:00
Maneesh Gupta 66943288a5 SWDEV-459583 - Fix codeowners file
Change-Id: Ib03328a7fb13375fa44626a40202b1eeb177b8b5
2024-07-24 08:20:37 +00:00
German Andryeyev 1bac09ea20 SWDEV-469602 - Focre unaligned memory mode with RDP
Change-Id: I770f3dc8dde49d8e4ecdf5c38819e44df3960bce
2024-07-23 18:31:52 -04:00
cadolphe 21a1c9075a SWDEV-462404 - Fix num_mip_levels for 1D Buffer
Updating field num_mip_levels to better align with OpenCL specification that mip-mapped images can not be created for CL_MEM_OBJECT_IMAGE1D_BUFFER images. Added check for miplevels value used for ClCreateImage call.

Change-Id: I82a25b83ef0637a877409572b7976d9e4413dfac
2024-07-23 11:16:38 -04:00
Jatin Chaudhary e43176bde9 SWDEV-466747 - add shfl functions in bfloat16
Change-Id: Ide7d7e1d449783cced8867abf43ff45f5bce113a
2024-07-23 10:51:02 -04:00
taosang2 e3ef19e22a SWDEV-474091 – Fix sporadic crash in streamcallback test
Also in the scope of SWDEV-467540.
Fix sporadic crash in Unit_hipStreamAddCallback_MultipleThreads by
deferring release() of block_command.
The test will invoke 1000 threads on the same stream thus there
is a chance to free block_command too early in original code.
By deferring release() of block_command we can make sure block_command
is always valid during calling block_command->notifyCmdQueue().

Change-Id: I31555ee18e6958e34b89f04181867fa4e932a38c
2024-07-23 10:24:10 -04:00
kjayapra-amd 9c03f85f46 SWDEV-460948 - Remove dflock, since kernel arguments are part of command now.
Change-Id: I6b5a229307b41bd24ffa0bc172c64ad1154df474
2024-07-22 16:02:01 -04:00
Anusha GodavarthySurya 6ae5d6896c SWDEV-468424 - Fix kernelArg mgr release and clear commands after capture
Creation of ReferenceCountedObject will increase reference count by 1.
Clear the commands from Node after capture so that they wont be reference later.

Change-Id: I1cc4085939cf65218ec2aa2e25ab6d737f7cacd3
2024-07-22 05:16:12 +00: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
Jatin Chaudhary 6a655a77e7 SWDEV-466747 - optimize conversions for bfloat16 operations
Since we made the members public, we can optimize some operations which
do not require redundant conversions to half_raw types.

Change-Id: I31555ef18e695d8e24b89f0418187fa4e932a38a
2024-07-17 18:37:25 -04:00
Maneesh Gupta 375089876a SWDEV-472433 - Update year in license
Change-Id: I61a8cf5f361504989a754ed44247c6c02e857a89
2024-07-17 05:14:20 -04:00
Jatin Chaudhary 4b95e7bc87 SWDEV-467414 - add sharedMemPerBlockOptin = sharedMemPerBlock
On some platforms user can ask for extended shared memory for a
particular kernel in some cases. This feature does not exist on HIP at
the moment. So we are setting it to sharedMemPerBlock which is the
maximum user can expect for their kernels.

Change-Id: I81005cf0d1c9fb941e77d34fb8385241ffe5bdd0
2024-07-16 11:00:29 -04:00
kjayapra-amd a5664fc93f SWDEV-460113 - Remove the ufd print.
Change-Id: If0d64ea4b6662493784c040aa1ceffafc8efa1c3
2024-07-16 10:39:16 -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
Anusha GodavarthySurya 35079e834e SWDEV-468424 - Refactor kernel arg
For refactoring of childGraph to have its own graphExec,
kernelArgs needs to be separated from the graphExec object.
All the childNodes part of graph should share same kernelArg pool.
Otherwise we endup creating multiple device kernel arg memory chucks
for single graphExec.

Change-Id: I4029a46ebc1fa112d87df64ab1fecbf288fabe5e
2024-07-16 08:38:44 -04:00
Marko Arandjelovic 7d3c0c5e10 SWDEV-441296 - Allign hipTexObjectCreate error handling to CUDA
Change-Id: I9ff01c22f14344e0e82e473104d6930e9fa5ff77
2024-07-15 15:51:41 -04:00
Julia Jiang dd30e0e893 SWDEV-472710 - Adding gitattributes and remove trailing spaces
Change-Id: Ic8ad2071745f0ffe6a2e120bfebb6d90bf270f87
2024-07-15 12:39:56 -04:00
Julia Jiang 1e0565cc01 SWDEV-472908 - Fix oclConfWimpyfull test failure
Change-Id: I44fddb88353e86a2f37e3ac870ba84cf6cace197
2024-07-12 13:40:48 -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
Marko Arandjelovic 152f343124 SWDEV-472345 - Fix coalesced group size
In case when the tile size is greater than the number of active threads,
the coalesced group size should be equal to the number of active threads.

Change-Id: I1d41322f2428a07862a590cb5d34b01243383b7c
2024-07-12 04:29:53 -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
pghafari 9e6e77b7dd SWDEV-444447 - log print pid/tid only in verbose mode
Change-Id: I2bbe9085d607e9d8d5acda1ed43e3245335d239f
2024-07-11 15:39:13 -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
Jatin Chaudhary b5b1f639c0 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
2024-07-11 11:39:16 -04:00
sdashmiz 57e79802cd SWDEV-421021 - Add APIs cuMemcpyNodeGet/Set params
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I24bc0da56aad34c9d5876a3d83b59515f11dc3ea
2024-07-10 12:53:01 -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
sdashmiz 7257f56c60 SWDEV-429053 - Add more check for hipStreamLegacy
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Iaf802372b160b09e5e8451074af1731e4f1d410a
2024-07-08 13:55:54 -04:00
jujiang e3114e8f38 SWDEV-455106 - Make a correction in clr readme
Change-Id: I218e2b3ad22424b6a1c564498bbaa18c14e8a751
2024-07-04 13:32:29 -04:00
Jaydeep Patel cf0320a0b9 SWDEV-457316 - Return invalid val from add mem free node if corresponding mem alloc node is missing.
Change-Id: Ib0c346a439fc38ebfd106bcbdf75bd10bfd2f090
2024-07-04 13:09:46 -04:00
jujiang 149f393991 SWDEV-455106 - Adding new API support in 6.2
Change-Id: I0170fc1ab2b0a988aee78489bc140434464f0a21
2024-07-04 12:01:11 -04:00
Tao Sang 73c02041e1 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
2024-07-04 11:50:46 -04:00
Ioannis Assiouras fa07c33cba SWDEV-470787 - Fixed undefined symbols for flags in static build
Change-Id: I7812c8924396d0df9ab331f9a1844aabbf5a9211
2024-07-04 02:57:22 -04:00
Saleel Kudchadker 6ac67afdd5 SWDEV-465602 - Fix random segfault
- Introduce a lock when checking isUserObjectValid. We need a lock
here as one can remove the userObject T2, leading to buffer overflow
when checking ranges in T1.

Change-Id: I058144b8cc463c90ab6bf5cf96bf937897742917
2024-07-03 18:57:23 -04:00
Maneesh Gupta 933b083360 SWDEV-1 - Update CHANGELOG
Change-Id: I715ea6e30fdf7d561654acf9fc47fc4108d1ce0f
2024-07-03 14:47:24 -04:00
Saleel Kudchadker 561fb8a459 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
2024-07-02 19:05:05 -04:00
Jatin Chaudhary ecd812b2d8 SWDEV-460834 - add unsafe atomic add for fp16 and bf16
Change-Id: I6de5c2c425c9f8ac7f6c4e5c83c8b8b7ac8fe4cb
2024-07-02 16:45:17 -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