summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeDetermineHIPCompiler.cmake
Commit message (Collapse)AuthorAgeFilesLines
* HIP: Store CMAKE_HIP_HOST_COMPILER as an absolute pathRobert Maynard2025-05-201-0/+23
|
* Merge topic 'compiler-architecture-id'Brad King2025-03-271-7/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 7f0f382c55 Provide CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID on more compilers 019f0f8b32 ARCHITECTURE_ID: Save persistently even if empty 8e46672b29 Fortran: Detect pointer size on sparc architectures eddf66eaef CMakeDetermineASMCompiler: De-duplicate list of compiler info variables c0224f5aa1 CMakeDetermineCompilerABI: Make ABI info string more robust 67ab580804 Windows/Clang: Fix indentation in platform information module 1c9f8eeb4f Help: Document CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !10516
| * ARCHITECTURE_ID: Save persistently even if emptyBrad King2025-03-241-7/+0
| |
* | NVCC: Avoid requiring NVIDIA trademark to identify the compilerBrad King2025-03-251-1/+1
|/ | | | Fixes: #26805
* LICENSE: Replace references to Copyright.txt with LICENSE.rstKitware Robot2025-03-031-1/+1
| | | | | | | | | | ``` git grep -lz 'Copyright.txt or https://cmake.org/licensing ' | while IFS= read -r -d $'\0' f ; do sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / { s/Copyright.txt/LICENSE.rst/ }' "$f" ; done ```
* HIP: Ensure lib64 directories are included in hip-lang dependency searchIoannis Assiouras2024-08-151-1/+1
| | | | | | | | When the target ABI is unspecified, find_package should include lib64 directories in hip-lang dependency search, regardless of whether hip-lang is packaged under lib or lib64. Fixes: #26194
* HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCCBrad King2023-09-251-0/+10
| | | | Also add `HIPHOSTCXX` environment variable.
* HIP: Do not require hip-lang package for NVIDIA platformBrad King2023-09-251-45/+49
| | | | | | | ROCm may not install the `hip-lang` cmake package on NVIDIA platforms. Skip verifying its presence. We do not use it for NVIDIA platforms anyway. Fixes: #25271
* HIP: Simplify CMAKE_GENERATOR references for determining compilerBrad King2023-09-251-2/+2
|
* HIP: Add support for NVIDIA GPUsBrad King2023-09-211-10/+92
| | | | | | Add support for using the CUDA Toolkit's NVCC to compile HIP code. Fixes: #25143
* HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platformBrad King2023-09-211-8/+20
| | | | | For now, require the value to be `amd`, since that is the only platform we currently support.
* HIP: Fix search for hip-lang CMake package on Fedora distrosBrad King2023-07-051-1/+10
| | | | | | | | These distros package the hip-lang package under `lib64`, so search it too. This is similar to commit bae57dc281 (HIP: Fix search for hip-lang CMake package on multiarch distros, 2023-05-31, v3.27.0-rc1~28^2). Fixes: #25050
* HIP: Fix search for hip-lang CMake package on multiarch distrosBrad King2023-05-311-7/+43
| | | | | | | | | | We need `CMAKE_LIBRARY_ARCHITECTURE` to find the package before HIP compiler ABI detection. However, if HIP is the first enabled language, the value is not known until `CMAKE_HIP_LIBRARY_ARCHITECTURE` is determined by the ABI detection step. Resolve this by detecting `CMAKE_HIP_LIBRARY_ARCHITECTURE` from the compiler id output. Fixes: #24562
* HIP: Convert clang output to cmake style pathsGergely Meszaros2022-10-091-0/+1
| | | | | On windows the location of the rocm root directory as reported by clang might be in windows style (with backslashes) which breaks the cache.
* HIP: Simplify detection of HIP runtime CMake packageBrad King2021-09-161-0/+20
| | | | | | | It only makes sense to use the CMake package from the same ROCm installation that the compiler uses. Ask the HIP compiler to report the location of the ROCm installation. Verify up front that it contains the expected CMake package file.
* HIP: Remove ROMClang compiler id and use Clang directlyBrad King2021-09-161-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6) and commit ff0d2858e1 (HIP: Extract clang compiler details from hipcc, 2020-10-21, v3.21.0-rc1~66^2~5), the separate `ROCMClang` compiler id for `hipcc` has caused a few problems: * The compiler id changed from behavior of CMake 3.20 and below, breaking projects that already built with `hipcc` treated as `Clang`. * The implementation of `target_compile_features` was incomplete for the `ROCMClang` identity. * Only `hipcc` was identified as `ROCMClang`, so after it is unwrapped to the underlying `clang++`, future runs of new CMake versions on an existing build tree would not repeat this. * Clang should be usable as a HIP compiler without the `hipcc` wrapper. Remove the `ROMClang` compiler identity, and revise HIP language support to work directly with a Clang compiler. Reject direct `hipcc` usage as a HIP compiler. For now it cannot be supported because it interferes with flags CMake needs to pass to Clang. Fixes: #22536, #22460, #22593
* HIP: Detect ROCm path earlierBrad King2021-09-161-0/+14
| | | | | | | | | Fail early if it is not found. Use the detected location as a hint to find `rocm_agent_enumerator`. Also remove the leading `_` prefix in case we want to document this publicly later.
* HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURESZack Galbreath2021-09-161-3/+34
|
* HIP: analyze output of `hipcc` to determine default GPU architectureZack Galbreath2021-06-071-1/+6
|
* HIP: Add language to CMakeRobert Maynard2021-06-071-0/+96