You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#include <cuda_runtime.h>
|
|
|
|
#include <cublas_v2.h>
|
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
void do_cuda_stuff(void);
|
|
|
|
|
|
|
|
int cuda_devices(void) {
|
|
|
|
int result = 0;
|
|
|
|
cudaGetDeviceCount(&result);
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(void) {
|
|
|
|
int n = cuda_devices();
|
|
|
|
if (n == 0) {
|
|
|
|
std::cout << "No CUDA hardware found. Exiting.\n";
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
std::cout << "Found " << n << " CUDA devices.\n";
|
|
|
|
|
|
|
|
do_cuda_stuff();
|
|
|
|
|
|
|
|
cublasHandle_t handle;
|
|
|
|
if (cublasCreate(&handle) != CUBLAS_STATUS_SUCCESS) {
|
|
|
|
std::cout << "cuBLAS initialization failed. Exiting.\n";
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
std::cout << "Initialized cuBLAS\n";
|
|
|
|
if (cublasDestroy(handle) != CUBLAS_STATUS_SUCCESS) {
|
|
|
|
std::cout << "cuBLAS de-initialization failed. Exiting.\n";
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|