| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Simplified the text regarding adding sources to be more general as there's also
target_sources().
Improved the wording for FindCUDAToolkit to be more explicit of its usecase and
avoid using "superseded" since the common usecase of FindCUDA was superseded by
the language support.
Wording suggestions incopropated from discussion on #22203.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FindCUDA is still widely used, but has been superseded by the much more robust
native language support. However the deprecation hasn't been noticed well
enough and real-world experience shows there's still new code written to use
it.
Change this particular notice to a warning to get a hard to miss red box.
We lose the semantic meaning, but we don't want to make all notices like this.
If there are similar cases in the future requiring it would be worth adding a
custom variant of the deprecated directive.
Fixes #22203.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original regular expression was greedy and would match any
environment variable ending with `TOP` (like `DESKTOP`). This is an
issue on windows where `nvcc -v` would output all environment variables
before the compiler's verbose output.
To resolve this issue we use a tighter match algorithm that looks
for `#$ TOP=` instead of `TOP=`.
Fixes: #22158
|
|
|
|
|
|
|
|
|
| |
Since commit fb2afef620 (CUDA: Support nvcc symlinking to ccache,
2021-01-07) and commit 3cef91a321 (CUDA: Always extract CUDA Toolkit
root from nvcc verbose output, 2021-02-03) we always run the command
`nvcc -v __cmake_determine_cuda` to look for the toolkit root in its
stderr. On Windows, that command may print to stdout instead, so
capture that as well.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #21750, #21763
Given that NVCC can be provided by multiple different sources (NVIDIA HPC SDK, CUDA Toolkit, distro)
each of which has a different layout, we need to extract the CUDA toolkit root from the compiler
itself, allowing us to support numerious different scattered toolkit layouts.
The NVIDIA HPC SDK specifically ships two copies of nvcc one in
`compilers/bin/` and one in `cuda/bin`. Thus when using
`compilers/bin/nvcc` the Toolkit root logic fails.
|
|
|
|
|
|
|
| |
Invoke `nvcc -v` to find the real CUDA bin directory.
This is needed if `nvcc` is a symlink to `ccache` or `colornvcc`.
Fixes: #21177
|
|
|
|
| |
Issue: #19715
|
|
|
|
|
|
|
|
|
| |
* Split large literal blocks into definitions lists.
* Add section headers.
* Add links to standard commands and variables.
* Use inline literals liberally.
* Enable code highlighting in literal blocks.
* Format command signatures according to modern conventions.
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the following two issues with the CUDA support on QNX:
* cuda target name is not derived correctly (should be `aarch64-qnx`).
* linking `cudart` must not be linked against `rt`, `dl`, `pthread`.
This enables to use cmake's native cuda support on QNX.
Fixes: #21381
|
|
|
|
|
|
|
| |
The nppicom library has been removed in preference of nvjpeg starting
in CUDA 11.
Fixes: #20845
|
|
|
|
|
|
|
| |
In commit 46371132b3 (FindCUDA: CUDA_LIBRARIES doesn't contain raw
`-pthread`, 2019-11-11, v3.17.0-rc1~455^2) we introduced use of the
`Threads::Threads` target, but we do not `find_package(Threads)` on all
platforms. Use the target only if it exists.
|
|
|
|
|
|
| |
Refined the initial design of FindCUDAToolkit and improve it
by adding more library support, more toolkit information and
tests.
|
|\
| |
| |
| |
| |
| |
| |
| | |
2d0100fac7 replace remove and remove_directory with rm in tests
5239fc5c75 cmake -E: Add rm with improved semantics over remove and remove_directory
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3949
|
| | |
|
|/
|
|
|
|
|
| |
If a person tried to pass `CUDA_LIBRARIES` to nvcc compiler it could
fail as it might have `-pthread` which nvcc doesn't support. Instead
we now use the `Threads::Threads` so that nvcc gets the correct
`-Xcompiler -pthread` flag.
|
|
|
|
|
| |
Before this commit, nvcc would not be found if it is in env PATH but a
non-standard location. This commit fixes this issue.
|
|
|
|
|
|
| |
Revert commit 067ee518f7 (FindCUDA: Use find_program instead of
find_path to find nvcc, 2019-10-31). It causes `CUDA_TOOLKIT_ROOT_DIR`
to contain the path to nvcc rather than the toolkit directory.
|
|
|
|
|
| |
Otherwise nvcc is not found if it is in env PATH but a non-standard
location.
|
|
|
|
|
|
| |
Find these libraries with CUDA 5 and above.
Fixes: #19386
|
| |
|
|
|
|
|
|
|
|
|
| |
We do not need to support IRIX anymore, so drop relevant parts. In
particular, the `CMAKE_THREAD_PREFER_PTHREAD` is frequently confused
with `THREADS_PREFER_PTHREAD_FLAG`.
Also remove references to the IRIX-specific options and results
from other modules and tests.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
8085799ce3 FindCUDA: Add option to set CUDA_HOST_COMPILER via environment
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2391
|
| |
| |
| |
| |
| | |
Re-use the `CUDAHOSTCXX` environment variable from the first-class
CUDA language support to specify the host compiler for FindCUDA.
|
|/ |
|
|
|
|
|
|
|
| |
The `cublas_device` has been deprecated and will be removed in
future versions of CUDA.
Issue: #18290
|
|
|
|
| |
Found via `codespell` and `grep`
|
|\
| |
| |
| |
| |
| |
| | |
53ffff2277 FindCUDA: Add support for sccache
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2050
|
| |
| |
| |
| |
| | |
When `CMAKE_C_COMPILER` is `sccache`, pass plain `cl` as the host
compiler to `nvcc`. Otherwise, `nvcc` does not accept it.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
9a66345752 FindCUDA: Fix regression in separable compilation without cublas
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2048
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert commit v3.11.0-rc1~274^2 (FindCUDA: Add cublas device library to
separable compilation, 2017-11-03). It breaks targets that do not link
to cublas. Another solution will be needed to solve the original
problem in a more compatible way.
Fixes: #17965
|
| |
| |
| |
| |
| |
| |
| | |
When `CMAKE_C_COMPILER` is `clcache`, pass plain `cl` as the host
compiler to `nvcc`. Otherwise, `nvcc` does not accept it.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is useful if, for example, you want ccache to be used
for nvcc. With the current behavior, cmake always picks up
/usr/local/cuda/bin/nvcc, even if there is a ccache nvcc
stub in the PATH. Allowing for CUDA_NVCC_EXECUTABLE lets
us work around the problem.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
|
|/
|
|
| |
Found via `codespell -q 3 -I ../cmake-whitelist.txt`.
|
|
|
|
|
|
|
|
|
| |
Changes in commit 48f7e2d300 (Unhardcode the CMAKE_CONFIGURATION_TYPES
values, 2017-11-27) accidentally left `CUDA_configuration_types`
undefined, but this is used in a few places to handle per-config flags.
Restore it.
Fixes: #17671
|
|
|
| |
Found via `codespell`
|
|\
| |
| |
| |
| |
| |
| |
| | |
1f4d7a07 Help: Add references and backticks in LINK_FLAGS prop_tgt
48f7e2d3 Unhardcode the CMAKE_CONFIGURATION_TYPES values
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1345
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This removes duplicated code for per-config variable initialization by
providing a `cmake_initialize_per_config_variable(<PREFIX> <DOCSTRING>)`
function.
This function initializes a `<PREFIX>` cache variable from `<PREFIX>_INIT`
and unless the `CMAKE_NOT_USING_CONFIG_FLAGS` variable is defined, does
the same with `<PREFIX>_<CONFIG>` from `<PREFIX>_<CONFIG>_INIT` for every
`<CONFIG>` in `CMAKE_CONFIGURATION_TYPES` for multi-config generators or
`CMAKE_BUILD_TYPE` for single-config generators.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
ff41a4b8 FindCUDA: de-duplicates C++11 flag when propagating host flags.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1628
|
| | | |
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
fab1b432 FindCUDA: Update to properly find MSVC 2017 compiler tools
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1631
|
| |/
| |
| |
| |
| | |
An implementation that handles the different installation locations of
visual studio compiler tools
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3c413e2a GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules
c267ea1c GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1627
|
| |/ |
|
|/
|
|
| |
Some are user-facing. Others are source comments.
|
|\
| |
| |
| |
| |
| |
| |
| | |
3726ded1 FindCUDA: Add cublas device library to separable compilation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1446
|
| |
| |
| |
| |
| | |
Add cublas libraries to separable compilation device link line to
resolve missing symbols when using cublas device library.
|
| |
| |
| |
| |
| |
| |
| | |
Some modules assume that `/usr` and `/usr/local` are the only
`CMAKE_PREFIX_PATH` entries and explicitly enumerate all paths instead
of using `PATH_SUFFIXES` and relying on the dynamic set of prefix paths.
This commit attempts to rectify that behavior.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some are user facing.
Found using
codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt`
whereby the whitelist contained:
ans
dum
helpfull
emmited
emmitted
buil
iff
isnt
nto
ot
pathes
substract
te
todays
upto
whitespaces
|