[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);
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;

View File

@@ -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;
}