Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 29 Apr 2013 00:28:19 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: GPU support under Windows

Daniel -

On Sun, Apr 28, 2013 at 03:11:29PM +0200, D?niel Bali wrote:
> Unfortunately I had trouble installing wifi drivers for Ubuntu (then I had
> a libssl-dev conflict when trying to build john)

What libssl-dev conflict?  It could be useful for us to be aware of
build problems like that, even if they're not caused by a JtR bug.

> I did some more performance tests with the -te flag this time. Here are
> some results showing OpenCL (HD 7670M) against my CPU (i5-3210M)
> 
> OpenCL's results
>     md5crypt: 40046 c/s
>     wpapsk: 4050 c/s
>     phpass: 254015 c/s

As you can see, md5crypt is roughly 10 times slower than it should be.
It is supposed to be roughly twice faster than phpass, but in your test
above it's 5 times slower than phpass instead.  So your setup is already
good enough for you to try and optimize md5crypt-opencl. ;-)

Per this table:

http://en.wikipedia.org/wiki/Radeon_HD_7000_Series#London_.28HD_7xxxM.29_series

a 7670M is supposed to be about 6.6 times slower than a 7970 at stock
clocks:

2048*925 / (480*600) = 6.58

This matches test results for phpass-opencl pretty well:

user@...l:~/john/bleeding-jumbo/src$ ../run/john -te -fo=phpass-opencl -pla=1
Device 1: Tahiti (AMD Radeon HD 7900 Series)
Local worksize (LWS) 64, Global worksize (GWS) 24576
Benchmarking: phpass MD5 ($P$9 lengths 0 to 15) [OpenCL]... DONE
Raw:    1714K c/s real, 42130K c/s virtual

but somehow not for wpapsk-opencl:

user@...l:~/john/bleeding-jumbo/src$ ../run/john -te -fo=wpapsk-opencl -pla=1
Device 1: Tahiti (AMD Radeon HD 7900 Series)
Local worksize (LWS) 256, Global worksize (GWS) 524288
Benchmarking: WPA-PSK PBKDF2-HMAC-SHA-1 [OpenCL]... DONE
Raw:    132563 c/s real, 17476K c/s virtual

1714000 / 254015 = 6.75
132563 / 4050 = 32.73

So it looks like you hit some new bottleneck in wpapsk-opencl, which is
not seen in our testing on 7970.  (The Catalyst version difference could
play a role, though.)

In addition to optimizing md5crypt-opencl (which currently has poor
performance on 7970 as well), you may also look into and maybe fix this
wpapsk-opencl performance issue only seen on your GPU.

>     raw-md5: 32750K c/s
>     raw-sha1: 18881K c/s

As discussed before, these fast hash speeds are currently almost
irrelevant.  (Well, if they would be very different from what's
currently expected, that could indicate a new problem, but they're
roughly what we expect given the current improper approach to them.)

> CPU's results:
>     md5crypt: 20941 c/s
>     wpapsk: 1070 c/s
>     phpass: 11239 c/s
>     raw-md5: 19254K c/s
>     raw-sha1: 14691K c/s

Note that these are for one CPU core.  To use multiple cores, build with
OpenMP support (uncomment the OMPFLAGS line in the Makefile).  Again,
the fast hashes won't benefit from this yet, but the slow ones will
(md5crypt, wpapsk, and phpass in your tests).  With OpenMP, your CPU
will currently outperform your GPU at md5crypt - which serves to
indicate how very inefficient our current md5crypt-opencl code is.

Thanks,

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.