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

320 Коммитов

Автор SHA1 Сообщение Дата
David 05d6f75830 Changes needed for hipcc/hipconfig rename and cleanup
- HIPCC, on Linux, will be removing high-level perl scripts (hipcc/hipconfig) in ROCm 6.3
  - removes renaming hipcc.bin/hipconfig.bin logic

SWDEV-467478 - HIPCC Clean up Perl

Change-Id: I829e915d56b37cb2ba76bb876c6656166534f15c
2024-10-22 04:46:33 -04:00
Ioannis Assiouras 0b8bc6682f SWDEV-482553 - Removed setting of BUILD_SHARED_LIBS from hip-config.cmake
Change-Id: I84eb33939d47dde1dd389741c431ee0e5955973b
2024-09-09 13:27:53 +01:00
Jatin Chaudhary b5b1f639c0 SWDEV-470698 - add common .clang-format inside main folder
Remove the redundant copies inside sub folders. This was useful when
these projects were independent but now since they are merged they
should have one single .clang-format file.

Change-Id: I60510d7b78b129c761e84f13403492bd0c5d941a
2024-07-11 11:39:16 -04:00
Ranjith Ramakrishnan 7dc71710dd SWDEV-383837 - Update the package dependencies
The hip libraries depends on multiple standard shared libraries.
Corresponding packages are added to the dependency list.
Removed hipcc from hip-runtime package dependency list
Rearranged the package dependencies as well

The base (docker) images usually comes with the standard packages installed.
So even without the standard packages in dependency list, the installation will go through.
But its good to have all the required packages in the dependency list.

Change-Id: Iacab7993dffaa00efd1344d3eafb55f6317d1509
2024-06-14 20:34:22 -04: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
Rahul Garg 956cc463bf SWDEV-439426 - Update HIP patch version reported through CMake
Change-Id: I2b32edfa18d85d49a4b96ff80ea8f60e1df5d517
2024-01-08 03:43:01 -05:00
Ioannis Assiouras df0f54ddf1 SWDEV-426613 - Do not install hipcc.bat and hipconfig.bat on linux
Change-Id: I0999cf35487686e8c0d863d042f971cf563578c8
2023-11-01 11:54:11 -04:00
Ajay 6926183974 SWDEV-418100 - HIPNV_DIR error for nvidia build
Change-Id: Id1fb67311fb6a0af98de7c2dcef5cfcf29102d14
2023-10-23 18:04:05 -04:00
Maneesh Gupta 67dda1ffd6 SWDEV-418100 - Move nv headers to hipother repo
Change-Id: Ib54546e366b61bdb83789d8264f30f1bfb875605
2023-10-14 06:56:13 +00:00
Jatin Chaudhary ab6d34ae77 SWDEV-420894 - Remove directed test link from CMakeLists.txt
Change-Id: Iece57a1624b921d556a300c8f442ee12fd8a4948
2023-10-04 05:01:49 -04:00
Ioannis Assiouras 31201b6e25 Revert "SWDEV-414194 - Make hip-lang available on nvidia platform"
This reverts commit 97403db468.

After changes in upstream cmake hip-lang-config.cmake will not be required on nvidia platform.

Change-Id: I711601dac1064ea17f58437da8ffbc50678eda08
2023-09-29 06:07:53 -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
David Salinas e1efdfbca1 SWDEV-419396 - hipcc.bin.exe and hipconfig.bin.exe missing from build
Correct HIPAMD cmake file for finding/instaling hipcc.bin

Change-Id: I3aa56331615fa81a489464210a9be734e917aa47
2023-09-06 10:55:54 -04:00
David Salinas b00e6fe89e Correct HIPAMD cmake file to install hipcc.bin
Change-Id: Ie90dddbcebba29d4c06cf1485581c9742dd1ad70
2023-08-15 11:51:02 -04:00
Ranjith Ramakrishnan 03ad34a6c6 SWDEV-366827 - Disable file reorg backward compatibility support by default
Change-Id: Ifb0e3ea1a2217e287498efc26369596209be8c93
2023-08-08 13:32:17 -04:00
Ioannis Assiouras 97403db468 SWDEV-414194 - Make hip-lang available on nvidia platform
Change-Id: Ic0082d3960aadbb7ac559140b6e84bd29a75b5cb
2023-08-02 05:19:34 -04:00
Ajay 2205684f6c SWDEV-411709 - rename .hipVersion to version. Fix path to share/hip
Change-Id: Ic7ec170f2fc6e3197d9a37b28dfc1d0b9611954b
2023-07-21 11:04:41 -04:00
victzhan 134d6449b3 SWDEV-404886 - Modified CMakeLists.txt for opencl to generate pdb files in release mode
Change-Id: I2945144c3efb88c1045399cf1c33e4a82c53c0e6
2023-07-05 18:33:46 -04:00
Jeremy Newton 03bfa61684 Install .hipVersion into datadir for linux
Starting with LLVM 16, we can put .hipVersion in datadir for better
Linux FHS compliance:
https://github.com/llvm/llvm-project/commit/082593ff7aff68060bd66dccfa43493d07d9c255

