Merge branch 'master' into metal_prepare_kernelIncludes_v2

pull/3140/head
Gabriele Gristina 2 years ago committed by GitHub
commit cd363b32f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,14 +5,15 @@
##
- Added hash-mode: Exodus Desktop Wallet (scrypt)
- Added hash-mode: PostgreSQL SCRAM-SHA-256
- Added hash-mode: Teamspeak 3 (channel hash)
- Added hash-mode: sha256($salt.sha256_bin($pass))
- Added hash-mode: PostgreSQL SCRAM-SHA-256
##
## Features
##
- Added support to building Universal macOS binary on Apple Silicon
- Added support to use --debug-mode in attack-mode 9 (Association Attack)
- Added guess data to --status-json output
- Added hex format for --separator option
@ -21,59 +22,49 @@
## Bugs
##
- Fixed bug on benchmark engine, avoid skipping all devices in case of "kernel create error" in one of them
- Fixed bug on benchmark engine, from now it will not stop at the first error detected
- Fixed false negative on Unit Test in case of out-of-memory with grep in single mode
- Fixed false negative on Unit Test with hash-type 25400
- Fixed functional error when nonce-error-corrections that were set on the command line in hash-mode 22000/22001 were not accepted
- Fixed handling of password candidates that are shorter than the minimum password length in Association Attack
- Fixed --hash-info example password output: force uppercase if OPTS_TYPE_PT_UPPER is set
- Fixed method of how OPTS_TYPE_AUX* kernels are called in an association attack, for example in WPA/WPA2 kernel
- Fixed missing option flag OPTS_TYPE_SUGGEST_KG for hash-mode 11600 to inform the user about possible false positives in this mode
- Fixed undefined function call to hc_byte_perm_S() in hash-mode 17010 on non-CUDA compute devices
- Fixed wordlist handling in -m 3000 when candidate passwords use the $HEX[...] syntax
- Fixed false negative on Unit Test with hash-type 25400
- Fixed bug on benchmark engine, from now it will not stop at the first error detected
- Fixed false negative on Unit Test in case of out-of-memory with grep in single mode
- Fixed Unit Test early exit on luks test file download/extract failure
- 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
- Fixed Unit Test salt-max in case of optimized kernel, with hash-type 22 and 23
- Fixed wordlist handling in -m 3000 when candidate passwords use the $HEX[...] syntax
##
## Technical
##
- Association Attack: Enable module specific pw_min and pw_max settings to avoid false positives in -a 9 attack-mode
- Autotune: Added error handling. By default skipping device on error, with --force using accel/loops/threads min values instead
- Backend: with kernel build options, switch from -I to -D INCLUDE_PATH, in order to support Apple Metal runtime
- Backend Info: Added local memory size to output
- CUDA Backend: moved functions to ext_cuda.c/ext_nvrtc.c and includes to ext_cuda.h/ext_nvrtc.h
- Hash Info: show more information (Updated Hash-Format. Added Autodetect, Self-Test, Potfile and Plaintext encoding)
- HIP Backend: moved functions to ext_hip.c/ext_hiprtc.c and includes to ext_hip.h/ext_hiprtc.h
- Kernels: Refactored standard kernel declaration to use a structure holding u32/u64 attributes to reduce the number of attributes
- Tuning Database: Added a warning if a module implements module_extra_tuningdb_block but the installed computing device is not found
- Usage Screen: On windows console, wait for any keypress if usage_mini_print() is used
- User Options: Add new module function module_hash_decode_postprocess() to override hash specific configurations from command line
- Kernels: Refactored standard kernel includes in order to support Apple Metal runtime
- Makefile: updated MACOSX_DEPLOYMENT_TARGET to 10.15 and removed OpenCL framework from LFLAGS_NATIVE on MacOS
- OpenCL Backend: added workaround to make optimized kernels work on Apple Silicon
- OpenCL Backend: moved functions to ext_OpenCL.c and includes to ext_OpenCL.h
- OpenCL Kernel: Set native_threads to 32 on Apple GPU's for various hash-modes
- OpenCL Runtime: Add some unstable warnings detected on macOS
- OpenCL Runtime: Added support to use Apple Silicon compute devices
- OpenCL Runtime: Set default device-type to GPU with Apple Silicon compute devices
- Unit tests: Updated test.sh to set default device-type to CPU with Apple Intel and added -f (--force) option
- OpenCL Backend: moved functions to ext_OpenCL.c and includes to ext_OpenCL.h
- HIP Backend: moved functions to ext_hip.c/ext_hiprtc.c and includes to ext_hip.h/ext_hiprtc.h
- CUDA Backend: moved functions to ext_cuda.c/ext_nvrtc.c and includes to ext_cuda.h/ext_nvrtc.h
- Autotune: Added error handling. By default skipping device on error, with --force using accel/loops/threads min values instead
- Makefile: updated MACOSX_DEPLOYMENT_TARGET to 10.15 and removed OpenCL framework from LFLAGS_NATIVE on MacOS
- Status code: updated negative status code (added kernel create failure and resync)
- Status code: updated negative status code, usefull in Unit tests engine (test.sh)
- Tuning Database: Added a warning if a module implements module_extra_tuningdb_block but the installed computing device is not found
- Unit tests: added -r (--runtime) option
- Unit tests: handle negative status code, skip deprecated hash-types, skip hash-types with known perl modules issues, updated output
- Hash Info: show more information (Updated Hash-Format. Added Autodetect, Self-Test, Potfile and Plaintext encoding)
- Backend: with kernel build options, switch from -I to -D INCLUDE_PATH, in order to support Apple Metal runtime
- Kernels: Refactored standard kernel includes in order to support Apple Metal runtime
- Unit tests: Updated test.sh to set default device-type to CPU with Apple Intel and added -f (--force) option
- Usage Screen: On windows console, wait for any keypress if usage_mini_print() is used
- User Options: Add new module function module_hash_decode_postprocess() to override hash specific configurations from command line
* changes v6.2.4 -> v6.2.5

