[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);
|
||||
|
||||
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 ");
|
||||
|
||||
if(num_gpus <= 0) {
|
||||
@@ -90,9 +94,11 @@ struct gpu_info* get_gpu_info(int gpu_idx) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
cudaSetDevice(gpu_idx);
|
||||
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->vendor = GPU_VENDOR_NVIDIA;
|
||||
|
||||
@@ -23,7 +23,7 @@ struct nvml_data* nvml_init() {
|
||||
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;
|
||||
nvmlDevice_t device;
|
||||
|
||||
@@ -32,7 +32,7 @@ bool nvml_get_pci_info(int dev, struct nvml_data* data) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((result = nvmlDeviceGetHandleByIndex(dev, &device)) != NVML_SUCCESS) {
|
||||
if ((result = nvmlDeviceGetHandleByIndex(gpu_idx, &device)) != NVML_SUCCESS) {
|
||||
printErr("nvmlDeviceGetHandleByIndex: %s\n", nvmlErrorString(result));
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user