Commit-Graf

13367 Incheckningar

Upphovsman SHA1 Meddelande Datum
Aidan Belton-Schure 152cee3737 SWDEV-443561 - Add tools dispatch table
Change-Id: I3445554e486ab7b94592571f52c1530cb918d021
2025-02-04 04:57:38 -05:00
Juan Manuel Martinez Caamaño 8c9e6d0fa5 SWDEV-132637: Remove OpenCL cl_khr_depth_images workaround that is not needed anymore
The cl_khr_depth_images associated macro definition is defined twice in
the compiler: in opencl-c.h and automatically by the compiler deduced
from the cl-ext list. These two co-exist and there is no need to remove
cl_khr_depth_images from the cl-ext list.

If we remove cl_khr_depth_images from the cl-ext list, and we do not
include opencl-c.h the macro is not defined.

This fixes conformance test ./test_compiler compiler_defines_for_extensions
when using Comgr with -include opencl-c-base.h -fdeclare-opencl-builtins
without including opencl-c.h.

Before we got the error `ERROR: Supported extension cl_khr_depth_images
not defined in kernel`

This change is needed to eventually get rid of the opencl-c.pch that is embedded in comgr, and that makes implementing a compilation cache in comgr hard.

Change-Id: I76497874ebe7163966420d4ac23a0788b93a36fd
2025-02-04 03:14:31 -05:00
Jacob Lambert 33e48b9629 SWDEV-387063 - Use clang default for C++ version
Instead of enforcing c++14 here, we can instead use the current
clang default

Change-Id: Ib0a178a53c1377f2910edf6fab82b2bac6567ac7
2025-02-03 11:07:52 -05:00
Jimbo Xie 4872b420c9 SWDEV-504383 - Cleaned up kForcedTimeout10us and removed IsHwEventReadyForcedWait
Also removed active_wait_timeout

Change-Id: I7a429f003c09a4df267b5c0983050704260094c6
2025-01-31 14:40:18 -05:00
taosang2 32daa8f384 SWDEV-501963 - Add missing codes for gfx950
Cherry-pick https://gerrit-git.amd.com/c/compute/ec/clr/+/1162997

Change-Id: I6b3c6bf55c61cffd43cd6f17b75998f751b75723
2025-01-31 14:34:49 -05:00
taosang2 4ec274c7d4 FEAT-56803 - Fix ocltst slow issues
Fix very slow issues of two ocltst test cases.

Cherry pick
 https://gerrit-git.amd.com/c/compute/ec/clr/+/1009383

Change-Id: I0228c5e87cdec366993fd4afb1c25e7f8161c2c5
2025-01-31 10:45:43 -05:00
Anusha GodavarthySurya b385992f94 SWDEV-489084 - Avoid creating internal stream when graph has single branch
Change-Id: I9371d44481257069bb51c0217a57f97d803589c4
2025-01-31 00:16:57 -05:00
kjayapra-amd 0324014710 SWDEV-509280 - Combine multiple definitions of callbackQueue into a single function.
Change-Id: Ibbb56136bec2beed71c202d75e8aec9e82640a4e
2025-01-30 15:58:11 -05:00
Jatin Chaudhary 1fdbf35d14 SWDEV-508617 - There is no NaN for E4M3 and FNUZ
Change-Id: I330b041019990231c098073f94d9d40a3c13ba76
2025-01-30 11:48:34 -05:00
Saleel Kudchadker 2d450e8b06 SWDEV-504494 - Resolve signal dependencies
- Resolve signal dependencies for barrier value packet if there are > 1
  depenent signals. Barrier Value packet accounts for only 1 dep signal
- Better log

Change-Id: Ia506ad5d80b91d598f92e7b539f41756e9b4b64b
2025-01-29 19:49:02 +00:00
Jatin Chaudhary e6fb89190a SWDEV-507817 - fix the return type of one of the atomicMin variants
Change-Id: I9915eb174d5677e21adbabae5819c9e306338ab3
2025-01-29 11:52:19 -05:00
Jimbo Xie 4abedf2a0e SWDEV-510869 - add gfx1153 id
Change-Id: I36d39a1db2392990ad9b01d70676c3c986435707
2025-01-28 18:15:46 -05:00
Saleel Kudchadker 08af3eb484 SWDEV-508225 - Improve fat binary handling
Change-Id: I78a9951f2f4c4c743c1205b1e40aac215054e27d
2025-01-28 14:38:21 -05:00
German Andryeyev ea0b092af8 SWDEV-459826 - Add a crash dump for a failed queue
The logic can analyze the AQL queue state and
find a failed AQL packet with the kernel's name

