Reduce CUDA Toolkit minimum version to 9.0 (even 8.0 should be sufficient)

pull/2306/head
Jens Steube 4 years ago
parent aef53f7e10
commit 96a2c36f53

@ -155,7 +155,7 @@
- OpenCL Kernels: Moved "gpu_decompress", "gpu_memset" and "gpu_atinit" into shared.cl in order to reduce compile time
- OpenCL Options: Removed --opencl-platforms filter in order to force backend device numbers to stay constant
- Parsers: switched from strtok() to strtok_r() for thread safety
- Requirements: Add new requirement for NVIDIA GPU: CUDA Toolkit (10.1 or later)
- Requirements: Add new requirement for NVIDIA GPU: CUDA Toolkit (9.0 or later)
- Requirements: Update runtime check for minimum NVIDIA driver version from 367.x to 418.56 or later
- Test Script: Switched from /bin/bash to generic /bin/sh and updated code accordingly

@ -15,7 +15,7 @@ AMD GPUs on Windows require "AMD Radeon Software Crimson Edition" (15.12 or late
Intel CPUs require "OpenCL Runtime for Intel Core and Intel Xeon Processors" (16.1.1 or later)
Intel GPUs on Linux require "OpenCL 2.0 GPU Driver Package for Linux" (2.0 or later)
Intel GPUs on Windows require "OpenCL Driver for Intel Iris and Intel HD Graphics"
NVIDIA GPUs require "NVIDIA Driver" (418.56 or later) and "CUDA Toolkit" (10.1 or later)
NVIDIA GPUs require "NVIDIA Driver" (418.56 or later) and "CUDA Toolkit" (9.0 or later)
##
## Features

@ -697,10 +697,10 @@ int nvrtc_init (hashcat_ctx_t *hashcat_ctx)
char dllname[100];
for (int major = 20; major >= 10; major--) // older than 3.x do not ship _v2 functions anyway
// older than 7.x does not support sm 5.x
// older than 8.x does not have documentation archive online, no way to check if nvrtc support whatever we need
// older than 10.x is just a theoretical limit since we define 10.1 as the minimum required version
for (int major = 20; major >= 9; major--) // older than 3.x do not ship _v2 functions anyway
// older than 7.x does not support sm 5.x
// older than 8.x does not have documentation archive online, no way to check if nvrtc support whatever we need
// older than 9.x is just a theoretical limit since we define 9.0 as the minimum required version
{
for (int minor = 20; minor >= 0; minor--)
{
@ -4920,6 +4920,16 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx)
backend_ctx->nvrtc_driver_version = nvrtc_driver_version;
if (nvrtc_driver_version < 9000)
{
event_log_error (hashcat_ctx, "Outdated NVIDIA NVRTC driver version '%d' detected!", nvrtc_driver_version);
event_log_warning (hashcat_ctx, "See hashcat.net for officially supported NVIDIA CUDA Toolkit versions.");
event_log_warning (hashcat_ctx, NULL);
return -1;
}
// cuda version
int cuda_driver_version = 0;
@ -4928,11 +4938,9 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx)
backend_ctx->cuda_driver_version = cuda_driver_version;
// some pre-check
if ((nvrtc_driver_version < 10000) || (cuda_driver_version < 10000))
if (cuda_driver_version < 9000)
{
event_log_error (hashcat_ctx, "Outdated NVIDIA CUDA Toolkit version '%d' detected!", cuda_driver_version);
event_log_error (hashcat_ctx, "Outdated NVIDIA CUDA driver version '%d' detected!", cuda_driver_version);
event_log_warning (hashcat_ctx, "See hashcat.net for officially supported NVIDIA CUDA Toolkit versions.");
event_log_warning (hashcat_ctx, NULL);
@ -5001,7 +5009,7 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx)
event_log_warning (hashcat_ctx, "* NVIDIA GPUs require this runtime and/or driver (both):");
event_log_warning (hashcat_ctx, " \"NVIDIA Driver\" (418.56 or later)");
event_log_warning (hashcat_ctx, " \"CUDA Toolkit\" (10.1 or later)");
event_log_warning (hashcat_ctx, " \"CUDA Toolkit\" (9.0 or later)");
event_log_warning (hashcat_ctx, NULL);
return -1;
@ -5283,7 +5291,7 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx)
event_log_warning (hashcat_ctx, "* NVIDIA GPUs require this runtime and/or driver (both):");
event_log_warning (hashcat_ctx, " \"NVIDIA Driver\" (418.56 or later)");
event_log_warning (hashcat_ctx, " \"CUDA Toolkit\" (10.1 or later)");
event_log_warning (hashcat_ctx, " \"CUDA Toolkit\" (9.0 or later)");
event_log_warning (hashcat_ctx, NULL);
return -1;

Loading…
Cancel
Save