diff --git a/docs/changes.txt b/docs/changes.txt index 77e087ea7..9d1a7b8b0 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -34,6 +34,20 @@ - Fixed Unit Test salt-max in case of optimized kernel, with hash-type 22 and 23 - Fixed Unit Test false negative if there are spaces in the filesystem path to hashcat - Fixed --hash-info example password output: force uppercase if OPTS_TYPE_PT_UPPER is set +- Hash-Mode 9700: set native_threads to 32 with Apple GPU's +- Hash-Mode 9710: set native_threads to 32 with Apple GPU's +- Hash-Mode 9720: set native_threads to 32 with Apple GPU's +- Hash-Mode 9800: set native_threads to 32 with Apple GPU's +- Hash-Mode 9810: set native_threads to 32 with Apple GPU's +- Hash-Mode 9820: set native_threads to 32 with Apple GPU's +- Hash-Mode 10400: set native_threads to 32 with Apple GPU's +- Hash-Mode 10410: set native_threads to 32 with Apple GPU's +- Hash-Mode 10420: set native_threads to 32 with Apple GPU's +- Hash-Mode 18200: set native_threads to 32 with Apple GPU's +- Hash-Mode 25400: set native_threads to 32 with Apple GPU's +- Hash-Mode 7500: set native_threads to 32 with Apple GPU's +- Hash-Mode 10500: set native_threads to 32 with Apple GPU's +- Hash-Mode 13100: set native_threads to 32 with Apple GPU's ## ## Technical diff --git a/src/modules/module_07500.c b/src/modules/module_07500.c index dc12ce9de..7a7ce18e5 100644 --- a/src/modules/module_07500.c +++ b/src/modules/module_07500.c @@ -66,6 +66,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -74,6 +80,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_09700.c b/src/modules/module_09700.c index 8e5f64b21..b951d6f92 100644 --- a/src/modules/module_09700.c +++ b/src/modules/module_09700.c @@ -69,6 +69,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -77,6 +83,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_09710.c b/src/modules/module_09710.c index 20353e48c..434e8521a 100644 --- a/src/modules/module_09710.c +++ b/src/modules/module_09710.c @@ -69,6 +69,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -77,6 +83,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_09720.c b/src/modules/module_09720.c index fd957a024..e859fa7fe 100644 --- a/src/modules/module_09720.c +++ b/src/modules/module_09720.c @@ -70,6 +70,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -78,6 +84,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_09800.c b/src/modules/module_09800.c index f76547a1f..ef137ac8a 100644 --- a/src/modules/module_09800.c +++ b/src/modules/module_09800.c @@ -71,6 +71,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -79,6 +85,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_09810.c b/src/modules/module_09810.c index 4fb41a61d..861cf9595 100644 --- a/src/modules/module_09810.c +++ b/src/modules/module_09810.c @@ -70,6 +70,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -78,6 +84,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_09820.c b/src/modules/module_09820.c index d4782cac7..3e12913c7 100644 --- a/src/modules/module_09820.c +++ b/src/modules/module_09820.c @@ -72,6 +72,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -80,6 +86,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_10400.c b/src/modules/module_10400.c index 2cfda4397..7c86922e2 100644 --- a/src/modules/module_10400.c +++ b/src/modules/module_10400.c @@ -76,6 +76,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -84,6 +90,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_10410.c b/src/modules/module_10410.c index 02c11f4a8..cc424d865 100644 --- a/src/modules/module_10410.c +++ b/src/modules/module_10410.c @@ -77,6 +77,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -85,6 +91,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_10420.c b/src/modules/module_10420.c index 5d5779c4e..263783236 100644 --- a/src/modules/module_10420.c +++ b/src/modules/module_10420.c @@ -76,6 +76,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -84,6 +90,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_10500.c b/src/modules/module_10500.c index beaf5e8fd..70d7ee5a8 100644 --- a/src/modules/module_10500.c +++ b/src/modules/module_10500.c @@ -100,6 +100,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -108,6 +114,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_13100.c b/src/modules/module_13100.c index 498bf058a..23bec5483 100644 --- a/src/modules/module_13100.c +++ b/src/modules/module_13100.c @@ -64,6 +64,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -72,6 +78,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_18200.c b/src/modules/module_18200.c index 5db972584..85d85b946 100644 --- a/src/modules/module_18200.c +++ b/src/modules/module_18200.c @@ -64,6 +64,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -72,6 +78,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads); diff --git a/src/modules/module_25400.c b/src/modules/module_25400.c index 026302c5f..7f7e1641e 100644 --- a/src/modules/module_25400.c +++ b/src/modules/module_25400.c @@ -104,6 +104,12 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY } else if (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU) { + #if defined (__APPLE__) + + native_threads = 32; + + #else + if (device_param->device_local_mem_size < 49152) { native_threads = MIN (device_param->kernel_preferred_wgs_multiple, 32); // We can't just set 32, because Intel GPU need 8 @@ -112,6 +118,8 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { native_threads = device_param->kernel_preferred_wgs_multiple; } + + #endif } hc_asprintf (&jit_build_options, "-D FIXED_LOCAL_SIZE=%u -D _unroll", native_threads);