@ -23,6 +23,7 @@ Gabriele "matrix" Gristina <matrix@hashcat.net> (@gm4tr1x)
* OpenCL Info feature
* Apple macOS port
* Apple Silicon support
* Universal binary on Apple Silicon
* Hardware monitor initial code base and maintenance
* Test suite initial code base and maintenance
* Makefile initial code base

@ -2,9 +2,10 @@ status codes on exit:
=====================
-10 = autotune failure
-8 = mixed backend errors (combo of -3, -4, -5, -6, -7 errors type)
-7 = backend error: Invalid module_extra_buffer_size
-6 = backend error: Too many compute units to keep minimum kernel accel limit
-9 = mixed backend errors (combo of -3, -4, -5, -6, -7 errors type)
-8 = backend error: Invalid module_extra_buffer_size
-7 = backend error: Too many compute units to keep minimum kernel accel limit
-6 = backend error: kernel create error
-5 = backend error: main kernel build error
-4 = backend error: memory hit
-3 = backend error: skipping hash-type due to module_unstable_warning settings

@ -260,6 +260,13 @@ GeForce_MX110 ALIAS_nv_sm50_or_higher
GeForce_MX130 ALIAS_nv_sm50_or_higher
GeForce_MX150 ALIAS_nv_sm50_or_higher
GeForce_GTX_1650 ALIAS_nv_sm50_or_higher
GeForce_GTX_1650_SUPER ALIAS_nv_sm50_or_higher
GeForce_GTX_1650_Ti ALIAS_nv_sm50_or_higher
GeForce_GTX_1660 ALIAS_nv_sm50_or_higher
GeForce_GTX_1660_SUPER ALIAS_nv_sm50_or_higher
GeForce_GTX_1660_Ti ALIAS_nv_sm50_or_higher
GeForce_RTX_2060 ALIAS_nv_sm50_or_higher
GeForce_RTX_2060_SUPER ALIAS_nv_sm50_or_higher
GeForce_RTX_2070 ALIAS_nv_sm50_or_higher
@ -268,12 +275,16 @@ GeForce_RTX_2080 ALIAS_nv_sm50_or_higher
GeForce_RTX_2080_SUPER ALIAS_nv_sm50_or_higher
GeForce_RTX_2080_Ti ALIAS_nv_sm50_or_higher
GeForce_RTX_3050 ALIAS_nv_sm50_or_higher
GeForce_RTX_3050_Ti ALIAS_nv_sm50_or_higher
GeForce_RTX_3060 ALIAS_nv_sm50_or_higher
GeForce_RTX_3060_Ti ALIAS_nv_sm50_or_higher
GeForce_RTX_3070 ALIAS_nv_sm50_or_higher
GeForce_RTX_3070_Ti ALIAS_nv_sm50_or_higher
GeForce_RTX_3080 ALIAS_nv_sm50_or_higher
GeForce_RTX_3080_Ti ALIAS_nv_sm50_or_higher
GeForce_RTX_3090 ALIAS_nv_sm50_or_higher
GeForce_RTX_3090_Ti ALIAS_nv_sm50_or_higher
##
## Unmapped GPU

@ -1699,6 +1699,7 @@ typedef struct backend_ctx
bool memory_hit_warning;
bool runtime_skip_warning;
bool kernel_build_warning;
bool kernel_create_warning;
bool kernel_accel_warnings;
bool extra_size_warning;
bool mixed_warnings;

