Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 27 Jul 2013 18:17:56 +0200
From: Katja Malvoni <>
Subject: Re: Parallella: bcrypt

On Sat, Jul 27, 2013 at 5:26 PM, Solar Designer <> wrote:

> On Sat, Jul 27, 2013 at 12:35:39PM +0200, Katja Malvoni wrote:
> > I was running wrong code (optimized single instance), correct speed is
> 996
> > c/s.
> Cool.  Is this committed?  Are you proceeding with asm?

It is now. Yes, I am, currently I'm on 1070 c/s. I'm not yet preloading P
arrays and even without preload these 1070 c/s can be better.

Also, I wanted to ask you: why do you transfer our several inputs to the
> Epiphany side code one by one?  Why not do just one transfer per core,
> of a struct containing all inputs?

I decided to do that when I had troubles with transferring these inputs
correctly (different offsets on Epiphany and host sides and bug with memory
allocation that existed in old SDK) and never changed it. But at the moment
there is no reason not to use struct.

On Sat, Jul 27, 2013 at 5:44 PM, Solar Designer <> wrote:

> Oh, did you try?  Can you post a code excerpt, if you still have it?

Unfortunately I don't. What I did was to obtain address of register r1
because in all generated objdumps L was stored in that register (and in
ones I obtain while trying LDRB). I did that by shifting coreID left by 20
to set up upper 12 bits. And than I added 0xF0004 because that is the
address of register r1. Code was something like this (assuming that r47
holds address of r1 (L)):

str [%[L]], r47
ldrb %[tmp2], [[r47], +0x1]
imadd %[tmp2], %[tmp2], 3
and %[tmp], %[tmp], 0x3FC

(3 and 0x3FC should be in registers)


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.