Commit Graph

119 Commits

Author SHA1 Message Date
Sang, Tao 96cadbc9e9 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.
2025-04-29 09:55:24 -04:00
Chaudhary, Jatin Jaikishan fcaefe97b8 SWDEV-509213 - make cmake_minimum_required consistent across clr (#51)
Change-Id: Ib0b1df7af8984a37d6bf7ca68ec99597d5978821
2025-04-15 15:23:41 +05:30
Hernandez, Gerardo 66496258b4 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
2025-04-11 17:00:59 +05:30
Gerardo Hernandez 340d6bb69f SWDEV-420237 - Add __reduce_add_sync()
Change-Id: Ic8e4fab6b7aeb879d40b2c1419b30d1355a2bbdc
2025-03-12 03:20:49 -04:00
Ioannis Assiouras 8f54aeb765 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
2025-03-06 16:29:57 -05:00
Rahul Manocha 5930f047bb 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
2025-02-22 13:39:23 -05:00
taosang2 29cc394510 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
2025-02-04 18:30:23 -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
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
Marko Arandjelovic 78f62d3230 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
2024-12-05 11:44:20 -05:00
taosang2 f1f4f40c5b SWDEV-447973 - Support generic targets
Change-Id: I32db83843e45e0f013591493aafd7a532c881e16
2024-11-29 10:12:10 -05:00
Ajay aa4f27c29b 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
2024-11-04 23:09:11 -05:00
Satyanvesh Dittakavi 522ae8ead4 SWDEV-483241 - Add a compile option to avoid including default hiprtc header
Change-Id: Ic23b41395588e6183abac36cb7543da02b0aba29
2024-10-07 07:56:29 -04:00
kjayapra-amd 12a39fbf22 SWDEV-480772 - Remove name variable from amd::Monitor class.
Change-Id: Ie2a4fa44f485786227230f8a892e090e718aa30e
2024-09-19 11:55:01 -04:00
Ioannis Assiouras 7b0259c4b7 SWDEV-465236 - Changed RTCProgram::findIsa to not dlopen amdhip64 for static build
Change-Id: I322ef4ca96ea426a0953f1234e60db6cebb09886
2024-06-20 10:55:57 -04:00
Ranjith Ramakrishnan b9fbc98dad 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
2024-05-28 06:31:10 +00:00
Ranjith Ramakrishnan 2ce57184d3 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
2024-05-28 06:31:10 +00:00
Ioannis Assiouras 6c8ca0b3aa SWDEV-455444 - Add the hiprtc sources to hiprtc library for static builds
Change-Id: Ic17f22831376be37fe998aa1ec9a754738c9a147
2024-05-28 06:31:10 +00:00
Tao Sang a1350fe8c1 Revert "SWDEV-433371 - use comgr to unbundle code objects"
This reverts commit e53df57ffe.

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
2024-05-28 06:31:10 +00:00
kjayapra-amd 31935b1d39 SWDEV-459325 - Remove hiprtc sources from libhipamd64 compilation.
Change-Id: Ic70206c5936fb36a23c122e67110b91ae7e95e09
2024-05-28 06:28:17 +00:00
taosang2 e53df57ffe 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
2024-05-01 16:09:12 -04:00
taosang2 4c82df817f SWDEV-450225 - Add missing targets in hipRtc
Change-Id: Ifccdddfc8ac72585f6ba145578e5bbb7e3cd1643
2024-03-12 10:34:08 -04:00
Jatin Chaudhary 7f9651d4bb SWDEV-441629 - add some missing hiprtc link options
Change-Id: I10019823e212c6d4de6df30c0fe1c20d9e992f29
2024-03-01 07:49:57 -05:00
Satyanvesh Dittakavi 15a058cb60 SWDEV-446781 - Check validity of hiprtc link state before using it
Change-Id: I864e8d1a79bb28d9df0e4ee528cb50a96bc245cc
2024-02-28 00:27:17 -05:00
Shilei Tian a2a8dad980 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
2024-02-05 05:08:11 +00:00
Ajay b53fcb4d02 SWDEV-440718 - Suffix hip bin name with _6.
Link to amd_comgr_2.dll

Change-Id: I5d21af0cc91f2082099273f75ebe1c3279b6365d
2024-02-05 05:08:11 +00:00
Jatin Chaudhary aacdb00759 SWDEV-425605 - remove exe_options, it was unused
Change-Id: I0651f6a836d2f063caf651520de96d7675428771
2024-02-05 05:08:11 +00:00
Jatin Chaudhary f017777a97 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
2024-02-05 05:08:11 +00:00
Ranjith Ramakrishnan f9545675cb 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
2024-02-05 05:08:11 +00:00
Jatin Jaikishan Chaudhary baf61b6a02 Revert "SWDEV-425605 - Add new comgr compile to reloc"
This reverts commit 551cdcd4cfc1a9bb8b8ebfd315320629baf05655.

Reason for revert: breaks windows-psdb

Change-Id: I8b2fcaf0d0be09a9364e386127cabafb68a67e0d
2024-02-05 05:08:11 +00:00
Jatin Chaudhary ea1487d84d 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
2024-02-05 05:08:11 +00:00
Sameer Sahasrabuddhe c5ab5680b4 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
2024-01-11 22:31:27 -05:00
Rahul Garg 956cc463bf SWDEV-439426 - Update HIP patch version reported through CMake
Change-Id: I2b32edfa18d85d49a4b96ff80ea8f60e1df5d517
2024-01-08 03:43:01 -05:00
Jatin Chaudhary 49369f0851 SWDEV-436233 - fix the cumode in hiprtc
cumode should be active when wgp mode is off

Change-Id: I12f2e55d942ddeb0fb4470de7abc3caff1f430f7
2024-01-02 17:43:32 -05:00
Satyanvesh Dittakavi dc8f66b86f SWDEV-379212 - Handle template kernels with hiprtc lowered names
Change-Id: Ib8e6493a1f342f92a35031d5ee39b2e22132b56a
2024-01-02 03:28:28 -05:00
Sameer Sahasrabuddhe 7137a296dd 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
2023-12-14 09:03:14 -05:00
Jatin Chaudhary 14cbd8d24c SWDEV-431315 - mark stack as non executable in hiprtc generated header
Reference: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart

Change-Id: I66860eb3787b8c835c52168dcf7a084982f0d7e6
2023-12-12 18:56:51 -05:00
Satyanvesh Dittakavi 912cc407a4 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
2023-12-08 11:12:43 -05:00
Saleel Kudchadker 058b2702db SWDEV-301667 - Logging refactor
- Remove newline from logging as log function internally inserts a new
line

Change-Id: I25eb2242a1f1e87cf811bcc373d1d485b2e027a8
2023-12-07 12:12:57 -05:00
Satyanvesh Dittakavi 7febad13be Revert "SWDEV-419480 - HIPRTC implementation of standard headers shouldn't be in std namespace"
This reverts commit 353dbe6e3b.

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
2023-12-06 03:11:59 -05:00
Satyanvesh Dittakavi 270c6d48f1 Revert "SWDEV-431175 - Remove datatypes from HIPRTC"
This reverts commit 629e279f72.

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
2023-12-05 02:32:38 -05:00
Satyanvesh Dittakavi 629e279f72 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
2023-11-28 11:32:12 -05:00
Jatin Chaudhary ce27581465 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
2023-11-14 20:39:45 -05:00
Satyanvesh Dittakavi b5d286a6d3 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
2023-11-09 04:39:49 -04:00
Satyanvesh Dittakavi 353dbe6e3b 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
2023-10-16 13:10:55 -04:00
Jaydeep Patel 7150b2eaad SWDEV-425490 - Move ptrdiff_t & clock_t to hiprtc.cmake.
Change-Id: I7c8ce3c1b8cb11e0253b0f51ae10fca7f0a32017
2023-10-13 00:58:56 -04:00
Jatin Chaudhary 2989840511 SWDEV-306642 - [ABI Break] Add texture/surface/device capabilities device struct entries
- alias hipGetDeviceProperties to hipGetDevicePropertiesR0600
- alias hipDeviceProp_t to hipDeviceProp_tR0600
- remove gcnArch from new device property struct
- add new requested struct members

Change-Id: If3f5dbef3d608487d9f6f419285f4bf577ea9bf0
2023-10-12 11:16:18 -04:00
Satyanvesh Dittakavi f5a9a36cf3 SWDEV-421415 - Pass the right hip major, minor versions to hiprtc builtins
Change-Id: I2ff5787039891d1d3390c996d37bf342e0a88705
2023-09-26 00:52:54 -04:00
Satyanvesh Dittakavi 2764b85ca5 SWDEV-402080 - Add options such as -Rpass=inline to exe_options in RTC if the user passes it
Change-Id: I12fcf200ed9d3112b014f3d426d5fe504eeca163
2023-09-25 04:03:44 -04:00
Satyanvesh Dittakavi d7d0f11318 SWDEV-395996 - Add HIPRTC support for missing hip headers
hip headers such as hip_math_constants.h, library_types.h,
hip_common.h, channel_descriptor.h, device_functions.h, hip_complex.h,
hip_texture_types.h, math_functions.h, surface_types.h
are added in HIPRTC

Change-Id: I4a4c198449ceb609c3ff55e00b43056c1f085431
2023-09-21 03:11:06 -04:00