Commit Graph

18 Commits

Author SHA1 Message Date
Brad King
b7d8d80a62 Merge topic 'cmake_provide_include_dir_for_toolkit'
44f3acb2 CUDA: Detect the toolkit include directories
2017-02-14 08:30:30 -05:00
Robert Maynard
44f3acb202 CUDA: Detect the toolkit include directories
The `nvcc -v` output provides what include directories need to be added
to use the CUDA toolkit from other languages ( C/C++ ).
2017-02-10 16:08:06 -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
008ed80dcf Tests/Cuda: Output error messages to std::cerr instead of std::cout 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
Robert Maynard
dc5051f1c1 CUDA: Test that CUDA flags are used when device linking executables. 2017-01-12 15:13:31 -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
1ce39a1e73 CUDA: ConsumeCompileFeatures use cxx_nullptr for wider compiler support
We need to use a C++11 feature that is supported by the widest
range of compilers, so we chose nullptr instead of constexpr.
2017-01-11 10:40:38 -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