The amdgpu-arch tool is not supported for static build.
This commit adds changes to detect the build type during
cmake config and use the rocm_agent_enumerator for static build.
Change-Id: I8a295e01f54075507390ef540f16b28bb20237a9
[ROCm/clr commit: a02888af58]
It currently sets an old cmake version that gives warnings with
recent versions of cmake and it is something that should not be
dictated by the config file but instead be set at the app level.
Change-Id: I3584159cafeb0bf3f6ae4929ac062dc11b3658a5
[ROCm/clr commit: 683c041a73]
hipcc and clang++ both have logic to detect the installed hardware
and to automatically select the appropriate AMDGPU target when it is
left unspecified. When the AMDGPU_TARGETS property is initialized with
a set of default values, it results in the addition of an explicit set
of --offload-arch flags being passed. These explicit architecture flags
disable the architecture autodetection in the compiler.
The resulting behaviour from setting fixed defaults makes it unpleasant
to compile with CMake because they increase the build times for projects
unless they are overriden (as most users do not need to build for all
five default architectures). The fixed defaults are also troublesome for
users with hardware not included in the default set (e.g., gfx1011,
gfx1031, gfx1100).
A possible alternative might be to detect the architecture within
hip-config.cmake rather than running the detection logic on each
compiler invocation. However, this approach is simpler.
Change-Id: I9495d766b7eed03852eb4dc72b0aabe4100bc32c
Signed-off-by: Cordell Bloor <Cordell.Bloor@amd.com>
[ROCm/clr commit: e1bed6f354]
hip-config if invoked from backward compatibility path was providing package prefix directory as /opt/rocm-ver/hip.
Usage of backward compatibility path will result in error, since #warning messages are changed to #error
The change will provide the actual install path /opt/rocm-ver as package prefix directory
Change-Id: I4ac54a5ed9de01d5f40f456f20b76b60237b7d9e
[ROCm/clr commit: 9a7b2d0a88]
ROCm's LLVM will be moved into /opt/rocm-<ver>/lib/, teach hipcc and
hipconfig about the new location.
Change-Id: Ie7f17146771aff94c684deb22148226cbb3a2895
[ROCm/clr commit: 3d15f9cbda]
With file reorganization changes HIP is installed in /opt/rocm-ver
Using HIP path as /opt/rocm-ver/hip will generate warnings
Use real path with symlinks resolved, so that HIP path always points to the installed path
Removed redundant code for finding hsa header files. find_dependency to hsa-runtime should handle hsa dependency
Change-Id: Iccea3c1c7297c705244bf752f38fbff71929d64c
[ROCm/clr commit: f3394cf7a5]
The cmake file command with REAL_PATH option is supported from cmake version 3.19 onwards
Issue reported in cmake version 3.17. get_filename_component is supported since 3.4 onwards
The command gives REALPATH with symlinks resolved - /opt/rocm-ver/lib/cmake/hip/hip-config.cmake
So need to move four level up to get ROCM PATH
Verfied by printing the variables
Change made so that default initializaton of ROCM PATH is executed if there is no ROCM_PATH set in ENV
Change-Id: Ibfff584eeb154bd73a568a842f28143d5ed72458
[ROCm/clr commit: d60787bdb2]
As per the requirements in SWDEV-287540, config files should not have hard coded /opt/rocm path
Instead of setting ROCM_PATH to /opt/rocm, used hip-config file path to find the rocm path
Validated by printing the CONFIG_PATH and is coming as/opt/rocm-ver/lib/cmake/hip/hip-config.cmake
So need four level up,with file name in the path
Change-Id: Iac01d3a0c0168138c777551165705ed56cf6c3b1
[ROCm/clr commit: f61a87ebb2]
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
[ROCm/clr commit: 4bcccb60c9]
When the HIP compiler set to a symblink that was created outside
/opt/rocm/llvm/bin, HIP's cmake would get HIP_CLANG_ROOT incorrectly.
This teaches hip-config to get clang's real path first and use that to determine LLVM's directory.
Change-Id: I6275b67f843aff256dc72cf478e575224e0cedc3
[ROCm/clr commit: e70d7374ef]
LINK_LANGUAGE support has some issue in CMake versions from 3.18.0 to
3.19.8 when complex libs' dependence exists. Jump to a known CMake
version 3.20.0 where the issue is fixed.
Change-Id: I3fe6dbc35a7b14baa210df297b7885df83d28178
[ROCm/clr commit: 3452a09975]
This reverts commit b01fb5d72f.
Rework to support old cmake in order to fix mathlibs' failure.
Change-Id: I605fc633ba28df4fca95ceee83671600dd3f0b72
[ROCm/clr commit: 53b3c8a3fb]
HIP only has a dependency on ROCclr at build time. When exporting HIP,
ROCClr is already embedded into the shared/static library. There is no
reason to search for it.
Change-Id: I8d7e8e58164e5585a1dfc9c998ecf02ca42d8aac
[ROCm/clr commit: 815e8dd2a3]
Some upstream will load hip multiple times thus Rocclr static lib will
be linked to hip::amdhip64 many times. This will bring some unexpected
issues such as in hipBLAS. The patch prevents his happening.
Change-Id: I6bb27659f74371dae6e59c59fd6bb2022cc062ff
[ROCm/clr commit: f65348cfbe]
Modify hip-config.cmake to support building on Windows
using CMake's find_package(hip). Windows CMake will work
with Ninja Generator and inheritEnvironments clang_cl_x64.
Change-Id: I03d76b5f8d695ce50ecaacb449e4eb1c1ca49700
[ROCm/clr commit: db43d7a3ac]
Remove __HCC__, __HCC_ONLY__, __HCC_CPP__, __HCC_C__,
__HCC_OR_HIP_CLANG__, __HIP_ROCclr__ and their guarded codes.
Remove Hcc codes from directed_tests and samples.
Remove __HIP_PLATFORM_HCC__ and __HIP_PLATFORM_NVCC__ from
some files where they are not necessary.
Add deprecation notice.
Change-Id: I1ae467eafd749d6c25bca204c1724b026be21fce
[ROCm/clr commit: d504a761ad]
1.Rename include/hip/hcc_detail/ as include/hip/amd_detail/
2.Rename include/hip/nvcc_detail/ as include/hip/nvidia_detail/
3.Create __HIP_PLATFORM_AMD__ to replace __HIP_PLATFORM_HCC__
4.Create __HIP_PLATFORM_NVIDIA__ to replace __HIP_PLATFORM_NVCC__
After hcc_detail, nvcc_detail, __HIP_PLATFORM_HCC__ and __HIP_PLATFORM_NVCC__
have been removed from upstream, they will be removed from hip runtime.
Change-Id: I1ae457effd739d6c25bca203c1724b026be21fce
[ROCm/clr commit: 8a2b0b7424]
1.Make directed_test apps linked against static libs
of hip, rocclr, rocr, roct and amd_comgr.
2.Remove custom_target amdhip64_static_combiner.
3.Support EXCLUDE_HIP_LIB_TYPE <static|shared>.
4.Simplify argument list parsing.
5.Install rocclr when rocm is installed.
6.Fix some original small bugs.
Revert "Revert "Make directed_test support static libs""
This reverts commit f1cc6bef64.
Change-Id: I918eeae94487e5e2ff5bfde083667ac65fb6e702
[ROCm/clr commit: 6db4976759]