mirror of
https://github.com/hashcat/hashcat.git
synced 2025-02-18 10:32:04 +00:00
Update unroll and unstable configuration for Intel OpenCL runtime after unroll whitelisting change
This commit is contained in:
parent
9980389f34
commit
cc3cb66f12
@ -124,6 +124,9 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY
|
|||||||
{
|
{
|
||||||
char *jit_build_options = NULL;
|
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, "-DDESCRYPT_SALT=%u", hashes->salts_buf[0].salt_buf[0] & 0xfff);
|
hc_asprintf (&jit_build_options, "-DDESCRYPT_SALT=%u", hashes->salts_buf[0].salt_buf[0] & 0xfff);
|
||||||
@ -132,6 +135,32 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY
|
|||||||
return jit_build_options;
|
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, "-DDESCRYPT_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, "-DDESCRYPT_SALT=%u -D _unroll", 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, "-DDESCRYPT_SALT=%u", hashes->salts_buf[0].salt_buf[0] & 0xfff);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len)
|
int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len)
|
||||||
{
|
{
|
||||||
u32 *digest = (u32 *) digest_buf;
|
u32 *digest = (u32 *) digest_buf;
|
||||||
|
@ -48,6 +48,37 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig,
|
|||||||
const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; }
|
const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; }
|
||||||
const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; }
|
const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; }
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// AMD-GPU-PRO
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ROCM
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u32 kernel_threads_max = 64; // performance only optimization
|
const u32 kernel_threads_max = 64; // performance only optimization
|
||||||
@ -212,7 +243,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -59,6 +59,37 @@ typedef struct pwsafe3_tmp
|
|||||||
|
|
||||||
static const char *SIGNATURE_PSAFE3 = "PWS3";
|
static const char *SIGNATURE_PSAFE3 = "PWS3";
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// NVIDIA GPU
|
||||||
|
if (device_param->opencl_device_vendor_id == VENDOR_ID_NV)
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ROCM
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u32 pw_max = PW_MAX;
|
const u32 pw_max = PW_MAX;
|
||||||
@ -185,7 +216,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -58,6 +58,25 @@ typedef struct pbkdf2_sha512_tmp
|
|||||||
|
|
||||||
} pbkdf2_sha512_tmp_t;
|
} pbkdf2_sha512_tmp_t;
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u64 esalt_size = (const u64) sizeof (cloudkey_t);
|
const u64 esalt_size = (const u64) sizeof (cloudkey_t);
|
||||||
@ -271,7 +290,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -44,6 +44,31 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig,
|
|||||||
|
|
||||||
static const char *SIGNATURE_RACF = "$racf$";
|
static const char *SIGNATURE_RACF = "$racf$";
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// AMD-GPU-PRO
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u32 pw_max = 8; // Underlaying DES max
|
const u32 pw_max = 8; // Underlaying DES max
|
||||||
@ -213,7 +238,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -64,6 +64,37 @@ typedef struct pdf
|
|||||||
|
|
||||||
static const char *SIGNATURE_PDF = "$pdf$";
|
static const char *SIGNATURE_PDF = "$pdf$";
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// NVIDIA GPU
|
||||||
|
if (device_param->opencl_device_vendor_id == VENDOR_ID_NV)
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ROCM
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u64 esalt_size = (const u64) sizeof (pdf_t);
|
const u64 esalt_size = (const u64) sizeof (pdf_t);
|
||||||
@ -345,7 +376,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -65,6 +65,37 @@ typedef struct pdf
|
|||||||
|
|
||||||
static const char *SIGNATURE_PDF = "$pdf$";
|
static const char *SIGNATURE_PDF = "$pdf$";
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// NVIDIA GPU
|
||||||
|
if (device_param->opencl_device_vendor_id == VENDOR_ID_NV)
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ROCM
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u64 esalt_size = (const u64) sizeof (pdf_t);
|
const u64 esalt_size = (const u64) sizeof (pdf_t);
|
||||||
@ -365,7 +396,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -88,6 +88,31 @@ static void md5_complete_no_limit (u32 digest[4], const u32 *plain, const u32 pl
|
|||||||
digest[3] = md5_ctx.h[3];
|
digest[3] = md5_ctx.h[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ROCM
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u64 esalt_size = (const u64) sizeof (pdf_t);
|
const u64 esalt_size = (const u64) sizeof (pdf_t);
|
||||||
@ -471,7 +496,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -43,6 +43,37 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig,
|
|||||||
const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; }
|
const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; }
|
||||||
const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; }
|
const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; }
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// AMD-GPU-PRO
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ROCM
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u32 kernel_threads_max = 64; // performance only optimization
|
const u32 kernel_threads_max = 64; // performance only optimization
|
||||||
@ -241,7 +272,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -58,6 +58,37 @@ typedef struct bsp
|
|||||||
|
|
||||||
} bsp_t;
|
} bsp_t;
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// NVIDIA GPU
|
||||||
|
if (device_param->opencl_device_vendor_id == VENDOR_ID_NV)
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ROCM
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u64 tmp_size = (const u64) sizeof (bsp_tmp_t);
|
const u64 tmp_size = (const u64) sizeof (bsp_tmp_t);
|
||||||
@ -226,7 +257,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
@ -49,6 +49,38 @@ typedef struct omt_sha256_tmp
|
|||||||
|
|
||||||
} omt_sha256_tmp_t;
|
} omt_sha256_tmp_t;
|
||||||
|
|
||||||
|
char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||||
|
{
|
||||||
|
char *jit_build_options = NULL;
|
||||||
|
|
||||||
|
// Extra treatment for Apple systems
|
||||||
|
if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE)
|
||||||
|
{
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intel CPU
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// NVIDIA GPU
|
||||||
|
if (device_param->opencl_device_vendor_id == VENDOR_ID_NV)
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ROCM
|
||||||
|
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true))
|
||||||
|
{
|
||||||
|
hc_asprintf (&jit_build_options, "-D _unroll");
|
||||||
|
}
|
||||||
|
|
||||||
|
return jit_build_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const u64 tmp_size = (const u64) sizeof (omt_sha256_tmp_t);
|
const u64 tmp_size = (const u64) sizeof (omt_sha256_tmp_t);
|
||||||
@ -184,7 +216,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_hook23 = MODULE_DEFAULT;
|
module_ctx->module_hook23 = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
module_ctx->module_hook_salt_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_hook_size = MODULE_DEFAULT;
|
module_ctx->module_hook_size = MODULE_DEFAULT;
|
||||||
module_ctx->module_jit_build_options = MODULE_DEFAULT;
|
module_ctx->module_jit_build_options = module_jit_build_options;
|
||||||
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
module_ctx->module_jit_cache_disable = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_max = MODULE_DEFAULT;
|
||||||
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
module_ctx->module_kernel_accel_min = MODULE_DEFAULT;
|
||||||
|
Loading…
Reference in New Issue
Block a user