For Windows, we can keep it status quo.

Change-Id: Id15ed0dac346fabec21ee060e7576ce085b1af70
2023-06-19 11:41:46 -04:00
Ioannis Assiouras d2e36bc047 SWDEV-386069 - Added nvidia and AMD config.cmake files as part of the dev package
Change-Id: I3c9a65b287822d91407996ca59ac90051b749923
2023-06-07 04:55:52 -04:00
Rahul Garg 17c052ca9a SWDEV-379678 - Take hipcc/hipconfig from hipcc
Change-Id: I53a6e5108e142860747186c0e7ed4fc2cb384a69
2023-06-06 17:21:59 -04:00
Ranjith Ramakrishnan f788150132 SWDEV-366831 - Compile time flag to switch between #warning and #error message
Using backward compatibility paths will provide #warning message be default.
Compile time option added to enable/disable the #error message.
Updated the backward compatibility message

Change-Id: I3bab00df26145991b32176d2d76977c2e953bf5f
2023-06-01 04:22:19 -04:00
Ioannis Assiouras f945adf0bd SWDEV-401902 - Set default CMAKE_BUILD_TYPE in the top level CMakeLists.txt
Change-Id: I3a3e24da2dc7eec5feb1f748ea49af3df40d4cd9
2023-05-24 14:11:18 -04:00
Ioannis Assiouras 7e871698e3 wSWDEV-386069 - Allow find_package(hip) to work on nvidia platform
Change-Id: Ifadf683a6db42d4adadce92c7ebf6bd3e8d2245a
2023-05-24 14:12:22 +01:00
Ranjith Ramakrishnan 31d1420c54 SWDEV-310152 - Use the RUNPATH provided by build scripts
RUNPATH in libraries will be : $ORIGIN
RUNPATH in binaries will be : $ORIGIN/../lib

Change-Id: I87b6a7d1f58f20499c3a0913d03701ac687d910d
2023-05-23 08:00:34 -04:00
Maneesh Gupta ccad05fe01 SWDEV-1 - Search for doxygen config in old and new locations
Change-Id: Iebe7295c7200cc164cb32047df96aa70dec75bf4
2023-04-27 04:57:12 -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
Ajay e5a300f892 SWDEV-393406 - hip catch/directed tests on nvidia
fix the duplicate symbolic link issue

Change-Id: I472dfba80263d0f1d275d8e149007322c8af3f7c
2023-04-10 19:54:23 +00:00
Ajay 5e9545fdfd SWDEV-361630 - clr to be able to build hip directed tests
Change-Id: I85b45c52573683a963ac2b4ee0ec7c79653ecc4d
2023-04-07 14:21:34 -04:00
Ranjith Ramakrishnan 267b342523 SWDEV-351540 - ASAN packaging for hip
Package ASAN libraries and license file
Suffix "asan" added to package name

Change-Id: Ia02bb55be0bd415dbd372b39ce884c38d8c3dcbf
2023-04-07 11:54:48 +00:00
Rahul Garg 118e7144f8 SWDEV-379678 - Remove catch build option
Change-Id: Idedf5e61da1e6c7fbdd9a65e57220875a3b24112
2023-01-30 11:04:03 -05:00
Maneesh Gupta e0516a6984 SWDEV-1 - Use VERSION file instead of hipvars.pm for versioning
Change-Id: I9974aec388c9a89f4ed79a974dea99ec1e8257b8
2023-01-18 02:39:12 -05:00
Satyanvesh Dittakavi ab112eaf1d SWDEV-344342 - Expose hiprtc target via cmake config interface
Change-Id: I1f19c4792665b078c2799c0c3c9e2d5b28c906de
2022-08-25 00:29:23 -04:00
Ranjith Ramakrishnan ba04f95771 SWDEV-353137 - Fix for incorrect library path for hiprtc
Hiprtc related libraries are duplicated when installed from build directory
This happens when cmake install libdir is set with lib64 as default and using hard code path "lib" for LIBRARY_DESTINATION
Replaced "lib" with cmake install libdir
Removed the default setting of libdir in source code and its should be controlled via build argument

