|
|
Message-ID: <CABob6iq_=t3TG-v_5bhTmPXY--78-75gPqYBqdFM1OaHsoVYQg@mail.gmail.com>
Date: Sat, 26 Jan 2013 22:12:16 +0100
From: Lukas Odzioba <lukas.odzioba@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: Proposed optimizations to pwsafe
2013/1/26 Brian Wallace <nightstrike9809@...il.com>:
> I have some working improvements to pwsafe-cuda. I don't have the most
> powerful GPU, but the improvement so far is as follows:
>
> Original:
> Benchmarking: Password Safe SHA-256 [CUDA]... DONE
> Raw: 51801 c/s real, 51801 c/s virtual
>
> New:
> Benchmarking: Password Safe SHA-256 [CUDA]... DONE
> Raw: 70593 c/s real, 70593 c/s virtual
Thank you very much for working on that! I saw your code and that was
exactly what we needed.
I do have some comments:
1) for me code would be cleaner if we use 1 proper #define doing that:
w[12] = sigma1( w[10] ) + w[5];
+ d += Sigma1( a ) + Ch( a, b, c ) + 0xc6e00bf3 + ( (w[12]) );
+ h += d;
+ d += Sigma0( e ) + Maj( e, f, g );
But at this point it is easier to see some improve obvious
optimizations like: sigma0(const);
2) w[64] should become w[16] sooner or later for now it is not
critical, it would be good to get rid of H, and k tables too.
3) I guess that is true quite rare:
if(h + H[7] == v[7]){ ... }
and if it is true we could do all of the rest the computations without
following if statements.
I am just curious, you wrote a tool for unrolling or did all this by hand?
Lukas
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.