I'm trying to run hashcat on a MacBook Pro.
Running hashcat -I
to check the devices' informations yields:
hashcat (v6.2.5-38-g8b61f60e8) starting in backend information mode
OpenCL Info:
============
OpenCL Platform ID #1
Vendor..: Apple
Name....: Apple
Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)
Backend Device ID #1
Type...........: CPU
Vendor.ID......: 8
Vendor.........: Intel
Name...........: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Version........: OpenCL 1.2
Processor(s)...: 12
Clock..........: 2600
Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)
Memory.Free....: 8160 MB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 1.1
Backend Device ID #2
Type...........: GPU
Vendor.ID......: 8
Vendor.........: Intel Inc.
Name...........: Intel(R) UHD Graphics 630
Version........: OpenCL 1.2
Processor(s)...: 24
Clock..........: 1150
Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)
Memory.Free....: 704 MB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 1.2(Oct 12 2021 18:42:39)
Backend Device ID #3
Type...........: GPU
Vendor.ID......: 1
Vendor.........: AMD
Name...........: AMD Radeon Pro 560X Compute Engine
Version........: OpenCL 1.2
Processor(s)...: 16
Clock..........: 300
Memory.Total...: 4096 MB (limited to 1024 MB allocatable in one block)
Memory.Free....: 3968 MB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 1.2 (Oct 12 2021 18:37:05)
Hashcat is correctly recognizing all three devices (1 CPU + 2 GPUs) and showing that the latest version of the OpenCL driver is installed. If I run it in benchmark mode, it correctly displays all three devices as well:
hashcat -b
hashcat (v6.2.5-38-g8b61f60e8) 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.
* Device #2: Apple's OpenCL drivers (GPU) are known to be unreliable.
You have been warned.
* Device #3: Apple's OpenCL drivers (GPU) are known to be unreliable.
You have been warned.
OpenCL API (OpenCL 1.2 (Aug 11 2021 00:46:43)) - Platform #1 [Apple]
====================================================================
* Device #1: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz, 8160/16384 MB (2048 MB allocatable), 12MCU
* Device #2: Intel(R) UHD Graphics 630, 704/1536 MB (192 MB allocatable), 24MCU
* Device #3: AMD Radeon Pro 560X Compute Engine, 3968/4096 MB (1024 MB allocatable), 16MCU
Benchmark relevant options:
===========================
* --opencl-device-types=1,2,3
* --optimized-kernel-enable
However, it only makes use of the CPU. If I try to force it to use device #2, (using the option -D 2
) it displays the following message:
* Device #2: Not enough allocatable device memory for this attack.
And if I try to force it to use the second GPU (device #3), it prompts:
No devices found/left.
Even if the device was correctly recognized before.
What could be causing this problem?