Commit Graph

124 Commits

Author SHA1 Message Date
Danylo Lytovchenko f7338717ae SWDEV-470698 - fix formatting, add format check workflow (#657) 2025-08-20 19:58:06 +05:30
Sang, Tao 03338bc767 SWDEV-502579 Revert elf symbols patches (#861)
* Revert "Fix undefined symbol at runtime with newer versions of LLVM (#791)"

This reverts commit b617e8feb6.

* Revert "SWDEV-502579 - Remove duplicated symbols (#21)"

This reverts commit 2296162578.

Revert them because ELF symbols will be added into comgr header.

[ROCm/clr commit: 35c192f1af]
2025-08-13 10:46:39 -04:00
Sang, Tao 2296162578 SWDEV-502579 - Remove duplicated symbols (#21)
Remove duplicated compiler symbols from hip-rt. hip-rt should use symbols such as EF_AMDGPU_MACH_AMDGCN_XXX and
ELFABIVERSION_AMDGPU_HSA_VX defined in compiler header.

[ROCm/clr commit: b15c1657b8]
2025-07-22 10:41:01 +05:30
Dittakavi, Satyanvesh e0a9266e50 SWDEV-433031 - Match the signature of HIPRTC APIs with NVRTC (#378)
Change-Id: I5eb175b15a65a9f1c2db3ae30da6803179520dbe

[ROCm/clr commit: e5f7519e64]
2025-05-22 13:30:33 +05:30
Dittakavi, Satyanvesh 39b9a46025 SWDEV-418904 - Remove hiprtc symbols from hip library (#370)
[ROCm/clr commit: e9dbd7c99d]
2025-05-21 21:22:47 +05:30
Sang, Tao 68deb3d10a SWDEV-520352 - Remove HostThread and legacy monitor (#230)
* SWDEV-520352 - Remove HostThread and legacy monitor

Remove HostThread, semaphore and  legacy monitor.
Make original logics of thread and command queue stricker.
Add more comments to make logics clearer.
Some other minor improvement.

Also part of SWDEV-458943.

[ROCm/clr commit: 96cadbc9e9]
2025-04-29 09:55:24 -04:00
Chaudhary, Jatin Jaikishan c72604a2af SWDEV-509213 - make cmake_minimum_required consistent across clr (#51)
Change-Id: Ib0b1df7af8984a37d6bf7ca68ec99597d5978821

[ROCm/clr commit: fcaefe97b8]
2025-04-15 15:23:41 +05:30
Hernandez, Gerardo 9264e97cbb SWDEV-521920 - Fix compilation issues introduced by the reduce sync operations - 2 (#167)
Fix pytorch 2.5 issues, by defining reduce sync operations for type __half in amd_hip_fp16.h and not in
amd_warp_sync_functions.h which is problematic in case __half does not get included before that header.
Only define types not supported by cuda if HIP_ENABLE_EXTRA_WARP_SYNC_TYPES is defined, to avoid portability issues

[ROCm/clr commit: 66496258b4]
2025-04-11 17:00:59 +05:30
Gerardo Hernandez 8c9aa07b3a SWDEV-420237 - Add __reduce_add_sync()
Change-Id: Ic8e4fab6b7aeb879d40b2c1419b30d1355a2bbdc


[ROCm/clr commit: 340d6bb69f]
2025-03-12 03:20:49 -04:00
Ioannis Assiouras df9f0a0eec SWDEV-511813 - Fix linkage of hipRTC-header.o into libhiprtc.a
Using target_link_libraries does not properly link the hipRTC-header.o
into libhiprtc for static build. Change to use target_sources instead.
This does not affect the linkage in the shared build.

Change-Id: I626f9eacc1637b792a50e7ddddb5db09e704ac4a


[ROCm/clr commit: 8f54aeb765]
2025-03-06 16:29:57 -05:00
Rahul Manocha 75d53e5c22 SWDEV-489106 - Linker API addition to runtime
1) Add Linker APIs to runtime to support SPIRV linking
2) Migrate Internal implementations to runtime and share with rtc
3) Add Support to bundled and unbundled SPIRV Code object linking.

Change-Id: Ic1fd4431f842a208a2468e8aec54a65b5fa6b0e3


[ROCm/clr commit: 5930f047bb]
2025-02-22 13:39:23 -05:00
taosang2 27e87ccca6 SWDEV-513458 - Add gfx950 target ID
Add gfx950 target ID

Cherry-picked
https://gerrit-git.amd.com/c/compute/ec/clr/+/997678
https://gerrit-git.amd.com/c/compute/ec/clr/+/1063519

Change-Id: I0228c5e87ceec366983fd4afb1c25e7f8161c2c2


[ROCm/clr commit: 29cc394510]
2025-02-04 18:30:23 -05:00
Jacob Lambert 2bd527c676 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


[ROCm/clr commit: 33e48b9629]
2025-02-03 11:07:52 -05:00
zichguan-amd 4e84f2182e 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


[ROCm/clr commit: 272ef9a7bf]
2025-01-23 11:50:36 -05:00
Marko Arandjelovic 12dc02b4f8 SWDEV-495609 - Change include path for rocclr/utils
- Header files inside rocclr/utils when included from hipamd or opencl should be included as #include "rocclr/utils/xxx.h" instead of "utils/xxx.h"

Change-Id: Ic0760c33b9d091f5620dec67e5482c9698d22093


[ROCm/clr commit: 78f62d3230]
2024-12-05 11:44:20 -05:00
taosang2 f3e3d8178b SWDEV-447973 - Support generic targets
Change-Id: I32db83843e45e0f013591493aafd7a532c881e16


[ROCm/clr commit: f1f4f40c5b]
2024-11-29 10:12:10 -05:00
Ajay 2bca736134 SWDEV-495842 - use find_program clang, llvm-mc instead of hip_package
Helps in needing minimum files to build hip runtime on windows

Change-Id: I1d27b72d3b0551b9261524606f08361d00463394


[ROCm/clr commit: aa4f27c29b]
2024-11-04 23:09:11 -05:00
Satyanvesh Dittakavi 57c5264937 SWDEV-483241 - Add a compile option to avoid including default hiprtc header
Change-Id: Ic23b41395588e6183abac36cb7543da02b0aba29


[ROCm/clr commit: 522ae8ead4]
2024-10-07 07:56:29 -04:00
kjayapra-amd f19260d568 SWDEV-480772 - Remove name variable from amd::Monitor class.
Change-Id: Ie2a4fa44f485786227230f8a892e090e718aa30e


[ROCm/clr commit: 12a39fbf22]
2024-09-19 11:55:01 -04:00
Ioannis Assiouras 0a42617f58 SWDEV-465236 - Changed RTCProgram::findIsa to not dlopen amdhip64 for static build
Change-Id: I322ef4ca96ea426a0953f1234e60db6cebb09886


[ROCm/clr commit: 7b0259c4b7]
2024-06-20 10:55:57 -04:00
Ranjith Ramakrishnan 43aeeaf836 SWDEV-442738 - Link amdhip64 and hiprtc static library with dependent libraries
comgr, hsa-runtime and other libraries are linked to amdhip64 and hiprtc static library

Change-Id: I1940d8616dcb6a0f8633db3878327fa55b516a1b


[ROCm/clr commit: b9fbc98dad]
2024-05-28 06:31:10 +00:00
Ranjith Ramakrishnan 98fd53c2ef SWDEV-442738 - Static package generation for hip
Generate static package by combining binary and dev components.
Binary and dev component dependencies are added to the static package dependencies
Package name will have suffix static-dev/devel

Change-Id: I7eb187ceaf2af7dfaf6ff9f56de20dac72881a12


[ROCm/clr commit: 2ce57184d3]
2024-05-28 06:31:10 +00:00
Ioannis Assiouras c36eeeb0ec SWDEV-455444 - Add the hiprtc sources to hiprtc library for static builds
Change-Id: Ic17f22831376be37fe998aa1ec9a754738c9a147


[ROCm/clr commit: 6c8ca0b3aa]
2024-05-28 06:31:10 +00:00
Tao Sang 5bf67d7da7 Revert "SWDEV-433371 - use comgr to unbundle code objects"
This reverts commit c0ee0ffa1c.

Reason for revert: <INSERT REASONING HERE>
New comgr unbundling action leads to perf drop for uncompressed code object.   Will create a new patch to use old path for uncompressed , new unbundling api for compressed . 

Change-Id: I41ef53b71fc9f7aaa8cf231d4d70945f1117db52


[ROCm/clr commit: a1350fe8c1]
2024-05-28 06:31:10 +00:00
kjayapra-amd 4ebecc5b98 SWDEV-459325 - Remove hiprtc sources from libhipamd64 compilation.
Change-Id: Ic70206c5936fb36a23c122e67110b91ae7e95e09


[ROCm/clr commit: 31935b1d39]
2024-05-28 06:28:17 +00:00
taosang2 c0ee0ffa1c SWDEV-433371 - use comgr to unbundle code objects
1.Make runtime use comgr to unbundle code objects
2.Support compressed/uncompressed modes
3.Remove HIP_USE_RUNTIME_UNBUNDLER and
  HIPRTC_USE_RUNTIME_UNBUNDLER to simplify logics
4.Add comgr wrapper for
  amd_comgr_action_info_set_bundle_entry_ids()

Change-Id: Ic41b1ad1b64cca1e31986437983a5146d52a7329


[ROCm/clr commit: e53df57ffe]
2024-05-01 16:09:12 -04:00
taosang2 8cc8dda1cd SWDEV-450225 - Add missing targets in hipRtc
Change-Id: Ifccdddfc8ac72585f6ba145578e5bbb7e3cd1643


[ROCm/clr commit: 4c82df817f]
2024-03-12 10:34:08 -04:00
Jatin Chaudhary 286599824e SWDEV-441629 - add some missing hiprtc link options
Change-Id: I10019823e212c6d4de6df30c0fe1c20d9e992f29


[ROCm/clr commit: 7f9651d4bb]
2024-03-01 07:49:57 -05:00
Satyanvesh Dittakavi 9caac12074 SWDEV-446781 - Check validity of hiprtc link state before using it
Change-Id: I864e8d1a79bb28d9df0e4ee528cb50a96bc245cc


[ROCm/clr commit: 15a058cb60]
2024-02-28 00:27:17 -05:00
Shilei Tian d6811208f4 SWDEV-442719 - Set CMP0074 to NEW to make sure find_package works correctly
If a system has LLVM installed, `find_package` could choose that one
even if we set `HIP_LLVM_ROOT`. `LLVM_ROOT` is ignored because of this
CMake policy is set to `OLD` by default.

Change-Id: I18fa0453afe170c229e92d6ddc386b43eb0c44f6


[ROCm/clr commit: a2a8dad980]
2024-02-05 05:08:11 +00:00
Ajay ca50750dae SWDEV-440718 - Suffix hip bin name with _6.
Link to amd_comgr_2.dll

Change-Id: I5d21af0cc91f2082099273f75ebe1c3279b6365d


[ROCm/clr commit: b53fcb4d02]
2024-02-05 05:08:11 +00:00
Jatin Chaudhary c0c2767eba SWDEV-425605 - remove exe_options, it was unused
Change-Id: I0651f6a836d2f063caf651520de96d7675428771


[ROCm/clr commit: aacdb00759]
2024-02-05 05:08:11 +00:00
Jatin Chaudhary 0711781d2d SWDEV-425605 - Add new comgr compile to reloc
use AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE action
to compile source to realoc. Currently we have source->bc,
link->bc and bc->realoc. This new action replaces the
three steps with one.

Change-Id: I8089cbef681e079702fefc2d2085a23bc3578d02


[ROCm/clr commit: f017777a97]
2024-02-05 05:08:11 +00:00
Ranjith Ramakrishnan c1eb5bccfb SWDEV-441937 - Use the disable linemarker option for generating the precompiled header file hipRTC
The precompiled header files have hard coded paths in comments. Using the disable linemarker option(-P) will skip the generation of comments

Change-Id: Ifb134052996c343f5405e954784b4b2c286c36b1


[ROCm/clr commit: f9545675cb]
2024-02-05 05:08:11 +00:00
Jatin Jaikishan Chaudhary 3e3ca21c09 Revert "SWDEV-425605 - Add new comgr compile to reloc"
This reverts commit b26fdcc77c2aa20f39f7dec9afa24e755d2c03f5.

Reason for revert: breaks windows-psdb

Change-Id: I8b2fcaf0d0be09a9364e386127cabafb68a67e0d


[ROCm/clr commit: baf61b6a02]
2024-02-05 05:08:11 +00:00
Jatin Chaudhary 624a548b9a SWDEV-425605 - Add new comgr compile to reloc
use AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE action
to compile source to realoc. Currently we have source->bc,
link->bc and bc->realoc. This new action replaces the
three steps with one.

Change-Id: I6ba551b8d04c7e06f41c4324026e4dcd2db1970f


[ROCm/clr commit: ea1487d84d]
2024-02-05 05:08:11 +00:00
Sameer Sahasrabuddhe 2dba215643 SWDEV-295298: introduce warp sync functions
The following builtins from the CUDA spec are implemented:

  - __all_sync, __any_sync, __ballot_sync and __activemask
  - __match_any_sync and __match_all_sync
  - __shfl_sync, __shfl_up_sync, __shfl_down_sync, and __shfl_xor_sync

The following builtins are NOT implemented, pending support in the compiler:

  - __reduce_add_sync, __reduce_min_sync, __reduce_max_sync
  - __reduce_and_sync, __reduce_or_sync, __reduce_xor_sync

Change-Id: I07dedbbfe5449f4b5c9b040bed59f5603ccec8c3


[ROCm/clr commit: c5ab5680b4]
2024-01-11 22:31:27 -05:00
Rahul Garg 0589a9f7dd SWDEV-439426 - Update HIP patch version reported through CMake
Change-Id: I2b32edfa18d85d49a4b96ff80ea8f60e1df5d517


[ROCm/clr commit: 956cc463bf]
2024-01-08 03:43:01 -05:00
Jatin Chaudhary 937678b4f6 SWDEV-436233 - fix the cumode in hiprtc
cumode should be active when wgp mode is off

Change-Id: I12f2e55d942ddeb0fb4470de7abc3caff1f430f7


[ROCm/clr commit: 49369f0851]
2024-01-02 17:43:32 -05:00
Satyanvesh Dittakavi f423584145 SWDEV-379212 - Handle template kernels with hiprtc lowered names
Change-Id: Ib8e6493a1f342f92a35031d5ee39b2e22132b56a


[ROCm/clr commit: dc8f66b86f]
2024-01-02 03:28:28 -05:00
Sameer Sahasrabuddhe 4cf2b1cfd1 SWDEV-437090: move the __hip_assert macro to a common place
It cannot be moved to amd_device_functions.h because that causes circular
dependences when trying to use the macro in other files. So we create a new
header and move all assert/abort macros to that common header.

As a side-effect, also fix the macro to correctly expand the entire condition
argument, and also consume the trailing semicolon.

Change-Id: I43688c8e61183503a3a1a039b91321a3779152af


[ROCm/clr commit: 7137a296dd]
2023-12-14 09:03:14 -05:00
Jatin Chaudhary 761f932275 SWDEV-431315 - mark stack as non executable in hiprtc generated header
Reference: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart

Change-Id: I66860eb3787b8c835c52168dcf7a084982f0d7e6


[ROCm/clr commit: 14cbd8d24c]
2023-12-12 18:56:51 -05:00
Satyanvesh Dittakavi a374f74baa SWDEV-432684 - SWDEV-433437 - Fix test_gpu_jit MIGraphx test failure
Add clang pragma push and pop diagnostics for ignoring "-Weverything"
in the hiprtc builtins header. Otherwise this will ignore even the
geniune errors occurring in the hiprtc kernels.

Change-Id: I8c3dacf902732b2ea495d83e797369f8aebd75d6


[ROCm/clr commit: 912cc407a4]
2023-12-08 11:12:43 -05:00
Saleel Kudchadker f969d89aa4 SWDEV-301667 - Logging refactor
- Remove newline from logging as log function internally inserts a new
line

Change-Id: I25eb2242a1f1e87cf811bcc373d1d485b2e027a8


[ROCm/clr commit: 058b2702db]
2023-12-07 12:12:57 -05:00
Satyanvesh Dittakavi 70ee947527 Revert "SWDEV-419480 - HIPRTC implementation of standard headers shouldn't be in std namespace"
This reverts commit 239fdc3bfd.

Reason for revert: This is considered a breaking change and requires
multiple apps to change their behavior. This will be reintroduced in later releases.

Change-Id: I3481627115af1872785585a155cc6a0ecfbe1372


[ROCm/clr commit: 7febad13be]
2023-12-06 03:11:59 -05:00
Satyanvesh Dittakavi 85e9925335 Revert "SWDEV-431175 - Remove datatypes from HIPRTC"
This reverts commit 6035b47801.

Reason for revert: This is considered a breaking change and requires
multiple apps to change their behavior. This will be reintroduced in later releases.

Change-Id: I0354ce4e0f5e6c402499a7a8c2aaf43bf5b1bfc7


[ROCm/clr commit: 270c6d48f1]
2023-12-05 02:32:38 -05:00
Satyanvesh Dittakavi 6035b47801 SWDEV-431175 - Remove datatypes from HIPRTC
Defining int64_t, uint64_t, int32_t, uint32_t in HIPRTC
seem to result in conflicts with some apps as they use
their own definitions for these types. NVRTC also doesn't
define these. Hence remove them to match the behavior.

Change-Id: I77ef70e846950698cb00375f5d0501b907f01fe3


[ROCm/clr commit: 629e279f72]
2023-11-28 11:32:12 -05:00
Jatin Chaudhary 2361cc0dab SWDEV-431399 - fix first set of memory leaks in clr, found in rtc tests
change constexpr variable names to match the C++ style we follow.

Change-Id: Ibc59a65d8ff2ca765da7bf5e653c0650fb3714c4


[ROCm/clr commit: ce27581465]
2023-11-14 20:39:45 -05:00
Satyanvesh Dittakavi 2119d83bfb SWDEV-430963 - Address MIGraphX failures due to unsafe buffer access usage
Compiler seem to be stricter in compiler staging builds related to
safe buffer programming when compared to other component staging builds.
This seem to result in additional errors when -Werror is enabled
in MIGraphX tests.

Removes all the clang pragmas to ignore several type of warnings in all
the headers and adds a single pragma which ignores all warnings using
#pragma clang diagnostic ignored "-Weverything" in hiprtc builtins.

Change-Id: I95f302bb285b2451b19dd5dfdb7df29164b0f750


[ROCm/clr commit: b5d286a6d3]
2023-11-09 04:39:49 -04:00
Satyanvesh Dittakavi 239fdc3bfd SWDEV-419480 - HIPRTC implementation of standard headers shouldn't be in std namespace
HIPRTC implementation of few type traits are defined in std
namespace which causes conflicts with the std C++ headers when
apps try to include those std headers. Instead, use the
specific implementation of these headers from __hip_internal
namespace to avoid this.

Change-Id: Ia358df159af8783d1eba9a19cd458e192bf7e9e6


[ROCm/clr commit: 353dbe6e3b]
2023-10-16 13:10:55 -04:00