summaryrefslogtreecommitdiff
path: root/Tests/Cuda
Commit message (Collapse)AuthorAgeFilesLines
* CUDA: Add abstraction for cuda runtime selectionRobert Maynard2020-01-274-14/+33
| | | | | 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.
* Merge topic 'add_cuda_toolkit_tests'Brad King2020-01-1515-0/+480
|\ | | | | | | | | | | | | | | | | 6e474364d1 CUDAToolkit: No targets now depend on the CUDA runtime 907bb7df57 CUDAToolkit: Gracefully handle missing SDK components e500eb80cd CUDAToolkit: add_cuda_link_dependency correctly sets dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4183
| * CUDAToolkit: No targets now depend on the CUDA runtimeRobert Maynard2020-01-1415-0/+480
| | | | | | | | | | | | It is not a requirement to have shared|static consistent across your CUDA libraries (e.g curand, nppc ) and your CUDA runtime library. It is entirely allowable to use a static nppc and a shared runtime.
* | Merge branch 'backport-3.16-cuda-device-link-only-cuda'Brad King2020-01-093-0/+9
|\ \ | |/ |/|
| * Merge branch 'backport-3.15-cuda-device-link-only-cuda'Brad King2020-01-093-0/+9
| |\
| | * CUDA: Do not device link if target has no CUDA usageRobert Maynard2020-01-093-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CUDA is enabled, and a pure non-CUDA target has CMAKE_CUDA_SEPARABLE_COMPILATION enabled, don't actually perform the device linking step, as it will fail. A target that has CMAKE_CUDA_SEPARABLE_COMPILATION enabled must also have CUDA usage (either itself, or something it links to). Fixes: #20182
* | | FindCUDAToolkit: correct searches for Toolkit componentsRobert Maynard2019-12-161-8/+1
| | |
* | | FindCUDAToolkit: Improve usage, library set, and testsRobert Maynard2019-12-165-4/+58
| | | | | | | | | | | | | | | | | | Refined the initial design of FindCUDAToolkit and improve it by adding more library support, more toolkit information and tests.
* | | CUDA: Add cuda meta-features (e.g. ``cuda_std_11``) supportRobert Maynard2019-12-1018-5/+165
|/ /
* | Revise include order using clang-format-6.0Kitware Robot2019-10-015-6/+10
|/ | | | | 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.
* CUDA: Do not device link if CUDA is not an enabled languageRobert Maynard2019-07-014-0/+29
| | | | | | | | | | | | | Checks added in commit 81b4d10d8f (CUDA: More exhaustive checks to determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2) assumed that CUDA properties would be set only if CUDA is enabled. We cannot do a device link step if we do not have the CUDA language enabled. This was discovered as some projects unconditionally set CUDA properties such as `CUDA_RESOLVE_DEVICE_SYMBOLS` even when the CUDA language has not been enabled. Fixes: #19432
* CUDA: Add test for device linking when host linking uses threadsRobert Maynard2018-10-245-0/+156
| | | | | | | | | Convert the `CudaOnly.LinkSystemDeviceLibraries` test to a new `Cuda.ProperDeviceLibraries` test. The former covered only the `cublas_device` library which is removed by CUDA 10. Extend the new test to also cover various cases of using threads. Issue: #18008
* Tests: Fix Cuda test project namesBrad King2018-10-105-5/+5
| | | | | Make them match what `ADD_TEST_MACRO` gives to ctest as the project name to build so that the `.sln` file will be found.
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-016-15/+15
| | | | | | | | | | | | 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.
* CUDA: Use MSVC default pattern for naming object filesRobert Maynard2018-01-306-23/+37
| | | | | The default that CUDA uses causes failures when you try to embed CUDA obj's into another target.
* Various typo fixesLuz Paz2018-01-041-1/+1
| | | | Some are user-facing. Others are source comments.
* CUDA: Fix CUDA_STANDARD selection via cxx_std_11 with CXX_STANDARDRobert Maynard2017-12-153-0/+25
| | | | | | | | | | | When C++ features require a certain C++/CUDA level, verify or update the standard level target property for each language independently. While at it, add missing rejection of invalid `CUDA_STANDARD` property values. Co-Author: Brad King <brad.king@kitware.com> Fixes: #17519
* clang-format: format all code as Cpp11Daniel Pfeifer2017-08-301-9/+0
|
* Tests: Simplify CUDA rpath on macOSBrad King2017-06-213-9/+7
| | | | | Use the `BUILD_RPATH` property and reference the CMake-computed location of the runtime libraries.
* CUDA: Visual Studio now properly delays device linkingRobert Maynard2017-04-261-1/+1
|
* CUDA: ObjectLibrary test executable now runs on OSXRobert Maynard2017-03-231-0/+5
|
* Merge topic 'cuda-msvc-flags'Brad King2017-02-163-3/+3
|\ | | | | | | | | | | 55fb46d2 CUDA: Fix default compiler flags on Windows d7c80f60 CUDA: Fix test cases to not override CUDA flags
| * CUDA: Fix test cases to not override CUDA flagsBrad King2017-02-153-3/+3
| | | | | | | | Append to `CMAKE_CUDA_FLAGS` instead of overwriting it.
* | Merge topic 'cuda-with-c'Brad King2017-02-154-0/+43
|\ \ | |/ | | | | | | | | 1c60231c CUDA: Link to standard system libraries when linking as CUDA 8d75d8dc Tests: Add case for CUDA with C but not C++
| * CUDA: Link to standard system libraries when linking as CUDABrad King2017-02-141-0/+8
| | | | | | | | | | | | | | On Windows with MSVC-like host compilers we must honor the standard libraries chosen by the `Platform/Windows-MSVC` module. Otherwise C code linked into the CUDA binary that expects to have these libraries available may not link.
| * Tests: Add case for CUDA with C but not C++Brad King2017-02-144-0/+35
| | | | | | | | An executable using CUDA and C should link as CUDA.
| * Tests: Run clang-format on CUDA codeBrad King2017-02-148-36/+26
| |
* | Tests: Run clang-format on CUDA codeBrad King2017-02-148-83/+58
| |
* | Merge branch 'backport-clang-format-cuda' into clang-format-cudaBrad King2017-02-141-0/+9
|\ \ | |/
| * clang-format.bash: Format CUDA source files tooBrad King2017-02-141-0/+9
| | | | | | | | | | | | Add `.clang-format` configuration files for Cuda test directories that use `Standard: Cpp11`. Otherwise clang-format splits the triple angle brackets used for CUDA kernels.
* | Merge topic 'cmake_provide_include_dir_for_toolkit'Brad King2017-02-143-0/+20
|\ \ | |/ | | | | | | 44f3acb2 CUDA: Detect the toolkit include directories
| * CUDA: Detect the toolkit include directoriesRobert Maynard2017-02-103-0/+20
| | | | | | | | | | The `nvcc -v` output provides what include directories need to be added to use the CUDA toolkit from other languages ( C/C++ ).
* | Tests/Cuda: Select a CUDA device supporting compute 3.0Pierre Moreau2017-02-102-0/+46
| |
* | Tests/Cuda: Return a non-zero code if errors occurredPierre Moreau2017-02-102-6/+8
| |
* | Tests/Cuda: Use memory allocated on the GPU in the kernelsPierre Moreau2017-02-102-10/+45
| |
* | Tests/Cuda: Add missing separable compilation propertyPierre Moreau2017-02-101-0/+2
| | | | | | | | | | | | | | This resulted in `mixed_kernel()` returning an "invalid device function" at runtime for `file1_func()`. Suggested-by: Robert Maynard
* | Tests/Cuda: Fix missing CUDA static library at runtime on macOSPierre Moreau2017-02-101-0/+6
| | | | | | | | Suggested-by: Robert Maynard
* | Tests/Cuda: Output error messages to std::cerr instead of std::coutPierre Moreau2017-02-101-2/+2
| |
* | Tests/Cuda: Print asynchronous error messages, if anyPierre Moreau2017-02-103-0/+20
| | | | | | | | | | | | | | | | | | | | 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`.
* | Tests/Cuda: Print error message if mixed_kernel failedPierre Moreau2017-02-101-0/+7
| |
* | Tests/Cuda: Add identifiers to error messagesPierre Moreau2017-02-102-2/+4
| |
* | Tests/Cuda: Print error message if an error occurredPierre Moreau2017-02-102-2/+2
|/ | | | Fixes c59811a2 "CUDA: Tests now state why they are failing when no CUDA card is found."
* CUDA: Test that CUDA flags are used when device linking executables.Robert Maynard2017-01-125-0/+48
|
* CUDA: Port test cases to Windows with MSVC host compilerBrad King2017-01-125-9/+43
|
* CUDA: ConsumeCompileFeatures use cxx_nullptr for wider compiler supportRobert Maynard2017-01-111-1/+1
| | | | | We need to use a C++11 feature that is supported by the widest range of compilers, so we chose nullptr instead of constexpr.
* CUDA: Tests now state why they are failing when no CUDA card is found.Robert Maynard2016-12-153-11/+15
|
* CUDA: Fix Cuda.Complex test case extern function signaturesBrad King2016-12-091-2/+2
| | | | | Make the return types of the extern function declared in `main.cpp` match those in the method implementations.
* CUDA: Add tests to verify CUDA compiler works properly.Robert Maynard2016-11-1420-0/+316