Граф коммитов

112 Коммитов

Автор SHA1 Сообщение Дата
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
Jaydeep Patel a37c95d7ed SWDEV-418038 - Drop GPU_ENABLE_WAVE32_MODE from RTC.
Change-Id: Iac11f26714e8b3bae14cbf69933ef7c8c8be47da
2023-09-08 02:13:41 -04:00
Ioannis Assiouras 209525d6e4 SWDEV-415937 - Make _IMPORT_PREFIX in hip*targets.cmake point to a relative path
Change-Id: Ib0f4321f2954254d0486d741d057f182cb2481a7
2023-08-31 08:10:50 -04:00
kjayapra-amd 6a0f80a03d SWDEV-381625 - Parse compiler and linker options from environment variable.
Change-Id: Id5a012b678e5973c4b64dff84444a909aefae006
2023-08-29 20:24:27 -04:00
Vikram 62464ca4c3 SWDEV-417558 - Fix dynamic linker error caused by SWDEV-378651 fix
Seems the windows linker error seen with https://gerrit-git.amd.com/c/compute/ec/clr/+/886078
also exists for linux, but only appears with dynamic linker. This fixes both usecases.

Change-Id: I1bb6df151eb1e09f75af4d461ead28bcbaa5f236
2023-08-18 02:21:14 -04:00
Vikram cec579c006 SWDEV-378651 - add proper wavefrontsize link time option to hipRTC, in accordance with env variable GPU_ENABLE_WAVE32_MODE
This is a copy of http://gerrit-git.amd.com/c/compute/ec/hipamd/+/841299
Raising this here again since hipamd repo is frozen.

Change-Id: I8722ef55f78a9176e131fd5766fb11101b51f1b5
2023-08-15 00:12:31 -04:00
Satyanvesh Dittakavi 8ee985a67b SWDEV-415439 - Address segfault issues with hiprtcLinkCreate
Change-Id: I5c5898a9d0afadc344ae2fafc371e9ed647cec6e
2023-08-10 08:28:11 -04:00
Ioannis Assiouras 238b973a5a SWDEV-411086 - Provide path ROCM_PATH/llvm via the HINT argument instead of PATH in calls to find_package
PATHS have lower priority than system paths so if there is a clang installation in /usr/local find_package(Clang)
will pick that instead. To fix this provide the llvm path via the HINTS argument instead.

Change-Id: I57794a9a5c5fc26f12c60798fbc8e826c1880e13
2023-07-14 04:46:44 -04:00