diff options
author | Robert Maynard <robert.maynard@kitware.com> | 2016-12-15 20:57:01 (GMT) |
---|---|---|
committer | Robert Maynard <robert.maynard@kitware.com> | 2016-12-15 20:57:01 (GMT) |
commit | c59811a233267a21fdea14af4bc6583af0f8d9b0 (patch) | |
tree | 65236f8adc333d4e565dae2e65fa07d1d857af8a /Tests/Cuda/Complex | |
parent | 59461c2696e46f5d3eaf5753ee4f7d2ee6eb71a6 (diff) | |
download | CMake-c59811a233267a21fdea14af4bc6583af0f8d9b0.zip CMake-c59811a233267a21fdea14af4bc6583af0f8d9b0.tar.gz CMake-c59811a233267a21fdea14af4bc6583af0f8d9b0.tar.bz2 |
CUDA: Tests now state why they are failing when no CUDA card is found.
Diffstat (limited to 'Tests/Cuda/Complex')
-rw-r--r-- | Tests/Cuda/Complex/dynamic.cu | 12 | ||||
-rw-r--r-- | Tests/Cuda/Complex/file3.cu | 8 | ||||
-rw-r--r-- | Tests/Cuda/Complex/mixed.cu | 6 |
3 files changed, 15 insertions, 11 deletions
diff --git a/Tests/Cuda/Complex/dynamic.cu b/Tests/Cuda/Complex/dynamic.cu index 9540e86..ea52acb 100644 --- a/Tests/Cuda/Complex/dynamic.cu +++ b/Tests/Cuda/Complex/dynamic.cu @@ -1,6 +1,7 @@ #include <string> #include <cuda.h> +#include <iostream> int dynamic_base_func(int); @@ -15,15 +16,12 @@ void DetermineIfValidCudaDevice() { } -void cuda_dynamic_lib_func(std::string& contents ) +void cuda_dynamic_lib_func() { DetermineIfValidCudaDevice <<<1,1>>> (); - if(cudaSuccess == cudaGetLastError()) + cudaError_t err = cudaGetLastError(); + if(err == cudaSuccess) { - contents = "ran a cuda kernel"; - } - else - { - contents = "cant run a cuda kernel"; + std::cerr << cudaGetErrorString(err) << std::endl; } } diff --git a/Tests/Cuda/Complex/file3.cu b/Tests/Cuda/Complex/file3.cu index 3c5e952..47e64c5 100644 --- a/Tests/Cuda/Complex/file3.cu +++ b/Tests/Cuda/Complex/file3.cu @@ -11,8 +11,6 @@ static __global__ void file3_kernel(result_type& r, int x) { - //call static_func which is a method that is defined in the - //static library that is always out of date r = file1_func(x); result_type_dynamic rd = file2_func(x); } @@ -21,5 +19,11 @@ int file3_launch_kernel(int x) { result_type r; file3_kernel <<<1,1>>> (r,x); + cudaError_t err = cudaGetLastError(); + if(err == cudaSuccess) + { + std::cerr << cudaGetErrorString(err) << std::endl; + return x; + } return r.sum; } diff --git a/Tests/Cuda/Complex/mixed.cu b/Tests/Cuda/Complex/mixed.cu index d2e8275..45b412f 100644 --- a/Tests/Cuda/Complex/mixed.cu +++ b/Tests/Cuda/Complex/mixed.cu @@ -7,18 +7,20 @@ result_type __device__ file1_func(int x); result_type_dynamic __device__ file2_func(int x); +void __host__ cuda_dynamic_lib_func(); + static __global__ void mixed_kernel(result_type& r, int x) { - //call static_func which is a method that is defined in the - //static library that is always out of date r = file1_func(x); result_type_dynamic rd = file2_func(x); } int mixed_launch_kernel(int x) { + cuda_dynamic_lib_func(); + result_type r; mixed_kernel <<<1,1>>> (r,x); return r.sum; |