Autotune: 200 loops should be fine for a start
authorjsteube <jens.steube@gmail.com>
Sun, 14 Feb 2016 19:07:16 +0000 (20:07 +0100)
committerjsteube <jens.steube@gmail.com>
Sun, 14 Feb 2016 19:07:16 +0000 (20:07 +0100)
src/oclHashcat.c

index aba32ab..32c7a11 100644 (file)
@@ -2833,11 +2833,11 @@ static void autotune (hc_device_param_t *device_param)
 
   u32 kernel_loops_tmp;
 
-  for (kernel_loops_tmp = kernel_loops_max; kernel_loops_tmp >= kernel_loops_min; kernel_loops_tmp >>= 1)
+  for (kernel_loops_tmp = MIN (kernel_loops_max, 200); kernel_loops_tmp >= kernel_loops_min; kernel_loops_tmp >>= 1)
   {
     const double exec_ms = try_run (device_param, kernel_accel_min, kernel_loops_tmp, 1);
 
-    if ((exec_ms * 3) < target_ms) break;
+    if (exec_ms < target_ms) break;
 
     if (kernel_loops_tmp == kernel_loops_min) break;
   }