Commit Graph

98 Commitit

Tekijä SHA1 Viesti Päivämäärä
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
Ioannis Assiouras 791cea44f1 SWDEV-407818 - Fixed bug when opening LinkerFile fstream on windows
Change-Id: If6f083d9fa83066eb2b20ab24dceaa9df7a2f0a0
2023-07-07 13:25:04 -04:00
Ioannis Assiouras 0af9788e32 SWDEV-406894 - Fix segfault when access HIPRTC_JIT_LOG_VERBOSE from options buffer
Change-Id: I24143dfb726d9a71fdb17b03d5b5dd910b54f5bb
2023-06-22 00:53:29 -04:00
sdashmiz 38a67df312 SWDEV-403638 - Fix warnings
- disable deprecated function use warning
- disalbe size_t to .type' warning
- disable conversion from 'type1' to 'type2' warning

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I64161fd37cf56de3d132102103267ae8da40193a
2023-06-15 12:17:22 -04:00
Jacob Lambert 1171518b97 SWDEV-380857 - Remove space in "Linker Program" used to set Comgr object name
Not a required change, but it does make dealing with temporary files generated
by Comgr easier.

Change-Id: I9c43138dd2a6c4fea965b57fbce7a087ab2bbd28
2023-05-30 13:47:26 -04:00
Jacob Lambert 283dd8352d SWDEV-371628 - Remove now-redundant Comgr devlib call from hipRTC
Because hipRTC is now using the newer
AMD_COMGR_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC, and now that this
action has been fixed for HIP compilations in Comgr, hipRTC no
longer needs separate Comgr call to link in the device libs.

Change-Id: Ibf9024cbaaab825584566e8d0b5fce60d7063dd8
2023-05-23 18:34:59 -04:00
Satyanvesh Dittakavi c98fad1edc SWDEV-399851 - Add template overload for ToString in HIPRTC
HIPRTC_INIT_API can have nullptr in the arguments and ClPrint
can crash while printing

Change-Id: Iecade5c3867196509c8cc0647b9aa24be0960a02
2023-05-16 14:21:19 +00:00
Jatin Chaudhary 8753db5446 SWDEV-384013 - Print link options being passed to compiler with AMD_LOG_LEVEL
Change-Id: I556ed434587cff07a634796da51dcbb9ae78ef21
2023-05-15 15:52:04 -04:00
Jacob Lambert b17056cb93 SWDEV-380857 - Fix bug when reading bitcode file into vector<char> buffer
The previous implementation using std::copy() resulted in
differences between the in-memory and on-disk representations.
With the updated implementation, we get the same contents.

Change-Id: Iadfae3cd7f7ba99538da2ac4f11f30f5a78260d8
2023-05-08 16:25:01 -04:00
kjayapra-amd f14e8a2dba SWDEV-393910 - Port gfx94x changes to mainline.
Change-Id: Ibf727223bbe5230b132b47c39e0fc1d87cbd3b9c
2023-05-05 15:16:23 -04:00
Ioannis Assiouras d88f0358b0 SWDEV-397356: Move HIP_API_PRINT after HIP_INIT so that the begin function call gets printed
Change-Id: I99b655596741c19bc483647794ae8b4f6e6f2843
2023-05-04 18:46:21 -04:00
Satyanvesh Dittakavi a3104c60e1 SWDEV-393060 - Address directed tests build failures with CLR
Change-Id: I76b93ee073d21ec5fae0db5a129ada89f750855d
2023-04-14 03:53:51 -04:00
Jaydeep Patel 0f975e6e93 SWDEV-390439 - SWDEV-387997 - Delete array.
Change-Id: Ica20b005f5db7f4ed65c5ebc51959392671fe320
2023-04-05 16:37:39 +00:00
Jatin Chaudhary 300ba5b1f1 SWDEV-384013 - Add HIPRTC_JIT_IR_TO_ISA_OPT_EXT
Change-Id: Icfc06c19af32f41d603bf880ab1927bffb391097
2023-04-05 10:52:48 +00:00
Anusha GodavarthySurya 9b84e05427 SWDEV-386102 - Handle code object v5
Change-Id: I47b840f484d90ca7815fb9c8af959ceaac62cf70
2023-03-09 00:19:25 -05:00