12-22-2014, 05:56 PM
Performance
I made a small comparison chart, see here how bad that 14.12 really is
https://docs.google.com/a/hashcat.net/sp...edit#gid=0
Not sure what to do now...
Memory
Here's some strange stuff happending to memory size query. This also happens with clinfo which is written from AMD themself:
When X11 is running:
Quote:root@et:~/oclHashcat-1.32# clinfo | grep Global
Global memory size: 3167748096
Global memory size: 3168796672
Global memory size: 3168796672
Those 3 GPU's are all the same type. Does not happen with 14.9.
When X11 is stopped:
Quote:root@et:~/oclHashcat-1.32# clinfo | grep Global
Global memory size: 3182428160
Global memory size: 3182428160
Global memory size: 3182428160
Not sure if we can call this a bug
Performance 2
The first GPU is running slower than the next ones:
Quote:root@et:~/oclHashcat-1.32# ./oclHashcat64.bin -b -m 0 --markov-disable --restore-disable --outfile-autohex-disable --potfile-disable --logfile-disable --gpu-temp-disable
oclHashcat v1.32 starting in benchmark-mode...
Device #1: Tahiti, 3035MB, 1000Mhz, 32MCU
Device #2: Tahiti, 3035MB, 1000Mhz, 32MCU
Device #3: Tahiti, 3035MB, 1000Mhz, 32MCU
Hashtype: MD5
Workload: 1024 loops, 256 accel
Speed.GPU.#1.: 3615.9 MH/s
Speed.GPU.#2.: 8020.9 MH/s
Speed.GPU.#3.: 8023.1 MH/s
Speed.GPU.#*.: 19659.9 MH/s
Started: Mon Dec 29 17:37:42 2014
Stopped: Mon Dec 29 17:38:01 2014
This is clearly a bug. X11 is not running here. Limiting to -d 1 does not have any effect.
While the benchmark is running I was testing clocks to make sure its not related to them but it's not:
Quote:root@et:~/oclHashcat-1.32# amdconfig --odgc --adapter=all
Adapter 0 - AMD Radeon HD 7900 Series
Core (MHz) Memory (MHz)
Current Clocks : 1000 1375
Current Peak : 1000 1375
Configurable Peak Range : [300-1200] [150-1650]
GPU load : 99%
Adapter 1 - AMD Radeon HD 7900 Series
Core (MHz) Memory (MHz)
Current Clocks : 1000 1375
Current Peak : 1000 1375
Configurable Peak Range : [300-1200] [150-1650]
GPU load : 99%
Adapter 2 - AMD Radeon HD 7900 Series
Core (MHz) Memory (MHz)
Current Clocks : 1000 1375
Current Peak : 1000 1375
Configurable Peak Range : [300-1200] [150-1650]
GPU load : 99%
Utilization is fine, too...
Workaround found! See below
GPU Ordering
For some reason the GPU ordering is "broken". This causes a real problem as there's no unique identifier between OpenCL devices and ADL devices (the runtime that is used for querying Fan speed, GPU temp, etc), therefore we're forced to use some fuzzy logic that tries to guess the correct assignment. But then, when the opencl runtime now randomly returns the devices we have a bigger problem...
Here's how to reproduce:
X11 is running:
Quote:$ clinfo | grep " Name"
Name: Hawaii
Name: Juniper
Name: AMD FX(tm)-8120 Eight-Core Processor
And now I stop X11 and run the command again:
Quote:$ clinfo | grep " Name"
Name: Juniper
Name: Hawaii
Name: AMD FX(tm)-8120 Eight-Core Processor
GPU's are switched!
Major problem, some stuff does not get cracked even with correct password!
So this problem is very evil, especially for people using the R9 290x. So far I can 100% reproduce this with my R9 290x while all other cards I tested (hd5770 and hd7970) are not affected. Again, when I switch back to 14.9 everything works fine again.
To test on your system, simply download the example WPA2 .hccap: http://hashcat.net/misc/example_hashes/hashcat.hccap
R9 290x:
Quote:root@sf:~/oclHashcat-1.32# ./oclHashcat64.bin -m 2500 hashcat.hccap -a 3 'hashcat!' -d 1 --quiet --potfile-disable
+------------------------------------------------------------------------------+
! ATTENTION! The installed GPU driver in your system is known to run very slow !
! Some algorithms are 13 times slower with the driver installed in your system !
! See here for details: https://hashcat.net/forum/thread-3915.html !
! We encourage you to use a different driver like AMD Catalyst v14.9 !
+------------------------------------------------------------------------------+
hd5770:
Quote:root@sf:~/oclHashcat-1.32# ./oclHashcat64.bin -m 2500 hashcat.hccap -a 3 'hashcat!' -d 2 --quiet --potfile-disable
+------------------------------------------------------------------------------+
! ATTENTION! The installed GPU driver in your system is known to run very slow !
! Some algorithms are 13 times slower with the driver installed in your system !
! See here for details: https://hashcat.net/forum/thread-3915.html !
! We encourage you to use a different driver like AMD Catalyst v14.9 !
+------------------------------------------------------------------------------+
hashcat.net:0025cf2db489:b0487ad676e2:hashcat!
**UPDATE** In case AMD dev's see this, this problem occours only in binary mode clCreateProgramWithBinary(). That is, when using SPIR binaries. In sourcecode-mode clCreateProgramWithSource() it works fine.
Good Driver Downloads
It's important to have set the correct referer, otherwise download will fail
Linux:
Quote:wget --referer=http://support.amd.com/de-de/download/desktop?os=Linux+x86 http://www2.ati.com/drivers/linux/amd-ca...x86-64.zip
Windows: http://support.amd.com/en-us/download/de...4&rev=14.9