Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+TsHUCtzA4aOxGZDS9e7qvgwWPkMDQRd3j+b-jpQv1Z8aF6Sg@mail.gmail.com>
Date: Tue, 8 Jan 2013 01:11:23 +0530
From: Sayantan Datta <std2048@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: des-opencl

On Tue, Jan 8, 2013 at 12:23 AM, Solar Designer <solar@...nwall.com> wrote:

> On Tue, Jan 08, 2013 at 12:07:37AM +0530, Sayantan Datta wrote:
> > If I'm correct we would need more cases e.g 96,144,192.....upto 720 to
> > fully harcode the entire loop.
>
> Not exactly.  With one instance of DES fully unrolled, you would no
> longer need the rounds_and_swapped variable and those branches.  You
> would simply have one big loop for descrypt's 25 iterations, with one
> fully unrolled instance of DES inside (no branching in it).  It'd exceed
> cache size, but maybe that's OK for some GPUs with some settings (will
> need to tune).
>

So you mean to say something like this would do:

for(i=1;i<=25;i++) {
       hardcode k=0;
       hardcode k=96;
       hardcode k=192;
       hardcode k=288;
       .
       .
       .
       hardcode k=672;
}

Although this ain't anyway equivalent to the current loop structure, but
maybe they are same mathematically. Is this what you mean?


>
> > > I'm not sure how to keep both (or all three?) approaches in the same
> > > source tree best, though.  3 formats?  Or a format with compile-time
> > > fallbacks (e.g., use binary patching when the target GPU type is one of
> > > those where we've tested this and it works, and fallback to E[] for
> > > other devices?)  Perhaps we'll make a "final" determination on that at
> a
> > > later time, but for now we simply need to have these available.
> >
> > I'll make a compile time fallback for now if you agree.
>
> I agree, but I'm not sure what criteria you'd use for triggering the
> fallback.  What do you have in mind?  Manual switch?
>
> Alexander
>

Use the binary patch whenever possible and manually switch between the
other two fallback modes.

Content of type "text/html" skipped

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.