Closed VadimMuhtarov closed 2 years ago
Looks like Metal has only been enabled for Apple silicon with its multiple processors. If you want to enable it on any Metal supported GPU, you need to edit this line in src/backend.c
// check if we need skip device
if (device_param->device_processors == 1) device_param->skipped = true;
and change it to:
if (device_param->device_processors == 1) device_param->skipped = false;
Here is what I get on my Intel macbook pro with this change:
hashcat -b --backend-ignore-opencl hashcat (v6.2.6) starting in benchmark mode
Benchmarking uses hand-optimized kernel code by default. You can use it in your cracking session by setting the -O option. Note: Using optimized kernel code limits the maximum supported password length. To disable the optimized kernel code in benchmark mode, use the -w option.
Speed.#1.........: 413.6 MH/s (79.42ms) @ Accel:2048 Loops:512 Thr:32 Vec:1
Speed.#1.........: 145.0 MH/s (55.78ms) @ Accel:256 Loops:256 Thr:128 Vec:1
Speed.#1.........: 61307.4 kH/s (66.80ms) @ Accel:1024 Loops:256 Thr:16 Vec:1
Speed.#1.........: 16102.9 kH/s (63.41ms) @ Accel:2048 Loops:64 Thr:8 Vec:1
Speed.#1.........: 6763 H/s (74.02ms) @ Accel:64 Loops:256 Thr:128 Vec:1
Speed.#1.........: 652.8 MH/s (47.69ms) @ Accel:2048 Loops:512 Thr:32 Vec:1
Speed.#1.........: 320.0 MH/s (83.89ms) @ Accel:256 Loops:1024 Thr:128 Vec:1
Speed.#1.........: 413.4 MH/s (78.42ms) @ Accel:2048 Loops:512 Thr:32 Vec:1
Speed.#1.........: 31332.5 kH/s (64.28ms) @ Accel:256 Loops:64 Thr:128 Vec:1
Now it works on my new M2 Mac. I think we can close it.
I get clCompileProgram(): CL_BUILD_PROGRAM_FAILURE with default settings and No devices found/left. with --backend-ignore-opencl flag when trying to run the benchmark. Also I tried all combinations with -D and -d, used --force flag, recompiled Hashcat from sources, nothing helped.
hashcat v6.2.6 macOS Catalina 10.15.7 MBP mid 2012