From 453ec4e7d9bcb56d92ff77be829239669ed39eed Mon Sep 17 00:00:00 2001 From: Jens Steube Date: Sat, 3 Dec 2022 16:48:44 +0100 Subject: [PATCH] DEScrypt Kernel (1500): Improved performance from 950MH/s to 2200MH/s (RX6900XT) on HIP backend by workaround invalid compile time optimizer --- OpenCL/m01500_a3-pure.cl | 14 +++++++++++++ docs/changes.txt | 6 ++++++ src/modules/module_01500.c | 41 ++------------------------------------ 3 files changed, 22 insertions(+), 39 deletions(-) diff --git a/OpenCL/m01500_a3-pure.cl b/OpenCL/m01500_a3-pure.cl index 6d32ec57d..59606e47f 100644 --- a/OpenCL/m01500_a3-pure.cl +++ b/OpenCL/m01500_a3-pure.cl @@ -1913,6 +1913,12 @@ KERNEL_FQ void m01500_tm (KERN_ATTR_TM) } } +#ifndef DESCRYPT_SALT + +KERNEL_FQ void m01500_sxx (KERN_ATTR_BITSLICE ()) +{ +} + KERNEL_FQ void m01500_mxx (KERN_ATTR_BITSLICE ()) { /** @@ -2286,6 +2292,8 @@ KERNEL_FQ void m01500_mxx (KERN_ATTR_BITSLICE ()) } } +#else + KERNEL_FQ void m01500_sxx (KERN_ATTR_BITSLICE ()) { /** @@ -2679,3 +2687,9 @@ KERNEL_FQ void m01500_sxx (KERN_ATTR_BITSLICE ()) #endif } } + +KERNEL_FQ void m01500_mxx (KERN_ATTR_BITSLICE ()) +{ +} + +#endif diff --git a/docs/changes.txt b/docs/changes.txt index ce0e6b551..ed47bd26b 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -18,6 +18,12 @@ - Added hash-mode: bcrypt(sha256($pass)) - Added hash-mode: md5(md5($salt).md5(md5($pass))) +## +## Performance +## + +- DEScrypt Kernel (1500): Improved performance from 950MH/s to 2200MH/s (RX6900XT) on HIP backend by workaround invalid compile time optimizer + ## ## Bugs ## diff --git a/src/modules/module_01500.c b/src/modules/module_01500.c index 134bcdd2f..b939b0a10 100644 --- a/src/modules/module_01500.c +++ b/src/modules/module_01500.c @@ -137,46 +137,9 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY { char *jit_build_options = NULL; - // Extra treatment for Apple systems - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) + if ((user_options->attack_mode == ATTACK_MODE_BF) && (hashes->salts_cnt == 1) && (user_options->slow_candidates == false)) { - if ((user_options->attack_mode == ATTACK_MODE_BF) && (hashes->salts_cnt == 1) && (user_options->slow_candidates == false)) - { - hc_asprintf (&jit_build_options, "-D DESCRYPT_SALT=%u", hashes->salts_buf[0].salt_buf[0] & 0xfff); - } - - return jit_build_options; - } - - if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) - { - if ((user_options->attack_mode == ATTACK_MODE_BF) && (hashes->salts_cnt == 1) && (user_options->slow_candidates == false)) - { - hc_asprintf (&jit_build_options, "-D DESCRYPT_SALT=%u -D _unroll", hashes->salts_buf[0].salt_buf[0] & 0xfff); - } - } - // ROCM - else if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) - { - if ((user_options->attack_mode == ATTACK_MODE_BF) && (hashes->salts_cnt == 1) && (user_options->slow_candidates == false)) - { - hc_asprintf (&jit_build_options, "-D DESCRYPT_SALT=%u -D _unroll", hashes->salts_buf[0].salt_buf[0] & 0xfff); - } - } - // ROCM - else if (device_param->opencl_device_vendor_id == VENDOR_ID_AMD_USE_HIP) - { - if ((user_options->attack_mode == ATTACK_MODE_BF) && (hashes->salts_cnt == 1) && (user_options->slow_candidates == false)) - { - hc_asprintf (&jit_build_options, "-D DESCRYPT_SALT=%u", hashes->salts_buf[0].salt_buf[0] & 0xfff); - } - } - else - { - if ((user_options->attack_mode == ATTACK_MODE_BF) && (hashes->salts_cnt == 1) && (user_options->slow_candidates == false)) - { - hc_asprintf (&jit_build_options, "-D DESCRYPT_SALT=%u", hashes->salts_buf[0].salt_buf[0] & 0xfff); - } + hc_asprintf (&jit_build_options, "-D DESCRYPT_SALT=%u -D _unroll", hashes->salts_buf[0].salt_buf[0] & 0xfff); } return jit_build_options;