Change-Id: I1a478fa2c25462cd07a194784958bdf22454b897
2025-01-28 14:27:46 -05:00
Tao Sang f2ff56af9c SWDEV-458943 - Add fast path in wait()
wait() is redesigned with two pathes:
fast path: Use spinlock to wait for notify signal. If the
 signal hasn't been received for some loops, go to slow path.
slow path: Use condition_variable's wait().

Improve monitor wrapper for better performance.

Fix some bugs left from name removing patch.

Change-Id: I893a8353121a25d11e37c8e631caf31cc1fc1f24
2025-01-28 12:19:55 -05:00
Saleel Kudchadker d208e8052f SWDEV-504494 - Set active engine for SDMA
Change-Id: I4cec84e71903c5813a7063e8b9ff1ea4473f4720
2025-01-27 17:54:36 -05:00
Gerardo Hernandez b073063612 SWDEV-510589 - Use libgcc1 package (on Debian 10 only)
Change-Id: Ibe945e366468a84fd717e0e425cfaf7dab5a99c4
2025-01-27 11:02:30 -05:00
Marko Arandjelovic 269ec54252 SWDEV-489619 - Added checks for memcpy capture path
Change-Id: I0e156099282f0b6393bcbcee2e9b96c31034a851
2025-01-27 03:51:34 -05:00
Jacob Lambert 1fc7c6bb9a SWDEV-360440 - Prepare CLR CMake for Comgr V3 transition
Change-Id: Ia279928fd3549a45bae561d0d2d8fcf110d8c245
2025-01-27 01:09:23 -05:00
Ioannis Assiouras 21c223f8df SWDEV-510319 - Fixed random segfaults in graph tests
This change fixes random segfaults in graph tests that
are seen after the change make internal callbacks non-blocking.
The callback thread that decreases the GraphExec ref count
may now run after the runtime shutdown. This can cause a segfault
because the hip::device that is accessed in GraphExec destructor
is already destroyed during runtime shutdown. This patch ensures
that the hip::device object  stays alive until after the
callback thread completes.

Change-Id: I75a6ac01f27a0b2250bbd10ed389ebfb322927af
2025-01-25 09:54:15 -05:00
Sourabh Betigeri c460b0541b SWDEV-502219 - Adds validity checks for negative parameters passed
Change-Id: Ib8a531533306a27143d74b81c074de81051eb896
2025-01-24 16:32:29 -05:00
Saleel Kudchadker 9b7e0ad48a SWDEV-510186 - Improve logging of kernel names
- Demangle kernel names in logs

Change-Id: I9aa58e8c109becb45ef7fc747d991bd657c4190a
2025-01-24 11:43:02 -05:00
zichguan-amd 272ef9a7bf SWDEV-509518 - Allow LLVM_ROOT and Clang_ROOT to be used with find_program
Fixes #123. find_program doesn't follow CMP0074 and thus ignores LLVM_ROOT and Clang_ROOT. This change adds LLVM_ROOT and Clang_ROOT to the search path of find_program for llvm-mc and clang in hiprtc to mimics previous add_package behaviour.
Caveat: cmake-specific variables like CMAKE_PREFIX_PATH will take precedence over paths specified with HINTS for find_program, there's no way to change the ordering unless we skip cmake-specific variables all together using NO_CMAKE_PATH and NO_CMAKE_ENVIRONMENT_PATH.

Change-Id: I1fedb60cda09744416e19b3c6e3e0c5c9045f8e7
2025-01-23 11:50:36 -05:00
taosang2 799e54aa0d SWDEV-507969 - Fix wrong VGPRs for some devices
Change-Id: Ia8fc19564272e2c7171d991376bf896a99085a97
2025-01-22 10:11:47 -05:00
Jaydeep Patel 57df1b348f SWDEV-508982 - [6.4 Preview] - Handle hipMemPoolCreate, hipMemPoolDestory & hipDeviceSetMemPool during stream capture.
Change-Id: Ia195442041803896df814798c3d2053c0ba7770c
2025-01-22 05:28:47 -05:00
Jatin Chaudhary bd7d40a4d8 SWDEV-491248 - Fix build_mask
thread_rank() gives thread index in a block. Limit the range to the
current warp size.

