projects
/
hashcat.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Workaround memory allocation limit from OpenCL by using multiple buffers for scrypt
[hashcat.git]
/
include
/
types.h
diff --git
a/include/types.h
b/include/types.h
index
305b982
..
02df8ea
100644
(file)
--- a/
include/types.h
+++ b/
include/types.h
@@
-6,6
+6,12
@@
#ifndef TYPES_H
#define TYPES_H
#ifndef TYPES_H
#define TYPES_H
+#ifdef _WIN
+#define EOL "\r\n"
+#else
+#define EOL "\n"
+#endif
+
typedef struct
{
uint salt_buf[16];
typedef struct
{
uint salt_buf[16];
@@
-26,8
+32,6
@@
typedef struct
uint scrypt_N;
uint scrypt_r;
uint scrypt_p;
uint scrypt_N;
uint scrypt_r;
uint scrypt_p;
- uint scrypt_tmto;
- uint scrypt_phy;
} salt_t;
} salt_t;
@@
-289,12
+293,6
@@
typedef struct
} win8phone_t;
} win8phone_t;
-typedef struct
-{
- uint P[256];
-
-} scrypt_tmp_t;
-
typedef struct
{
uint digest[4];
typedef struct
{
uint digest[4];
@@
-919,7
+917,7
@@
typedef struct
#define PW_MAX1 (PW_MAX + 1)
#define PW_DICTMAX 31
#define PW_DICTMAX1 (PW_DICTMAX + 1)
#define PW_MAX1 (PW_MAX + 1)
#define PW_DICTMAX 31
#define PW_DICTMAX1 (PW_DICTMAX + 1)
-#define PARAMCNT 32
+#define PARAMCNT 64
struct __hc_device_param
{
struct __hc_device_param
{
@@
-936,7
+934,6
@@
struct __hc_device_param
uint kernel_exec_timeout;
uint device_processors;
uint kernel_exec_timeout;
uint device_processors;
- uint device_processor_cores;
u64 device_maxmem_alloc;
u64 device_global_mem;
u32 device_maxclock_frequency;
u64 device_maxmem_alloc;
u64 device_global_mem;
u32 device_maxclock_frequency;
@@
-989,6
+986,12
@@
struct __hc_device_param
uint exec_pos;
double exec_ms[EXEC_CACHE];
uint exec_pos;
double exec_ms[EXEC_CACHE];
+ // workaround cpu spinning
+
+ double exec_us_prev1[EXPECTED_ITERATIONS];
+ double exec_us_prev2[EXPECTED_ITERATIONS];
+ double exec_us_prev3[EXPECTED_ITERATIONS];
+
// this is "current" speed
uint speed_pos;
// this is "current" speed
uint speed_pos;
@@
-1007,6
+1010,8
@@
struct __hc_device_param
bool opencl_v12;
bool opencl_v12;
+ double nvidia_spin_damp;
+
cl_uint device_vendor_id;
cl_uint platform_vendor_id;
cl_uint device_vendor_id;
cl_uint platform_vendor_id;
@@
-1059,7
+1064,10
@@
struct __hc_device_param
cl_mem d_tmps;
cl_mem d_hooks;
cl_mem d_result;
cl_mem d_tmps;
cl_mem d_hooks;
cl_mem d_result;
- cl_mem d_scryptV_buf;
+ cl_mem d_scryptV0_buf;
+ cl_mem d_scryptV1_buf;
+ cl_mem d_scryptV2_buf;
+ cl_mem d_scryptV3_buf;
cl_mem d_root_css_buf;
cl_mem d_markov_css_buf;
cl_mem d_root_css_buf;
cl_mem d_markov_css_buf;
@@
-1091,9
+1099,10
@@
typedef struct __hc_device_param hc_device_param_t;
#ifdef HAVE_HWMON
typedef struct
{
#ifdef HAVE_HWMON
typedef struct
{
- HM_ADAPTER_ADL adl;
- HM_ADAPTER_NVML nvml;
- HM_ADAPTER_NVAPI nvapi;
+ HM_ADAPTER_ADL adl;
+ HM_ADAPTER_NVML nvml;
+ HM_ADAPTER_NVAPI nvapi;
+ HM_ADAPTER_XNVCTRL xnvctrl;
int od_version;
int od_version;
@@
-1115,6
+1124,9
@@
typedef struct
hc_device_param_t *devices_param;
hc_device_param_t *devices_param;
+ uint shutdown_inner;
+ uint shutdown_outer;
+
/**
* workload specific
*/
/**
* workload specific
*/
@@
-1169,6
+1181,7
@@
typedef struct
void *hm_adl;
void *hm_nvml;
void *hm_nvapi;
void *hm_adl;
void *hm_nvml;
void *hm_nvapi;
+ void *hm_xnvctrl;
hm_attrs_t hm_device[DEVICES_MAX];
#endif
hm_attrs_t hm_device[DEVICES_MAX];
#endif
@@
-1192,6
+1205,9
@@
typedef struct
void *esalts_buf;
void *esalts_buf;
+ uint scrypt_tmp_size;
+ uint scrypt_tmto_final;
+
/**
* logging
*/
/**
* logging
*/
@@
-1246,7
+1262,6
@@
typedef struct
uint quiet;
uint force;
uint benchmark;
uint quiet;
uint force;
uint benchmark;
- uint benchmark_repeats;
uint runtime;
uint remove;
uint remove_timer;
uint runtime;
uint remove;
uint remove_timer;