Ryzen 5 2400G: Difference between Linux and Windows wrt -m 1800: Factor 3.5
#1
Hi,

I am scratching my head why the performance of a specific hashmode (sha512crypt) is delivering a poor performance:

prompt> ~/hashcat-5.1.0/hashcat -D1,2 -b -m1800           
hashcat (v5.1.0) starting in benchmark mode...

[..]
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: gfx902-xnack, 12817/15079 MB allocatable, 11MCU

OpenCL Platform #2: Intel(R) Corporation
========================================
* Device #2: AMD Ryzen 5 2400G with Radeon Vega Graphics, 7539/30159 MB allocatable, 8MCU

Benchmark relevant options:
===========================
* --opencl-device-types=1,2
* --optimized-kernel-enable

Hashmode: 1800 - sha512crypt $6$, SHA512 (Unix) (Iterations: 5000)

Speed.#1.........:     5947 H/s (47.22ms) @ Accel:64 Loops:32 Thr:64 Vec:1
Speed.#2.........:     2530 H/s (80.15ms) @ Accel:512 Loops:256 Thr:1 Vec:4
Speed.#*.........:     8478 H/s

Started: Fri May 31 13:06:58 2019
Stopped: Fri May 31 13:07:07 2019

prompt> 


As this was something beyond what I expected a googled a bit and stumbled over this: https://hashcat.net/forum/thread-7513.html .

I seems @wakawaka had for for the same hardware a way better performance for this hash [ Speed.Dev.#1.....:    21851 H/s (101.84ms) @ Accel:256 Loops:64 Thr:64 Vec:1] while the other results are more in line with what I have. Comparing to what else I have here and what google returned my I am wondering why this specific performance is so poor and a not even a third from Windows.

Drivers: ROCm for GPU, OpenCL for CPU. Using Kernel 5.0.8 with the builtin kfd driver.

Hint would be much appreciated.


Cheers, Dirk
Reply
#2
(to be clear: I am fine with the CPU performance but not with what the GPU delivers)
Reply
#3
the operating system ideally makes no difference (except if you did some specific tuning with one benchmark and didn't with another). I would suggest to test at least the same versions to make a 1:1 comparison and furthemore it would make sense that you test the beta version from https://hashcat.net/beta too
Thx
Reply
#4
Thanks but the difference is a factor of 3.5 . Unless you're indicating hashcat became worst and has a severe regression: why would I use the old version? (I did try 4.2.1 before and it was similar).

I tried now v5.1.0-1116-g3c603019 has for mode 1800 / sha512crypt around 6500, which is an improvement (thx) but no 22k as wakawaka claims.

> the operating system ideally makes no difference

you mean in terms of userland?

What I was trying to say is either wakawaka has made an error while copying or something else is wrong. Or maybe the ROCm driver has a problem, or the kernel interface -- whatsoever. This is what I try to understand.
Reply
#5
Run the test again but with the CPU disabled as it is by default. Your high usage of the CPU is likely capping the performance of the integrated graphics.
Reply
#6
Good point but: Nope, it's absolutely the same. I just had the CPU mentioned for showing a picture of the small difference also between CPU and GPU.

v5.1.0-1116-g3c603019:
----------------------------
prompt> /tmp/hashcat-5.1.0/hashcat.bin -b -m 1800
hashcat (v5.1.0-1116-g3c603019) starting in benchmark mode...
[..]
Hashmode: 1800 - sha512crypt $6$, SHA512 (Unix) (Iterations: 5000)

Speed.#1.........: 6519 H/s (83.60ms) @ Accel:8 Loops:128 Thr:256 Vec:1

Started: Fri May 31 17:29:30 2019
Stopped: Fri May 31 17:30:23 2019

prompt> /tmp/hashcat-5.1.0/hashcat.bin -b -D1,2 -m 1800
hashcat (v5.1.0-1116-g3c603019) starting in benchmark mode...
[..]
Hashmode: 1800 - sha512crypt $6$, SHA512 (Unix) (Iterations: 5000)

Speed.#1.........: 6509 H/s (87.24ms) @ Accel:16 Loops:64 Thr:256 Vec:1
Speed.#2.........: 2484 H/s (81.77ms) @ Accel:512 Loops:256 Thr:1 Vec:4
Speed.#*.........: 8993 H/s

Started: Fri May 31 17:30:40 2019
Stopped: Fri May 31 17:31:35 2019
prompt>
Reply
#7
If anybody has a similar system as wakawake (Windows + Ryzen 5 2x00G or maybe 2x00U) it would be great if (s)he can confirm the ~22kH/s for mode 1800 (sha512crypt).

Then I have a better reason to get in touch with the ROCm maintainers
Reply
#8
FYI: with a new kernel and new ROCm drivers it's way better (but still the half of the H/s under Windows):

---
prompt> uname -a
Linux REDACTED 5.1.5-1-default #1 SMP Mon May 27 07:14:33 UTC 2019 (6ad4f79) x86_64 x86_64 x86_64 GNU/Linux
prompt> hashcat -I | grep Driver.Version. # above was 2814.0
Driver.Version.: 2874.0 (HSA1.1,LC)
[..]
prompt> hashcat -D1,2 -b -m1800
hashcat (v5.1.0) starting in benchmark mode...
[..]
OpenCL Platform #2: Intel(R) Corporation
========================================
* Device #2: AMD Ryzen 5 2400G with Radeon Vega Graphics, 7539/30159 MB allocatable, 8MCU

Benchmark relevant options:
===========================
* --opencl-device-types=1,2
* --optimized-kernel-enable

Hashmode: 1800 - sha512crypt $6$, SHA512 (Unix) (Iterations: 5000)

Speed.#1.........: 7614 H/s (70.12ms) @ Accel:128 Loops:32 Thr:64 Vec:1
Speed.#2.........: 2592 H/s (78.17ms) @ Accel:512 Loops:256 Thr:1 Vec:4
Speed.#*.........: 10206 H/s
[..]
---

The effect of the newer version is even better:

prompt> /tmp/hashcat-5.1.0/hashcat.bin -b -D1,2 -m 1800
hashcat (v5.1.0-1116-g3c603019) starting in benchmark mode...
[..]
Hashmode: 1800 - sha512crypt $6$, SHA512 (Unix) (Iterations: 5000)

Speed.#1.........: 10672 H/s (51.34ms) @ Accel:4 Loops:256 Thr:256 Vec:1
Speed.#2.........: 2586 H/s (78.47ms) @ Accel:128 Loops:1024 Thr:1 Vec:4
Speed.#*.........: 13258 H/s
[..]
prompt>
---


On the flip side of the coin: If run the benchmark w/o any "m" option version 5.1.0 bails out:
----
[..]
Hashmode: 1400 - SHA2-256

clBuildProgram(): CL_BUILD_PROGRAM_FAILURE

* Device #1: Kernel REDACTED/hashcat-5.1.0/OpenCL/m01400_a3-optimized.cl build failed - proceeding without this device.

: error: undefined hidden symbol: m01400m
>>> referenced by REDACTED/hashcat-5.1.0/OpenCL/t_13390_101-838704.o:(m01400_m04)
[..]
: error: undefined hidden symbol: m01400s
>>> referenced by REDACTED/hashcat-5.1.0/OpenCL/t_13390_101-838704.o:(m01400_s16)
Error: Creating the executable from LLVM IRs failed.

---
Reply
#9
Fixed with latest beta
Reply