AMD 7900XTX vs NVIDIA RTX 4090 - Large Performance Delta
#1
Hello,

I'm considering buying multiple 7900XTX's (partially for hashcat, but also for other tasks) and I was comparing it's performance with NVIDIA GPUs in roughly the same class, aka the RTX4080/4090.
I was referring to these benchmarks as reference: https://openbenchmarking.org/test/pts/hashcat-1.0.0

While I did expect NVIDIA to perform better (I expected something like 10-30% - since this is the kind of improvements usually seen in gaming benchmarks. Yes I know, compute is different), - however, I did not exepect such a large discrepancy between the cards.
Across the board, the 4090 is like 200% better, and even 300% or more for some hashes. I assume a lot of this can be attributed to all the optimization work that went into CUDA.

Now, my questions are the following:

- Given that the referenced benchmarks are from 2021, how has the performance gap evolved? Has it narrowed?
- Can someone who has the RTX4090 and the 7900XTX share updated benchmarks using the latest hashcat version and drivers?
- Considering recent improvements in the ROCm stack for AMD GPUs, has this significantly impacted the 7900XTX's hashcat performance?
- Are there more optimizations that can be done on hashcats' side regarding AMD cards? 
- What is primary factor of these massive performance differences? Is it due to CUDA's superiority over ROCm, differences in hardware architecture, or hashcat-specific optimizations favoring NVIDIA?

Hopefully someone can clarify things a bit Smile
Reply
#2
A bit better MD5 benchmarks are 74.1 GH/s for the 7900XTX and 164.1 GH/s for the 4090. The main reason for this gap is simply just that NVIDIA has a monopoly on compute. AMD cards are okay for gaming but simply just not cut out for compute. AMD sucks in more ways than just performance and generally have a lot more installation/stability/driver problems than NVIDIA

Quote: - Are there more optimizations that can be done on hashcats' side regarding AMD cards?
Maybe but almost no-one that contributes to Hashcat's source code has an AMD card, mostly for the reasons mentioned above. NVIDIA is just simply the king of compute

Quote: - What is primary factor of these massive performance differences?
Lots of things but yeah, Hashcat has a fair few optimisations that are NVIDIA-only and was written with NVIDIA in mind but the drivers/HIPs just simply aren't anywhere as good as NVIDIA so there's probably little that can be done to make AMD cards act better

I know lots of people with multi-GPU, Hashcat-only rigs and I can't think of a single person that uses AMD GPUs. It's sad really. I think we all wish NVIDIA had a competitor(s) Sad
Reply
#3
The 4090 has gotten faster as the drivers have matured. The 7900XTX might have gained a bit, but overall it's just an inferior card and moreover, the drivers and runtimes, while progressing steadily, are still quite a bit more painful to deal with if you can even get them working properly. Hashcat is optimized fairly well for both, and in the vast majority of cases the code that runs on all types of cards is identical since we only write one agnostic kernel in a form of OpenCL and JIT compile it with the respective runtimes. The 4090 is just an absolutely monster of a card for tasks like this and AMD has had trouble competing on the high end for a few generations. If anything, it's surprising how well AMD cards can close the gap in games even. Aside from the 4090 simply being quite a bit more powerful, Nvidia also supports hardware instructions that AMD does not that give it a pretty significant advantage in quite a few algorithms. Namely, LOP3.LUT iirc. It's very difficult to recommend AMD cards in general, at least for now, unless you are constrained by budget or otherwise.
Reply