summaryrefslogtreecommitdiffstats
path: root/Modules/FindCUDAToolkit.cmake
Commit message (Collapse)AuthorAgeFilesLines
* FindCUDAToolkit: targets pointing to stubs now use IMPORTED_IMPLIBRobert Maynard2023-07-241-8/+17
| | | | | This ensures that we don't add rpath entries to the stubs directory which would cause runtime loading of the wrong libraries.
* Merge topic 'file-REAL_PATH-relative'Brad King2023-07-241-6/+9
|\ | | | | | | | | | | | | | | 6b5f2dbbfe file(REAL_PATH): resolve symlinks before '..' components Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8605
| * file(REAL_PATH): resolve symlinks before '..' componentsRobert Maynard2023-07-201-6/+9
| | | | | | | | | | | | | | | | Previously REAL_PATH would collapse paths before resolving any symlinks so if `..` crossed a symlink the output from `REAL_PATH` would be wrong. It looked like REAL_PATH did this by mistake since it was a side-effect of ensuring we had an absolute path before resolving symlinks.
* | Merge topic 'FindCUDAToolkit-libnvrtc-builtins'Brad King2023-07-211-1/+1
|\ \ | |/ |/| | | | | | | | | | | c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !8642
| * FindCUDAToolkit: Fix nvrtc_builtins library nameTomoharu Kitawaki2023-07-201-1/+1
| | | | | | | | | | | | | | | | | | The lib is named `libnvrtc-builtins.so`, not `libnvrtc_builtins.so`. Update the change from commit 2a94c762ed (FindCUDAToolkit: Add support for CUDA::nvrtc_static, 2023-01-20, v3.26.0-rc1~55^2). Apply a fix similar to commit 9688a8ebc2 (FindCUDAToolkit: Fix `nvrtc_builtins_static` library name, 2023-02-03, v3.26.0-rc2~15^2).
* | FindCUDAToolkit: Add cupti nvperf and pcsampling targetsRobert Maynard2023-06-071-8/+29
| |
* | Merge topic 'FindCUDAToolkit_more_library_root_detection'Brad King2023-05-051-22/+56
|\ \ | |/ | | | | | | | | | | 587c0443cc FindCUDAToolkit: Support CUDA version extraction from version.json Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8451
| * FindCUDAToolkit: Support CUDA version extraction from version.jsonRobert Maynard2023-05-041-22/+56
| | | | | | | | Fixes: #24858
| * Merge topic 'FindCUDAToolkit-static-deps' into release-3.26Brad King2023-04-261-1/+5
| |\ | | | | | | | | | | | | | | | | | | 1d6c343661 FindCUDAToolkit: Add missing static library dependencies on pthread and libdl Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8422
* | \ Merge topic 'update_FindCUDAToolkit_nvrtc_notes'Brad King2023-04-281-1/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 0e0eb12918 FindCUDAToolkit: Update nvrtc section to clarify a static version exists Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8436
| * | | FindCUDAToolkit: Update nvrtc section to clarify a static version existsRobert Maynard2023-04-271-1/+0
| | | | | | | | | | | | | | | | Fixes #24798
* | | | Merge topic 'FindCUDAToolkit-static-deps'Brad King2023-04-261-1/+5
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 1d6c343661 FindCUDAToolkit: Add missing static library dependencies on pthread and libdl Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8422
| * | | FindCUDAToolkit: Add missing static library dependencies on pthread and libdlRobert Maynard2023-04-261-1/+5
| | | | | | | | | | | | | | | | Discourse-topic: https://discourse.cmake.org/t/7946
* | | | Merge topic 'FindCUDAToolkit_nvrtc_windows_dependencies'Brad King2023-04-261-1/+6
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | 11a9f88bdf FindCUDAToolkit: Fix nvrtc_static dependencies on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8405
| * | FindCUDAToolkit: Fix nvrtc_static dependencies on WindowsRobert Maynard2023-04-251-1/+6
| |/ | | | | | | | | | | Required for CUDA toolkit 11.5: * https://docs.nvidia.com/cuda/archive/11.5.0/nvrtc/index.html#build-instruction
| * Merge topic 'FindCUDAToolkit-nvptxcompiler_static-deps' into release-3.26Brad King2023-04-061-1/+1
| |\ | | | | | | | | | | | | | | | | | | 8711231739 FindCUDAToolkit: nvptxcompiler_static correctly specify dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8395
* | \ Merge topic 'FindCUDAToolkit-nvptxcompiler_static-deps'Brad King2023-04-061-1/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 8711231739 FindCUDAToolkit: nvptxcompiler_static correctly specify dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8395
| * | FindCUDAToolkit: nvptxcompiler_static correctly specify dependenciesRobert Maynard2023-04-051-1/+1
| | | | | | | | | | | | Avoids linking to `Threads::Threads` on non-unix systems where it isn't needed. In addition ensures that dlopen symbols are resolved.
* | | Merge topic 'FindCUDAToolkit-cusparse-deps'Brad King2023-04-061-6/+9
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 516d807423 FindCUDAToolkit: Add dependency between cusparse and nvJitLink Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8397
| * | FindCUDAToolkit: Add dependency between cusparse and nvJitLinkRobert Maynard2023-04-051-6/+9
| |/ | | | | | | Starting in CUDA 12.0 cusparse uses nvJitLink. As part of verifying this PR I also corrected the nvJitLink dependencies
* | FindCUDAToolkit: mark a few variables as advancedAndrey Alekseenko2023-03-171-1/+2
| | | | | | | | | | - CUDAToolkit_BIN_DIR (was already "advanced" sometimes) - CUDAToolkit_CUPTI_INCLUDE_DIR
* | FindCUDAToolkit: Add support for finding Tegra cudla libraryRobert Maynard2023-03-071-0/+19
| | | | | | | | Fixes #24575
* | Help: Replace links with their permanent redirectsBrad King2023-02-171-1/+1
| |
* | FindCUDAToolkit: Replace broken links to NVIDIA documentationBrad King2023-02-171-3/+3
|/ | | | | | | | The cuFile API documentation has moved, so link to its new location. The nvGRAPH library has been removed, so link to a web archive copy. The NTVX library has a higher-level landing page.
* FindCUDAToolkit: Fix `nvrtc_builtins_static` library namePaul Taylor2023-02-061-1/+1
| | | | | | Update the change from commit 2a94c762ed (FindCUDAToolkit: Add support for CUDA::nvrtc_static, 2023-01-20, v3.26.0-rc1~55^2). The lib is named `libnvrtc-builtins_static.a`, not `libnvrtc_builtins_static.a`.
* FindCUDAToolkit: Add support for CUDA::nvrtc_staticRobert Maynard2023-01-201-1/+13
|
* FindCUDAToolkit: Support cross-compilation to sbsa-linuxRobert Maynard2023-01-111-18/+21
| | | | Fixes #24192
* FindCUDAToolkit: Handle CUDA::nvToolsExt not existingRobert Maynard2023-01-111-1/+1
|
* FindCUDAToolkit: Support the new `nvJitLink` library in CUDA 12Robert Maynard2022-12-121-0/+17
|
* FindCUDAToolkit: Ensure that paths provided have no symlinksRobert Maynard2022-11-301-7/+28
| | | | Fixes: #24188
* Merge topic 'find_cuda_toolkit_support_symlink_math_dirs'Brad King2022-11-231-3/+10
|\ | | | | | | | | | | | | | | 989d50d7fc FindCUDAToolkit: Support nvhpc splayed layouts without symlinks 207518b6e8 FindCUDAToolkit: Handle CUDAToolkit_TARGET_DIR dir being a symlink Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7945
| * FindCUDAToolkit: Support nvhpc splayed layouts without symlinksRobert Maynard2022-11-221-2/+8
| |
| * FindCUDAToolkit: Handle CUDAToolkit_TARGET_DIR dir being a symlinkRobert Maynard2022-11-181-2/+3
| |
* | Merge topic 'FindCUDAToolkit_handle_nvptxcompiler_static_not_existing'Brad King2022-11-181-1/+3
|\ \ | |/ |/| | | | | | | | | c7ece269da FindCUDAToolkit: Handle toolkits that don't provide nvptxcompiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7932
| * FindCUDAToolkit: Handle toolkits that don't provide nvptxcompilerRobert Maynard2022-11-171-1/+3
| | | | | | | | | | | | Some versions of the CUDA toolkit don't provide any static libraries, and therefore we need to handle that `nvptxcompiler_static` might not be found
* | FindCUDAToolkit: Support math_libs directory being a symlinkRobert Maynard2022-11-091-2/+2
|/ | | | Fixes #24140
* FindCUDAToolkit: Restore usage from multiple directoriesRobert Maynard2022-11-021-2/+4
| | | | Fixes #24119
* FindCUDAToolkit: Add nvptxcompiler_static dependency on Threads::ThreadsRobert Maynard2022-10-311-1/+2
|
* FindCUDAToolkit: cuFile_rdma_static needs to link to cuFile_staticRobert Maynard2022-10-121-1/+1
|
* Merge topic 'add_nvptx_compiler_to_findCUDAToolkit' into release-3.25Brad King2022-10-121-0/+20
|\ | | | | | | | | | | | | 01cfd0163d FindCUDAToolkit: Add support for the nvptx compiler library Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7779
| * FindCUDAToolkit: Add support for the nvptx compiler libraryRobert Maynard2022-10-111-0/+20
| | | | | | | | Fixes #23892
* | FindCUDAToolkit: Add support for the cuFile libraryRobert Maynard2022-10-111-0/+25
|/
* Merge topic 'findCUDAToolkit_declare_deps_for_targets_once'Brad King2022-09-071-17/+20
|\ | | | | | | | | | | | | f0918fe505 FindCUDAToolkit: Correctly state cusolver and cublas dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7633
| * FindCUDAToolkit: Correctly state cusolver and cublas dependenciesRobert Maynard2022-09-021-17/+20
| | | | | | | | Fixes #23920
* | Merge topic 'correct_cupti_search_paths'Craig Scott2022-08-261-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 1f3c3589f1 FindCUDAToolkit: Search the cuda toolkit include path for cupti Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7608
| * | FindCUDAToolkit: Search the cuda toolkit include path for cuptiRobert Maynard2022-08-241-1/+1
| | |
* | | FindCUDAToolkit: nvtx3 targetRaul Tambre2022-08-131-0/+32
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | nvtx3 is a header-only replacement for the previous shared library implementations. I implemented it as a separate target since while the header names match and ideally it should be API compatible, forcing its include directory into the old target would lengthen the include search path and could cause confusion or possible build differences for projects using multiple build systems. This keeps it explicit as a developer opt-in. Implements: #21377 Resolves: #23835
* | CUDAToolkit: Add include paths for CUDA::cuptiPeter Bell2022-04-261-7/+20
|/ | | | | | | | CUDA's cupti library has its headers in a seperate directory on a standard CUDA install, but `CUDA::cupti` only adds the default cuda include directory. Issue: #22761
* FindCUDAToolkit: Add missing cufftw_static targetRobert Maynard2022-03-211-1/+1
| | | | Fixes #23347
* CUDA: Generic all and all-major supportRaul Tambre2022-02-011-36/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 14d8a276 (CUDA: Support nvcc 11.5 new -arch=all|all-major flags, 2021-08-17) added all and all-major options to CUDA_ARCHITECTURES. These are fairly generic and likely to see real-world use by distributors. Thus it's desirable to support these also for Clang and older NVCC versions. The supported architectures are dependent on the toolkit version. We determine the toolkit version prior to compiler detection. For NVCC we get the version from the vendor identification output, but for Clang we need to invoke NVCC separately. The architecture information is mostly based on the Wikipedia list with the earliest supported version being CUDA 7.0. This could be documented and expanded in the future to allow projects to query CUDA toolkit version and architecture information. For Clang we additionally constrain based on its support. Additionally the architecture mismatch detection logic is fixed, improved and updated for generic support: * Commit 01428c55 (CUDA: Fail fast if CMAKE_CUDA_ARCHITECTURES doesn't work during detection, 2020-08-29) enabled CMAKE_CUDA_COMPILER_ID_REQUIRE_SUCCESS if CMAKE_CUDA_ARCHITECTURES is specified. This results in CMakeDetermineCompilerID.cmake printing the compiler error and our code for presenting the mismatch in a user-friendly way being useless. The custom logic seems preferable so go back to not enabling it. * Commit 14d8a276 (CUDA: Support nvcc 11.5 new -arch=all|all-major flags, 2021-08-17) tried to support CMP0054 but forgot to add x to the interpolated result. Thus the conditions would always evaluate to false. This is fixed as a byproduct of removing NVIDIA specific checks, improving the error message and replacing architectures_mode with a simpler architectures_explicit. Visual Studio support omits testing the flags during detection due to complexities in determining the toolkit version when using it. A long-term proper implementation would be #23161. Implements #22860.