From 03065f2f008bbc5feb732412c41fc61848a6725f Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Tue, 7 Jan 2020 23:48:18 +0100 Subject: [PATCH] Fix CUDA test without devices. Getting the runtime version fails when no devices are present. --- .../version_reqs/prog.cu | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/test cases/cuda/11 cuda dependency (nvcc)/version_reqs/prog.cu b/test cases/cuda/11 cuda dependency (nvcc)/version_reqs/prog.cu index 56688303f..bc90081e5 100644 --- a/test cases/cuda/11 cuda dependency (nvcc)/version_reqs/prog.cu +++ b/test cases/cuda/11 cuda dependency (nvcc)/version_reqs/prog.cu @@ -9,20 +9,21 @@ int cuda_devices(void) { int main(void) { std::cout << "Compiled against CUDA version: " << CUDART_VERSION << "\n"; + int runtime_version = 0; - cudaError_t r = cudaRuntimeGetVersion(&runtime_version); - if (r != cudaSuccess) { - std::cout << "Couldn't obtain CUDA runtime version (error " << r << "). Exiting.\n"; - return -1; + switch (cudaError_t r = cudaRuntimeGetVersion(&runtime_version)) { + case cudaSuccess: + std::cout << "CUDA runtime version: " << runtime_version << "\n"; + break; + case cudaErrorNoDevice: + std::cout << "No CUDA hardware found. Exiting.\n"; + return 0; + default: + std::cout << "Couldn't obtain CUDA runtime version (error " << r << "). Exiting.\n"; + return -1; } - std::cout << "CUDA runtime version: " << runtime_version << "\n"; int n = cuda_devices(); - if (n == 0) { - std::cout << "No CUDA hardware found. Exiting.\n"; - return 0; - } - std::cout << "Found " << n << " CUDA devices.\n"; return 0; }