[v0.04] Add error checking for CUDA calls

This commit is contained in:
Dr-Noob
2021-08-16 13:52:57 +02:00
parent c7a08e7fd0
commit fd15008ab2
2 changed files with 11 additions and 5 deletions

View File

@@ -77,7 +77,11 @@ struct gpu_info* get_gpu_info(int gpu_idx) {
fflush(stdout); fflush(stdout);
int num_gpus = -1; int num_gpus = -1;
cudaGetDeviceCount(&num_gpus); cudaError_t err = cudaSuccess;
if ((err = cudaGetDeviceCount(&num_gpus)) != cudaSuccess) {
printErr("%s: %s", cudaGetErrorName(err), cudaGetErrorString(err));
return NULL;
}
printf("\r "); printf("\r ");
if(num_gpus <= 0) { if(num_gpus <= 0) {
@@ -90,9 +94,11 @@ struct gpu_info* get_gpu_info(int gpu_idx) {
return NULL; return NULL;
} }
cudaSetDevice(gpu_idx);
cudaDeviceProp deviceProp; cudaDeviceProp deviceProp;
cudaGetDeviceProperties(&deviceProp, gpu_idx); if ((err = cudaGetDeviceProperties(&deviceProp, gpu_idx)) != cudaSuccess) {
printErr("%s: %s", cudaGetErrorName(err), cudaGetErrorString(err));
return NULL;
}
gpu->freq = deviceProp.clockRate * 1e-3f; gpu->freq = deviceProp.clockRate * 1e-3f;
gpu->vendor = GPU_VENDOR_NVIDIA; gpu->vendor = GPU_VENDOR_NVIDIA;

View File

@@ -23,7 +23,7 @@ struct nvml_data* nvml_init() {
return data; return data;
} }
bool nvml_get_pci_info(int dev, struct nvml_data* data) { bool nvml_get_pci_info(int gpu_idx, struct nvml_data* data) {
nvmlReturn_t result; nvmlReturn_t result;
nvmlDevice_t device; nvmlDevice_t device;
@@ -32,7 +32,7 @@ bool nvml_get_pci_info(int dev, struct nvml_data* data) {
return false; return false;
} }
if ((result = nvmlDeviceGetHandleByIndex(dev, &device)) != NVML_SUCCESS) { if ((result = nvmlDeviceGetHandleByIndex(gpu_idx, &device)) != NVML_SUCCESS) {
printErr("nvmlDeviceGetHandleByIndex: %s\n", nvmlErrorString(result)); printErr("nvmlDeviceGetHandleByIndex: %s\n", nvmlErrorString(result));
return false; return false;
} }