Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 20 Jan 2012 20:30:53 +0000
From: Alex Sicamiotis <>
To: <>
Subject: RE: DES with OpenMP

> Date: Sat, 21 Jan 2012 00:12:24 +0400
> From:
> To:
> Subject: Re: [john-users] DES with OpenMP
> On Sat, Dec 31, 2011 at 08:32:43PM +0000, Alex Sicamiotis wrote:
> > For the time being, I'm absolutely "settled" with the icc openmp version.
> You may also try gcc 4.3.6 with DES_BS_ASM set to 0 (or OpenMP enabled).
> It turns out that gcc's performance regressions at this code started
> between 4.3.x and 4.4.0:

Let me update you on the situation... I've done a few benches with ASM=0 on a non openMP build... (gcc 4.6 / gcc 4.7 / gcc with PGO, icc ipo, icc profile gen, amd open64 4.51 and open64 v.5 tried them but had a few problems) - anyway gcc 4.6/4.7 was crap (at 3.45 GHz IIRC it threw something like 2.8-2.9m c/s)... IIRC clang was better at ~3.3 or 3.6m and ICC was topping at 3.8-3.9m (whether with ipo or pgo) instead of 4m (ICC openMP thread=1)... so I was like "wtf... why is icc openMP with threads=1 giving 4m c/s - which is better than the non-openMP icc build at 3.8-3.9"... so I started to suspect that even with threads=1 there must be some multithreading going on in the OMP build. 

Indeed, while running top with the omp build / threads=1, a spike in a second thread occured of about 5%. So threads=1 in openMP icc build appears slightly better even than a non-openMP icc build on multiple core cpus. It has to be a single core cpu to make an accurate benchmark. It took me a while to figure it out though....


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.