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
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
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>
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's LLVM will be moved into /opt/rocm-<ver>/lib/, teach hipcc and
hipconfig about the new location.
Change-Id: Ie7f17146771aff94c684deb22148226cbb3a2895
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
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
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
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
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
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
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
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
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
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
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
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 0d1cf31eb1.
Change-Id: I918eeae94487e5e2ff5bfde083667ac65fb6e702