Skip to content

Commit

Permalink
Display possible NVIDIA CUDA/RTC library loading error message only i…
Browse files Browse the repository at this point in the history
…n case a NVIDIA device was found using OpenCL
  • Loading branch information
jsteube committed Sep 6, 2020
1 parent 111f39e commit 57bef8a
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
3 changes: 3 additions & 0 deletions include/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -1557,6 +1557,9 @@ typedef struct backend_ctx

// cuda

int rc_cuda_init;
int rc_nvrtc_init;

int nvrtc_driver_version;
int cuda_driver_version;

Expand Down
30 changes: 25 additions & 5 deletions src/backend.c
Original file line number Diff line number Diff line change
Expand Up @@ -4935,8 +4935,7 @@ 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);
backend_ctx->rc_cuda_init = rc_cuda_init;

cuda_close (hashcat_ctx);
}
Expand All @@ -4953,8 +4952,7 @@ 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);
backend_ctx->rc_nvrtc_init = rc_nvrtc_init;

nvrtc_close (hashcat_ctx);
}
Expand Down Expand Up @@ -6269,7 +6267,29 @@ int backend_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
{
if (user_options->backend_ignore_cuda == false)
{
event_log_warning (hashcat_ctx, "* Device #%u: CUDA SDK Toolkit installation NOT detected.", device_id + 1);
if (backend_ctx->rc_cuda_init == -1)
{
event_log_warning (hashcat_ctx, "Failed to initialize NVIDIA CUDA library.");
event_log_warning (hashcat_ctx, NULL);
}
else
{
event_log_warning (hashcat_ctx, "Successfully initialized NVIDIA CUDA library.");
event_log_warning (hashcat_ctx, NULL);
}

if (backend_ctx->rc_nvrtc_init == -1)
{
event_log_warning (hashcat_ctx, "Failed to initialize NVIDIA RTC library.");
event_log_warning (hashcat_ctx, NULL);
}
else
{
event_log_warning (hashcat_ctx, "Successfully initialized NVIDIA RTC library.");
event_log_warning (hashcat_ctx, NULL);
}

event_log_warning (hashcat_ctx, "* Device #%u: CUDA SDK Toolkit installation NOT detected or incorrectly installed.", 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");

Expand Down

0 comments on commit 57bef8a

Please sign in to comment.