Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 27 Aug 2016 10:24:47 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: GPU-side mask mode

On 2016-08-26 20:45, jfoug wrote:
> On 8/26/2016 1:28 PM, magnum wrote:
>>> Is there a way to make this into a module (like we have done with SIMD
>>> code), so that it does not have to be hooked so deeply into the format's
>>> kernel code?  There would still be some interface code (like we have
>>> with SIMD), but the main functionality is external.
>>
>> Yes but it's currently an enormeous amount of code all over the
>> CPU-side format. It needs a LOT of work. Ideally we should just call
>> some shared function from reset(), and some other function from
>> crypt_all() (and so on) and be done with it.
>>
>> On kernel side, things are much better. It's the host code that knocks
>> me cold.
>
> It's good that the 'kernel' side is 'cleaner' and somewhat modular.   I
> agree with you on the location of the CPU hooking code.  So if the code
> could be made more 'generic' (with no loss of speed), then simply
> changing a few lines in those 2 CPU-side format functions and adding
> whatever kernel hooks are needed, and any format would get the benefits
> of GPU masking.  That was my questions.   It would be a HELL of a lot
> easier to do this now, than to hammer out a dozen more format, and then
> have to decouple all of those.  Just think of having to decouple 50
> formats that have SIMD code intertwined (like some of the -ng formats).

Yes but this only affects 3-4 more "fast" formats so it might be the 
quickest way ahead. With this in place we're not far away from a Jumbo-2.

Actually all our OpenCL formats are an awful mess already *without* 
gpu-side mask and compare. With some careful designing they could be a 
lot cleaner and use more shared code, eg. for setting up (and tearing 
down) buffers.

Oh and BTW the worst stuff here is not really the GPU-side *mask*, it's 
the host side of GPU-side *compare*. The format source file grew with 
447 lines, or 71%.

magnum

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