PKGBUILDs/extra/meson/0001-Fix-CUDA-test-without-devices.patch
2020-01-08 00:14:50 +00:00

49 lines
1.8 KiB
Diff

From bee44c4c029eeee4c77434fd38208a5c02780b44 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
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 56688303..bc90081e 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;
}
--
2.24.1