Commit Graph

27 Commits

Author SHA1 Message Date
Robert Maynard 4f10111e95 CUDA: Cuda* tests add rpath entry only for need cuda lib directory
Found when developing https://github.com/conda-forge/cuda-nvcc-feedstock/pull/13/
We previously added RPATH entries for all implicit directories and therefore
started to load the incorrect pthread library.
2023-05-22 15:37:35 -04:00
Raul Tambre 4fe9f534f5 Tests: Don't unnecessarily set CUDA_ARCHITECTURES
Architecture 30 was removed with CUDA 11, so most of the CUDA tests fail with
it.
Remove setting the architecture and bump the minimum version to 3.18, so
CMP0104 takes effect and we can rely on the default architecture, which is
guaranteed to be compilable.

Use of __ldg() in ProperLinkFlags was removed as it only affects performance
and is available only on sm_35 and above.

Testing the functionality of CUDA_ARCHITECTURES is already covered by
CudaOnly.Architecture and CudaOnly.CompileFlags.
2020-09-21 20:37:07 +03:00
Raul Tambre f0931b0790 CUDA: Convert tests to use CUDA_ARCHITECTURES 2020-04-15 17:55:41 +03:00
Robert Maynard 0d0145138f CUDA: Add abstraction for cuda runtime selection
Fixes #17559
Replace our hard-coded default of cudart=static with a first-class abstraction to select the runtime library from an enumeration of logical names.
2020-01-27 16:02:26 -05:00
Kitware Robot ed98209ddc Revise include order using clang-format-6.0
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Brad King fb378fc4d7 Tests: Fix Cuda test project names
Make them match what `ADD_TEST_MACRO` gives to ctest as the
project name to build so that the `.sln` file will be found.
2018-10-10 13:29:47 -04:00
Kitware Robot d7204e649e Revise C++ coding style using clang-format-6.0
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`.  Use `clang-format` version 6.0.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
2018-06-01 09:53:42 -04:00
Luz Paz 3ab7bf8285 Various typo fixes
Some are user-facing. Others are source comments.
2018-01-04 06:52:01 +11:00
Brad King fff782f6a6 Tests: Simplify CUDA rpath on macOS
Use the `BUILD_RPATH` property and reference the CMake-computed location
of the runtime libraries.
2017-06-21 10:41:49 -04:00
Robert Maynard a36fb229ba CUDA: Visual Studio now properly delays device linking 2017-04-26 11:41:22 -04:00
Brad King d1530cc9a5 Merge topic 'cuda-msvc-flags'
55fb46d2 CUDA: Fix default compiler flags on Windows
d7c80f60 CUDA: Fix test cases to not override CUDA flags
2017-02-16 13:15:35 -05:00
Brad King d7c80f6036 CUDA: Fix test cases to not override CUDA flags
Append to `CMAKE_CUDA_FLAGS` instead of overwriting it.
2017-02-15 11:12:09 -05:00
Brad King 33a65941fa Tests: Run clang-format on CUDA code 2017-02-14 10:21:48 -05:00
Brad King c4a6135039 Tests: Run clang-format on CUDA code 2017-02-14 10:20:50 -05:00
Pierre Moreau 166b339387 Tests/Cuda: Select a CUDA device supporting compute 3.0 2017-02-10 13:47:05 -05:00
Pierre Moreau cbe4d5957b Tests/Cuda: Return a non-zero code if errors occurred 2017-02-10 13:46:42 -05:00
Pierre Moreau 8731701cb6 Tests/Cuda: Use memory allocated on the GPU in the kernels 2017-02-10 13:46:08 -05:00
Pierre Moreau 0ae5386aa9 Tests/Cuda: Add missing separable compilation property
This resulted in `mixed_kernel()` returning an "invalid device function"
at runtime for `file1_func()`.

Suggested-by: Robert Maynard
2017-02-10 13:46:08 -05:00
Pierre Moreau ce19607fed Tests/Cuda: Fix missing CUDA static library at runtime on macOS
Suggested-by: Robert Maynard
2017-02-10 13:46:07 -05:00
Pierre Moreau c0d7bb8368 Tests/Cuda: Print asynchronous error messages, if any
As kernel launches are asynchronous, a `cudaGetLastError()` right after
the kernel launch might be executed while the kernel is still running.
Synchronizing the device will ensure that all the work is completed
before progressing further on, and allows to catch errors that were
previously missed.
The `cudaGetLastError()` after the `cudaDeviceSynchronize()` is there
to reset the error variable to `cudaSuccess`.
2017-02-10 13:46:07 -05:00
Pierre Moreau 21a125cdbf Tests/Cuda: Print error message if mixed_kernel failed 2017-02-10 13:46:06 -05:00
Pierre Moreau eebb2be8b0 Tests/Cuda: Add identifiers to error messages 2017-02-10 13:46:06 -05:00
Pierre Moreau 84f3c87b03 Tests/Cuda: Print error message if an error occurred
Fixes c59811a2 "CUDA: Tests now state why they are failing when no CUDA card is found."
2017-02-10 13:46:06 -05:00
Brad King 5599d858c7 CUDA: Port test cases to Windows with MSVC host compiler 2017-01-12 10:39:04 -05:00
Robert Maynard c59811a233 CUDA: Tests now state why they are failing when no CUDA card is found. 2016-12-15 15:57:01 -05:00
Brad King c1a5507917 CUDA: Fix Cuda.Complex test case extern function signatures
Make the return types of the extern function declared in `main.cpp`
match those in the method implementations.
2016-12-09 14:19:22 -05:00
Robert Maynard 7b9131da64 CUDA: Add tests to verify CUDA compiler works properly. 2016-11-14 16:40:50 -05:00