Choosing specific Metal GPU to use OSX - taconugget - 10-19-2022
I have an intel mac with both AMD 5700XT and 6900XT. When trying to run hashcat with Metal drivers I cant specify which GPU to use. It will use all available no matter what I do.
Code: hashcat -I
hashcat (v6.2.6-54-g13f427ff5+) starting in backend information mode
Metal Info:
===========
Metal.Version.: 263.8
Backend Device ID #1
Type...........: GPU
Vendor.ID......: 2
Vendor.........: Apple
Name...........: AMD Radeon RX 5700 XT
Processor(s)...: 1
Clock..........: N/A
Memory.Total...: 8176 MB (limited to 3584 MB allocatable in one block)
Memory.Free....: 8064 MB
Local.Memory...: 32 KB
Phys.Location..: connected via an external interface (port 2)
Feature.Set....: macOS GPU Family 2 v1
Registry.ID....: 21743
Max.TX.Rate....: 40000000 MB/sec
GPU.Properties.: headless 0, low-power 0, removable 1
Backend Device ID #2
Type...........: GPU
Vendor.ID......: 2
Vendor.........: Apple
Name...........: AMD Radeon RX 6900 XT
Processor(s)...: 1
Clock..........: N/A
Memory.Total...: 16368 MB (limited to 3584 MB allocatable in one block)
Memory.Free....: 16256 MB
Local.Memory...: 32 KB
Phys.Location..: built-in
Feature.Set....: macOS GPU Family 2 v1
Registry.ID....: 1733
Max.TX.Rate....: N/A
GPU.Properties.: headless 0, low-power 0, removable 0
OpenCL Info:
============
OpenCL Platform ID #1
Vendor..: Apple
Name....: Apple
Version.: OpenCL 1.2 (Aug 8 2022 21:29:33)
Backend Device ID #3
Type...........: CPU
Vendor.ID......: 8
Vendor.........: Intel
Name...........: Intel(R) Core(TM) i9-10850K CPU @ 3.60GHz
Version........: OpenCL 1.2
Processor(s)...: 20
Clock..........: 3600
Memory.Total...: 131072 MB (limited to 16384 MB allocatable in one block)
Memory.Free....: 65504 MB
Local.Memory...: 32 KB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 1.1
Backend Device ID #4
Type...........: GPU
Vendor.ID......: 1
Vendor.........: AMD
Name...........: AMD Radeon RX 5700 XT Compute Engine
Version........: OpenCL 1.2
Processor(s)...: 40
Clock..........: 2100
Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)
Memory.Free....: 8064 MB
Local.Memory...: 32 KB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 1.2 (Aug 22 2022 20:25:14)
Backend Device ID #5
Type...........: GPU
Vendor.ID......: 1
Vendor.........: AMD
Name...........: AMD Radeon RX 6900 XT Compute Engine
Version........: OpenCL 1.2
Processor(s)...: 80
Clock..........: 2660
Memory.Total...: 16368 MB (limited to 4092 MB allocatable in one block)
Memory.Free....: 16256 MB
Local.Memory...: 32 KB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 1.2 (Aug 22 2022 20:25:14)
Running this command you can see how the device selection of -D 2 (GPU Selection) -d 2 (6900XT) still lists devices 1 & 2 as being used.
Code: hashcat -m 22000 /hashfile.22000 -a 3 "?d?d?d?d?d?d?d?d?d?d" -D 2 -d 2 -w 4 -O --status
hashcat (v6.2.6-54-g13f427ff5+) starting
METAL API (Metal 263.8)
=======================
* Device #1: AMD Radeon RX 5700 XT, 8064/8176 MB, 1MCU
* Device #2: AMD Radeon RX 6900 XT, 16256/16368 MB, 1MCU
OpenCL API (OpenCL 1.2 (Aug 8 2022 21:29:33)) - Platform #1 [Apple]
====================================================================
* Device #3: Intel(R) Core(TM) i9-10850K CPU @ 3.60GHz, skipped
* Device #4: AMD Radeon RX 5700 XT Compute Engine, skipped
* Device #5: AMD Radeon RX 6900 XT Compute Engine, skipped
Kernel /Users/brad/hashcat/OpenCL/m22000-optimized.cl:
Optimized kernel requested, but not available or not required
Falling back to pure kernel
Minimum password length supported by kernel: 8
Maximum password length supported by kernel: 63
Hashes: 3 digests; 2 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Optimizers applied:
* Zero-Byte
* Single-Salt
* Brute-Force
* Slow-Hash-SIMD-LOOP
Watchdog: Temperature abort trigger set to 100c
Host memory required for this attack: 70 MB
I can run it in OpenCL mode and things work properly but Id prefer Metal.
Code: hashcat -m 22000 hashfile.22000 -a 3 "?d?d?d?d?d?d?d?d?d?d" -D 2 -d 2 -w 4 -O --backend-ignore-metal --status
hashcat (v6.2.6-54-g13f427ff5+) starting
* Device #2: Apple's OpenCL drivers (GPU) are known to be unreliable.
You have been warned.
OpenCL API (OpenCL 1.2 (Aug 8 2022 21:29:33)) - Platform #1 [Apple]
====================================================================
* Device #1: Intel(R) Core(TM) i9-10850K CPU @ 3.60GHz, skipped
* Device #2: AMD Radeon RX 5700 XT Compute Engine, 8064/8176 MB (2044 MB allocatable), 40MCU
* Device #3: AMD Radeon RX 6900 XT Compute Engine, skipped
Kernel /Users/brad/hashcat/OpenCL/m22000-optimized.cl:
Optimized kernel requested, but not available or not required
Falling back to pure kernel
Minimum password length supported by kernel: 8
Maximum password length supported by kernel: 63
Hashes: 3 digests; 2 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Optimizers applied:
* Zero-Byte
* Single-Salt
* Brute-Force
* Slow-Hash-SIMD-LOOP
Watchdog: Temperature abort trigger set to 100c
Host memory required for this attack: 1470 MB
Any thoughts or suggestions appreciated. Thx
|