diff --git a/docs/changes.txt b/docs/changes.txt index c73c62b46..cb24ddee0 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -27,6 +27,8 @@ ## - Apple Keychain: Notify the user about the risk of collisions / false positives +- CUDA Backend: Give detailed warning if either the NVIDIA CUDA or the NVIDIA RTC library cannot be initialized +- CUDA Backend: Do not warn about missing CUDA SDK installation if --backend-ignore-cuda is used - CUDA Backend: Use blocking events to avoid 100% CPU core usage (per GPU) - Startup time: Improved the startup time by avoiding some time intensive operations for skipped devices diff --git a/src/backend.c b/src/backend.c index 2d290e0e0..67132d2dd 100644 --- a/src/backend.c +++ b/src/backend.c @@ -4929,6 +4929,9 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx) if (rc_cuda_init == -1) { + event_log_warning (hashcat_ctx, "Failed to initialize NVIDIA CUDA library."); + event_log_warning (hashcat_ctx, NULL); + cuda_close (hashcat_ctx); } @@ -4944,6 +4947,9 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx) if (rc_nvrtc_init == -1) { + event_log_warning (hashcat_ctx, "Failed to initialize NVIDIA RTC library."); + event_log_warning (hashcat_ctx, NULL); + nvrtc_close (hashcat_ctx); } @@ -6240,11 +6246,14 @@ int backend_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime) if ((backend_ctx->cuda == NULL) || (backend_ctx->nvrtc == NULL)) { - event_log_warning (hashcat_ctx, "* Device #%u: CUDA SDK Toolkit installation NOT detected.", device_id + 1); - event_log_warning (hashcat_ctx, " CUDA SDK Toolkit installation required for proper device support and utilization"); - event_log_warning (hashcat_ctx, " Falling back to OpenCL Runtime"); + if (user_options->backend_ignore_cuda == false) + { + event_log_warning (hashcat_ctx, "* Device #%u: CUDA SDK Toolkit installation NOT detected.", device_id + 1); + event_log_warning (hashcat_ctx, " CUDA SDK Toolkit installation required for proper device support and utilization"); + event_log_warning (hashcat_ctx, " Falling back to OpenCL Runtime"); - event_log_warning (hashcat_ctx, NULL); + event_log_warning (hashcat_ctx, NULL); + } } } }