[v0.04] Add error checking for CUDA calls
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user