Change-Id: Icac55eac9427a5088903d01942e6bfd5263a6fc0
2022-08-23 12:19:06 -04:00
Ranjith Ramakrishnan d65aaf2f78 SWDEV-345579 - Fix the installation path of FindHIP
The path variable was used incorrectly and this is causing issue in spack build

Change-Id: I34890577f1403d0d5efcba80d417ad5f9720aa6e
2022-07-11 14:40:43 -04:00
Ranjith Ramakrishnan db6eaa35aa SWDEV-344894 - Remove workaround code to strip the destination directory hip
HIP build scripts updated, so that cmake install prefix and cpack packaging prefix doesn't have destination directory hip
The workaround in source code is not at all required.

Depends-On: I6775407b4bfec84b6b911d333f3725c310539bfc
Change-Id: Ic1f5e170690d6dba0fec493143dea390c435cd42
2022-07-11 13:00:44 -04:00
Jeremy Newton 112b6370a5 SWDEV-335990 - Use GNUInstallDirs
This is attempt two of bf4df229c9

GNUInstallDirs is used to allow the user to customize the install paths
of HIP, rather than using hardcoded locations.

See documentation for more information:
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html

Note that libdir must be overriden to "lib" before including
GNUInstallDirs, because by default, cmake tries to detect the libdir
path, but ROCm packaging would like to use lib by default for all
targets. This does not stop the user (or distros) from overriding.

Also note this change does no take into account the changes needed to
non-cmake files, such as perl scripts, so not all paths combinations are
necessarily functional.

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Change-Id: I521c44dc34404b136141682c2777257b23ffa6e8
2022-06-15 13:14:47 -04:00
Aakash Sudhanwa 43c650cf48 Revert "SWDEV-335990 - Use GNUInstallDirs"
This reverts commit bf4df229c9.

Reason for revert: <Breaking all the staging builds. this is breaking components which are using find_package(HIP)>

Change-Id: Ic7340fb461a5efdd170a0988731e0885538a11d6
2022-06-07 18:18:06 -04:00
Jeremy Newton bf4df229c9 SWDEV-335990 - Use GNUInstallDirs
GNUInstallDirs is used to allow the user to customize the install paths
of HIP, rather than using hardcoded locations.

See documentation for more information:
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html

Note that libdir must be overriden to "lib" before including
GNUInstallDirs, because by default, cmake tries to detect the libdir
path, but ROCm packaging would like to use lib by default for all
targets. This does not stop the user (or distros) from overriding.

Also note this change does no take into account the changes needed to
non-cmake files, such as perl scripts, so not all paths combinations are
necessarily functional.

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Change-Id: Iae80f47c47ea0a74fc1c221b6eea82b557601394
2022-06-06 23:43:05 -04:00
Cordell Bloor 9c450d6f66 SWDEV-335902 - Fix HIP when Git info unavailable
Prior to this change, when Git_FOUND was false, HIP_VERSION_BUILD_ID
would be undefined in the CMake code. The value of HIP_VERSION_BUILD_ID
in <hip/hip_version.h> is taken from the CMake variable, so it was being
defined as nothing in those cases. That would cause compilation failures,
as src/hip_global.cpp contains the function:

    size_t amd_dbgapi_get_build_id() {
      return HIP_VERSION_BUILD_ID;
    }

which would become

    size_t amd_dbgapi_get_build_id() {
      return ;
    }

after preprocessing. To prevent this, we can define the version
information to a default value when Git is not found.

A related problem was reported by Harmen Stoppels in
https://github.com/ROCm-Developer-Tools/HIP/pull/2218. When Git
is not available (or if the library is being built from a tarball),
the HIP_VERSION_GITHASH is not defined. This causes trouble because
HIP_LIB_VERSION_STRING is defined as "X.Y.Z-${HIP_VERSION_GITHASH}"
and therefore becomes "X.Y.Z-".

The incomplete version string becomes a problem when it is appended
to the shared library file name. File names that end with '-' confuse
the linker. They cause strange errors when attempting to link to the
HIP library. This problem can be prevented by dropping the trailing
dash and using "X.Y.Z" as the version string when HIP_VERSION_GITHASH
is not defined.

