Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111108221140.GA10693@openwall.com>
Date: Wed, 9 Nov 2011 02:11:40 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: OpenMP for MD5-crypt

On Thu, Oct 27, 2011 at 07:44:39PM +0200, magnum wrote:
> It turned out md5cryptsse() was not thread-safe, but fixing that was
> just a matter of moving a couple of global buffers into the function.
> And adding OMP to MD5_fmt.c (for SSE only) was very easy once the coin
> fell down. Patch uploaded to wiki as 0032. Efficiency is excellent.
> Tested a lot, no problems.
> 
> I also changed x86-64.h so we use 12x when building with icc, and 8x for
> gcc.
> 
> Benchmarking: FreeBSD MD5 [12x]... DONE
> Raw:	28368 c/s real, 28368 c/s virtual
> 
> Benchmarking: FreeBSD MD5 [12x]... (2xOMP) DONE
> Raw:	53568 c/s real, 26918 c/s virtual

Building with gcc but with icc-compiled intrinsics (make linux-x86-64i),
here's what I get on 2xE5420:

Benchmarking: FreeBSD MD5 [12x]... (8xOMP) DONE
Raw:    215040 c/s real, 26812 c/s virtual

Without OpenMP, the combined speed of 8 instances would be around 225k,
so we get 95%+ efficiency.

Well done.  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.