Change-Id: Ib5c9831236096485cf99ba7ab0b911a3b10de31c
2025-01-22 04:46:01 -05:00
Jaydeep Patel b4df9fb6ec SWDEV-457316 - Use phy memory obj stored in user data instead of querying from memObjs.
Change-Id: Id837eb00195d88b50904441f01cf8153fa752ecd
2025-01-21 22:05:14 -05:00
Pengda Xie f76733e5b8 SWDEV-508590 - Fix segfault issue with hipModuleLoad
- Ensuring devProgram pointer isn't nullptr

Change-Id: Ia5786d0a2441f3a512d79b4998eb314beb98b35e
2025-01-21 11:38:37 -05:00
Sourabh Betigeri e4ba0b6262 SWDEV-507104 - Removes alignment requirement for Semaphore class to resolve runtime misaligned memory issues
Change-Id: I1be3eb6e9fdcf12e995c8fe8ee30592c94f7f97a
2025-01-20 11:27:47 -05:00
Konstantin Zhuravlyov dd4378611a SWDEV-341212 - HIP header changes for supporting SPIR-V
This removes almost all uses of the deprecated
__AMDGCN_WAVEFRONT_SIZE macro, which is unavailable
when targeting SPIR-V, and adds a SPIR-V compatible
formulation of warpSize (which should end up as the
sole definition of warpSize once we remove support
for treating it as a compile time constant). It
is incomplete in that the cooperative_groups
implementation will need additional surgery.

Squashed commit of the following:

commit 6840826c3fec8516857dc4f2092d84358550f588
Author: Alex Voicu <alexandru.voicu@amd.com>
Date:   Fri Dec 6 23:36:32 2024 +0000

    Add deprecation warning for constexpr uses of `warpSize`.

commit a72307a7353034c2de53fd164e016967945fd0d1
Author: Alex Voicu <alexandru.voicu@amd.com>
Date:   Fri Dec 6 23:12:14 2024 +0000

    Prepare HIP RT for SPIR-V.

commit 5e40dd746ac4f8c93b521ef048ff9d494905ba95
Author: Alex Voicu <alexandru.voicu@amd.com>
Date:   Fri Dec 6 22:46:05 2024 +0000

    Revert stale change.

commit 231fe91c53dba4cabd832fc84eaa6ddb402271a0
Merge: a48905ec9 78f62d323
Author: Alex Voicu <alexandru.voicu@amd.com>
Date:   Fri Dec 6 22:37:24 2024 +0000

    Merge branch 'amd-staging' of https://github.com/ROCm/clr into amd-staging

commit a48905ec9cfe0e017cc64943195be82b530117d7
Author: Alex Voicu <alexandru.voicu@amd.com>
Date:   Tue Sep 17 03:14:56 2024 +0100

    Add scaffolding for SPIR-V support.

Change-Id: I2e84bbe90df58a5f9a8709b619905f04fa5b96dc
2025-01-20 08:42:24 -05:00
Jatin Chaudhary 6a5d19059d SWDEV-341217 - Initial work to use SPIRV in HIP
Change-Id: If5c09b5e86b498e7ac5eb05adf28cb7a1fac8101
2025-01-20 03:54:23 -05:00
Jaydeep Patel 1aa8383b09 SWDEV-509664 - Specify type explicitly.
Change-Id: Ia0c0478682fa15eae7a31a2360310f08151716d4
2025-01-17 13:09:48 -05:00
Julia Jiang fe5c68d8a3 SWDEV-509295 - Update changelog with newly added HIP APIs for 6.4
Change-Id: I6052e3bf4f17d1fec23e6cc835aa2526ee0bc48c
2025-01-17 10:13:11 -05:00
Julia Jiang f497b79111 SWDEV-509295 - Merging changelog from 6.3.2 into amd-staging for 6.4
Change-Id: I0cd56b44402e82499616e961212abd2b3569c164
2025-01-17 10:12:44 -05:00
Branislav Brzak 3fd46a3783 SWDEV-508743 - [6.4 Preview] Add ROCm 7.0 breaking change fields
Change-Id: I07bff42731e74a4c409505cf8981342e22ce26be
2025-01-17 06:25:27 -05:00
Vladana Stojiljkovic 30cb2d0e67 SWDEV-498061 - Add capture support for hipModuleLaunchCooperativeKernel
Change-Id: I5ed188e046c680c2785b3952391f59ed1d0c21b8
2025-01-16 10:54:30 -05:00
Marko Arandjelovic db8527f655 SWDEV-489619 - Fix memcpy tests with capture stream enabled
- Added missing validation as graph node should not be created
 if parameters are invalid
 - Fix conversion of input params to graphNode params

