pytorch/c10/cuda/impl/CUDATest.cpp
Xiaodong Wang af0c79eed4 Catch cudaError_t return val (nodiscard in rocm) (#16399)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/16399

Catching cudaError_t return values in a few places, because it's nodiscard in rocm. Unless we add -Wno-unused-result, it'll end up with a compilation error.

Also in c10/cuda/test, check whether a host has GPU or not. We were silently throwing out the error before (so not really testing the cuda api).

Reviewed By: bddppq

Differential Revision: D13828281

fbshipit-source-id: 587d1cc31c20b836ce9594e3c18f067d322b2934
2019-02-11 13:18:36 -08:00

33 lines
554 B
C++

// Just a little test file to make sure that the CUDA library works
#include <c10/cuda/CUDAException.h>
#include <c10/cuda/impl/CUDATest.h>
#include <cuda_runtime.h>
namespace c10 {
namespace cuda {
namespace impl {
bool has_cuda_gpu() {
int count;
C10_CUDA_CHECK(cudaGetDeviceCount(&count));
return count != 0;
}
int c10_cuda_test() {
int r = 0;
if (has_cuda_gpu()) {
C10_CUDA_CHECK(cudaGetDevice(&r));
}
return r;
}
// This function is not exported
int c10_cuda_private_test() {
return 2;
}
}}} // namespace c10::cuda::impl