- enforce incrementing the table versioning number when a table size changes outside of ifdef for ROCPROFILER_REGISTER
- add new HIP_ENFORCE_ABI entries
- update the HipDispatchTable size and bump HIP_RUNTIME_API_TABLE_STEP_VERSION to 1
- re-enable rocprofiler-register
Change-Id: Ie0cc1d8491c5640056e5dd393ea243e4dce4e8a9
[ROCm/clr commit: d84c5ae3af]
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
[ROCm/clr commit: a2a8dad980]
- Add API table versioning defines to hip_api_trace.hpp
- Add rocprofiler-register implementation in hip_api_trace.cpp
- created ToolInit implementation
- moved some local functions into anonymous namespace
- renamed some function to be overloads
- made most of the initialization code templated (reduced code duplication)
- enforce ABI
- Updated hipamd/src/CMakeLists.txt
- find rocprofiler-register package (enabled by default but not required)
- Address review comments
- simplify size calculation for dispatch table
- remove setting .size field in GetDispatchTableImpl
- Fix windows build
- Do not enforce ABI on Windows
Change-Id: I08766e8a083528a1236996274bf4522e0e8a1b9f
[ROCm/clr commit: 0f1fdc7794]
This reverts commit 14f3d8bcd6.
After changes in upstream cmake hip-lang-config.cmake will not be required on nvidia platform.
Change-Id: I711601dac1064ea17f58437da8ffbc50678eda08
[ROCm/clr commit: 31201b6e25]
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
[ROCm/clr commit: d7d0f11318]
Consider the case where cmake is invoked as follows:
cd <parent_dir>
cmake -S<source_dir> -B<build_dir> ...
If `WORKING_DIRECTORY` parameter is not specified in `execute_command`,
`hip_pch.o` is created outside `<build_dir>`, in `<parent_dir>/hip_pch.o`.
Change-Id: I751f4390628315ad70c36148e09824c19c93ae9e
[ROCm/clr commit: c391af49dc]
Comgr would like to include deprecation warnings for soon-to-be-removed
features. Therefore, when building with Comgr headers we need to
exclude deprecation warnings from Werror
Change-Id: I6c9563be3e066c493dd8e459fc07c7523e2854e3
[ROCm/clr commit: 02daeb01b4]
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]
Fixed an error in the CMakeLists.txt USE_PERF_API option declaration
that was making it always disabled. Fixing this exposed an issue with
the hip_prof_gen.py script's handling of function variants (for example,
_spt functions) and new HIP_INIT_API_* macros.
Also switched the python interpreter to python3 as python2 may not be
available by default on the build system.
Change-Id: I971fc9edcc746ca63a2bdf4f540e755f9a80fe69
[ROCm/clr commit: 8ac20e5e38]
This is attempt two of a5b6de5037
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
[ROCm/clr commit: 112b6370a5]
This reverts commit a5b6de5037.
Reason for revert: <Breaking all the staging builds. this is breaking components which are using find_package(HIP)>
Change-Id: Ic7340fb461a5efdd170a0988731e0885538a11d6
[ROCm/clr commit: 43c650cf48]
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
[ROCm/clr commit: bf4df229c9]
DISABLE_DIRECT_DISPATCH flag will control compilation.
Default is OFF.
Change-Id: I7d4207b8a79f5e3eb61440c5fbe5034c6ce75cce
[ROCm/clr commit: a852370a25]