Change-Id: I37ab04942b5fb2eb07386850cb7dbbf26f9ca967
2025-01-16 10:31:04 -05:00
Marko Arandjelovic c46f843b99 SWDEV-504084 - Make hipModuleGetFunction use the device the module is loaded on
If a module is loaded on one device, hipModuleGetFunction and other similar APIs should be able to run successfully from another device.

Change-Id: I96084cbd6c6dcf2a81019779a6ab1842ef2f35d1
2025-01-16 10:16:42 -05:00
Ioannis Assiouras 5e3a29078d SWDEV-505503 - Use internal device synchronize function in __hipUnregisterFatBinary
This is to avoid calling the HIP_INIT macro during the shutdown process.

Change-Id: I2e65f6e10491918a17445ee1e8ddd08286070358
2025-01-15 18:57:34 -05:00
Sourabh Betigeri 9d8d35ae40 SWDEV-507960 - Return with error code if stream of type hipStreamLegacy is being attempted to destroy
Change-Id: Iee7ada6a5a905b44360a7e4049fc8b1a45c80db0
2025-01-13 18:17:37 -05:00
Ioannis Assiouras 44b6b6813d SWDEV-503760 - Only consider allocations that are less than X% larger in a mempool request
Change-Id: I94acbca606fd4c575e2e1a9e34959ce650571867
2025-01-13 16:57:26 -05:00
Rahul Manocha 2b32d9aada SWDEV-497288 - Add validation checks to hipGraphExecNodeSetParams
Change-Id: If8cde47bc8e62414333768e01064298d8a3d80ee
2025-01-13 16:49:45 -05:00
Rahul Manocha 93cff75928 SWDEV-492165 - Add support for 16 bit atomicAdd and atomicCAS
Change-Id: I7f1e4876fe2960dff1775d27cb6443a89e146c86
2025-01-13 13:35:40 -05:00
Jacob Lambert 805462a77b SWDEV-477039 - Fix spelling typos
Change-Id: Ia46e07ec0a001b7e19bec999597028acd4ee7077
2025-01-13 12:17:46 -05:00
Aidan Belton-Schure 451b0ce768 SWDEV-482851 - Do not release last suballocator chunk
Change-Id: Ib28dc9df68e454ee0c0c699c1ff17588fd55f802
2025-01-13 10:14:40 -05:00
Daniel Livingston 541c449ce2 SWDEV-489003 - [Ubertrace] OCL/HIP profiles are missing event instrumentation
Adds UberTrace support for pre-dispatch markers and barrier begin/end markers.

Moves shared definitions out of palgpuopen.hpp into shared header
palcapturemgr.hpp.

Change-Id: I9f464c689e7ff12c54eca043fc1ad65e1836a64f
2025-01-10 11:28:52 -05:00
Julia Jiang c6e25b2be7 SWDEV-507699 - Update CLR license date
Change-Id: I51b641c58b1e9b8c84637af2d22f905bcdab8f56
2025-01-10 11:17:19 -05:00
Julia Jiang bdf48bdbf9 SWDEV-497634 - Update change log for hipMalloc allocation fix on Windows
Change-Id: If4351cb4f75141661538e1d26c96e600df3d0b39
2025-01-10 10:12:39 -05:00
Anusha GodavarthySurya 683a942364 SWDEV-480209 - Make internal callbacks non-blocking
Change-Id: Ic918d08f341abfd9a7c167d09f9c723cdc43157f
2025-01-10 02:16:11 -05:00
Saleel Kudchadker c9dd95bf6c SWDEV-504494 - Use system scope for D2H
- When using shader copy, make sure to use release scope for the AQL
  packet. This is a potential bug but is hidden as hipMemcpyAsync always
needs synchronization(which inserts a barrier with release scope). For
hipMemcpy we use a barrier packet to make sure its blocking. Eitherways
a barrier gets always used and hides in some ways a potential bug.

Change-Id: I57fb7f769c3179e76d712471c0905104c801d7ba
2025-01-10 00:34:08 -05:00