diff --git a/docs/changes.txt b/docs/changes.txt index 160004738..787f034a2 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -162,6 +162,7 @@ - Kernel Compile: Removed -cl-std= from all kernel build options since we're compatible to all OpenCL versions - OpenCL Kernels: Fix OpenCL compiler warning on double precision constants - OpenCL Kernels: Moved "gpu_decompress", "gpu_memset" and "gpu_atinit" into shared.cl in order to reduce compile time +- OpenCL Options: Set --spin-damp to 0 (disabled) by default. With the CUDA backend this workaround became deprecated - OpenCL Options: Removed --opencl-platforms filter in order to force backend device numbers to stay constant - Parsers: switched from strtok() to strtok_r() for thread safety - Requirements: Add new requirement for NVIDIA GPU: CUDA Toolkit (9.0 or later) diff --git a/include/types.h b/include/types.h index 5ae4f2b0e..f59655f60 100644 --- a/include/types.h +++ b/include/types.h @@ -638,7 +638,7 @@ typedef enum user_options_defaults SKIP = 0, SLOW_CANDIDATES = false, SPEED_ONLY = false, - SPIN_DAMP = 8, + SPIN_DAMP = 0, STATUS = false, STATUS_JSON = false, STATUS_TIMER = 10, diff --git a/src/backend.c b/src/backend.c index 1989359a9..1622b652e 100644 --- a/src/backend.c +++ b/src/backend.c @@ -3661,14 +3661,14 @@ int run_kernel (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param, con const u32 iterationm = iteration % EXPECTED_ITERATIONS; - cl_int opencl_event_status; + if (device_param->spin_damp > 0) + { + cl_int opencl_event_status; - size_t param_value_size_ret; + size_t param_value_size_ret; - if (hc_clGetEventInfo (hashcat_ctx, opencl_event, CL_EVENT_COMMAND_EXECUTION_STATUS, sizeof (opencl_event_status), &opencl_event_status, ¶m_value_size_ret) == -1) return -1; + if (hc_clGetEventInfo (hashcat_ctx, opencl_event, CL_EVENT_COMMAND_EXECUTION_STATUS, sizeof (opencl_event_status), &opencl_event_status, ¶m_value_size_ret) == -1) return -1; - if (device_param->spin_damp > 0) - { double spin_total = device_param->spin_damp; while (opencl_event_status != CL_COMPLETE) diff --git a/src/usage.c b/src/usage.c index 6f5df8c74..0f30e2109 100644 --- a/src/usage.c +++ b/src/usage.c @@ -101,7 +101,7 @@ static const char *const USAGE_BIG_PRE_HASHMODES[] = " -u, --kernel-loops | Num | Manual workload tuning, set innerloop step size to X | -u 256", " -T, --kernel-threads | Num | Manual workload tuning, set thread count to X | -T 64", " --backend-vector-width | Num | Manually override backend vector-width to X | --backend-vector=4", - " --spin-damp | Num | Use CPU for device synchronization, in percent | --spin-damp=50", + " --spin-damp | Num | Use CPU for device synchronization, in percent | --spin-damp=10", " --hwmon-disable | | Disable temperature and fanspeed reads and triggers |", " --hwmon-temp-abort | Num | Abort if temperature reaches X degrees Celsius | --hwmon-temp-abort=100", " --scrypt-tmto | Num | Manually override TMTO value for scrypt to X | --scrypt-tmto=3",