@ -36,7 +36,7 @@ $(error "! Your Operating System ($(UNAME)) is not supported by this Makefile")
endif
ifeq ($(DEBUG),1)
$(warning "## Detected Operating System : $(UNAME)")
$(info "## Detected Operating System : $(UNAME)")
endif
##
@ -76,6 +76,7 @@ AR := /usr/bin/ar
SED := /usr/bin/sed
SED_IN_PLACE := -i ""
DARWIN_VERSION := $(shell uname -r | cut -d. -f1)
IS_APPLE_SILICON := $(shell lipo /bin/zsh -verify_arch arm64e && echo 1 || echo 0)
endif
ifneq (,$(filter $(UNAME),FreeBSD NetBSD))
@ -333,6 +334,16 @@ LFLAGS_NATIVE := $(LFLAGS)
LFLAGS_NATIVE += -framework IOKit
LFLAGS_NATIVE += -lpthread
LFLAGS_NATIVE += -liconv
ifeq ($(IS_APPLE_SILICON),1)
CFLAGS_NATIVE += -arch arm64
CFLAGS_NATIVE += -arch x86_64
ifeq ($(SHARED),1)
LFLAGS_NATIVE += -arch arm64
LFLAGS_NATIVE += -arch x86_64
endif
endif
endif # Darwin
ifeq ($(UNAME),CYGWIN)

File diff suppressed because it is too large Load Diff

@ -1811,9 +1811,10 @@ int hashcat_session_execute (hashcat_ctx_t *hashcat_ctx)
if (backend_ctx->runtime_skip_warning == true) rc_final = -3;
if (backend_ctx->memory_hit_warning == true) rc_final = -4;
if (backend_ctx->kernel_build_warning == true) rc_final = -5;
if (backend_ctx->kernel_accel_warnings == true) rc_final = -6;
if (backend_ctx->extra_size_warning == true) rc_final = -7;
if (backend_ctx->mixed_warnings == true) rc_final = -8;
if (backend_ctx->kernel_create_warning == true) rc_final = -6;
if (backend_ctx->kernel_accel_warnings == true) rc_final = -7;
if (backend_ctx->extra_size_warning == true) rc_final = -8;
if (backend_ctx->mixed_warnings == true) rc_final = -9;
}
// special case for --stdout

@ -81,6 +81,17 @@ typedef struct pdf17l8_tmp
static const char *SIGNATURE_PDF = "$pdf$";
static const int ROUNDS_PDF17L8 = 64;
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (or never-end with pure kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
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);
@ -390,6 +401,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = module_tmp_size;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -43,6 +43,17 @@ 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_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; }
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (pure/optimized kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
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;
@ -203,6 +214,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = MODULE_DEFAULT;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -43,6 +43,17 @@ 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_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; }
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (pure/optimized kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
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;
@ -230,6 +241,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = MODULE_DEFAULT;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -43,6 +43,17 @@ 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_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; }
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (pure/optimized kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
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;
@ -230,6 +241,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = MODULE_DEFAULT;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -43,6 +43,17 @@ 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_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; }
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (pure/optimized kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
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;
@ -227,6 +238,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = MODULE_DEFAULT;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -43,6 +43,17 @@ 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_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; }
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (pure/optimized kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
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;
@ -254,6 +265,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = MODULE_DEFAULT;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -43,6 +43,17 @@ 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_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; }
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (pure/optimized kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
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;
@ -254,6 +265,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = MODULE_DEFAULT;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -84,6 +84,17 @@ typedef struct vc
static const int ROUNDS_VERACRYPT_500000 = 500000;
static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f;
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService never-end (pure/optimized kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz)
{
const vc_tmp_t *vc_tmp = (const vc_tmp_t *) tmps;
@ -352,6 +363,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = module_tmp_size;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -105,6 +105,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE
}
}
// AppleM1, OpenCL, MTLCompilerService never-end
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}

@ -180,6 +180,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE
return true;
}
// AppleM1, OpenCL, MTLCompilerService never-end
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}

@ -180,6 +180,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE
return true;
}
// AppleM1, OpenCL, MTLCompilerService never-end
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}

@ -180,6 +180,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE
return true;
}
// AppleM1, OpenCL, MTLCompilerService never-end
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}

@ -62,6 +62,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE
{
return true;
}
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (pure/optimized kernel)
if ((device_param->opencl_device_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
}
return false;

@ -55,6 +55,17 @@ typedef struct web2py_sha512_tmp
} web2py_sha512_tmp_t;
bool module_unstable_warning (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 hc_device_param_t *device_param)
{
// AppleM1, OpenCL, MTLCompilerService, createKernel: newComputePipelineState failed (pure/optimized kernel)
if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
return false;
}
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 (web2py_sha512_tmp_t);
@ -228,6 +239,6 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_st_hash = module_st_hash;
module_ctx->module_st_pass = module_st_pass;
module_ctx->module_tmp_size = module_tmp_size;
module_ctx->module_unstable_warning = MODULE_DEFAULT;
module_ctx->module_unstable_warning = module_unstable_warning;
module_ctx->module_warmup_disable = MODULE_DEFAULT;
}

@ -95,6 +95,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE
{
return true;
}
// AppleM1, OpenCL, MTLCompilerService never-end (pure/optimized kernel)
if ((device_param->opencl_device_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU))
{
return true;
}
}
// amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy)

Loading…
Cancel
Save