Change-Id: I6e290c1f1b603ba30c9ded885e125d9ca9a2e688
Signed-off-by: Cordell Bloor <Cordell.Bloor@amd.com>
2022-05-09 13:44:09 -04:00
Joseph Greathouse f68149eafd SWDEV-332811 - Clean up and extend HIP unsafe atomic add
Update HIP's unsafeAtomicAdd to:
 - Compile properly even when not compiling for gfx90a
 - Fall back to safe atomic add on non-gfx90a architectures
 - use flat atomic add for FP64 on gfx90a, instead of dynamically
   checking memory spaces.

In addition, when the compiler is passed -munsafe-fp-atomics, it
will define __AMDGCN_UNSAFE_FP_ATOMICS__. When this happens, the
compiler is requesting that the HIP headers force all HIP
atomicAdd() calls on floats or doubles to use their unsafe versions.

This patch thus causes unsafeAtomicAdd() calls when that define
is seen. This call to unsafeAtomicAdd() is also done for atomicSub(),
since that calls atomicAdd underneath. This is not done for
system-scope atomicAdd because, on gfx90a, system-scope atomic FP
add instructions would need to target fine-grained memory, which is
always unsafe.

This patch also creates safeAtomicAdd() functions for float and double.
These functions will create a standalone safe atomic, even when the
application is compiled with -munsafe-fp-atomics.

Finally, this patch adds wrappers in the Nvidia path of HIP so that
these HIP functions call through to atomicAdd there as well.

Change-Id: I8af0621d3d28ea30c9278bfeea7393d03bbdac6d
2022-04-29 07:19:58 -04:00
Ajay b5d9d61f5d SWDEV-320512 - hipcc.bin installation should be moved out of packaging
Change-Id: I8e37b47f43a7c6579b68a7dd1db1a3d05976fa9d
2022-03-31 17:52:39 -04:00
Ashutosh Mishra 106399f0fd SWDEV-329093 - correcting RPATH for lamdhip64.so
Change-Id: Ifd0fca732e8030edd6dc74d22b32bb75514c9258
2022-03-23 22:15:57 -04:00
Ranjith Ramakrishnan ef32ae6ada File Reorganization: Strip destination name hip from cmake and cpack install prefix path
Flat folder structure requires hip to be installed in /opt/rocm and this need a change in build script
This patch is a workaround, till build scripts changes for flat folder structure are merged and will be removed once build script changes are merged to amd-master

Change-Id: Ib6f51b9d4e89afcc954a5d96595ce471cf7bd67a
2022-03-23 12:47:56 -04:00
Ranjith Ramakrishnan 4bcccb60c9 SWDEV-291455 - File reorganization with backward compatibility
HIP installed in /opt/rocm
Wrapper header file in /opt/rocm/hip/include
Soft link for cmake and library files in /opt/rocm/hip

Depends-On: I30adccf7e6241dae12270156602d4b033ea99d93
Change-Id: If70b61020fa3ee85bf49171c842837da05191a48
2022-03-18 13:52:29 -04:00
cjatin e6c0086d1c SWDEV-308763 - Make hiprtc a separate lib and rewrite it using comgr
Change-Id: I28ac50ec897accb2a2b4590d3c25965d907426fb
2022-03-03 02:34:02 -05:00
Ajay c792ff7bfc SWDEV-320586 - rpath to use cmake_prefix_path for install/lib/libamdhip64
Change-Id: I70c4f66d27c29e874275be6e594dc7d22491054d
2022-02-04 11:58:42 -05:00
Freddy Paul a01b481e45 hip:Switch to component based packaging.
Current way of packaging using custom command for each pacakge
is not helping to enable debug symbols.Debug symbols package
creation fail due to missing parameters from the build stage.
With the new approach all the parameters at build stage will be
inheritted by sub-cmake files and hence enables debug-symbols
package creation.

Change-Id: I933710ad4b67d913c011539ac9e51686604300f6
2022-01-31 13:36:48 -05:00
Konstantin Zhuravlyov d7ec25785d hipcc.bin and hipconfig.bin packaging updates:
- revert f313c2ea80
  - package hipcc.bin and hipconfig.bin in hip-devel

Change-Id: Iadfd2f64780b7ee2dce677436a7882d7fca74fb3
2022-01-21 09:51:50 -05:00
ajay bafc5bb30f SWDEV-314307 - hipStreamWaitEvent to wait on remote IPC events
Change-Id: Id97524ae9bc86d38376af2b0240f10d0dd5cc584
2022-01-19 20:10:02 +00:00