Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4DC45F88.1000401@bredband.net>
Date: Fri, 06 May 2011 22:52:24 +0200
From: magnum <rawsmooth@...dband.net>
To: john-dev@...ts.openwall.com
Subject: New patches

I just uploaded a couple of patches to the wiki:

john-1.7.7-jumbo-1-fullmpi-10.diff.gz
* Fixed a silly off-by-one bug introduced in fullmpi-9.
* Fixed a very old bug (actually 1.7.5-mpi10) which hasn't surfaced 
until today. Missed initialization after mem_alloc_tiny() when applying 
the mpi node id to the recovery file name. I am amazed it never surfaced 
until now (you would have noticed).
* Added some logic for OMP + MPI, configurable in john.conf. As shipped, 
OMP will be disabled if you use MPI to start several processes. In 
multi-host, multi-core environments, there can be situations where you 
want both (starting one MPI process per host, and one OMP thread per 
core). This is supported after changing a line in john.conf.
Notices about this are also printed, but can be muted with another 
john.conf setting.


john-1.7.7-jumbo-1-ETA-config.diff.gz and
john-1.7.7-jumbo-1-fullmpi-10-ETA-config.diff.gz
These move the hard-coded date format string in status.c out to 
john.conf, making the ETA date format configurable. The former is for 
plain Jumbo, the latter is to be used *instead* if you apply after 
fullmpi-10.

The ETA-config patch is directly from git so it lacks correct 
information about the old file time stamp. Just use "patch -p1 -Z -f" 
(or just "patch -p1") when applying.

This is how benchmarks look in FullMPI (the UTF-8 patch, containing the 
mskrb5 format, was applied too) now, using OMP, MPI and both. There is a 
short note printed telling about number of processes/threads:

$ OMP_NUM_THREADS=1 ./john -test -fo:mskrb5
Benchmarking: MS Kerberos 5 AS-REQ Pre-Auth [mskrb5]... DONE
Many salts:     441408 c/s real, 441408 c/s virtual
Only one salt:  327552 c/s real, 327552 c/s virtual

$ OMP_NUM_THREADS=8 ./john -test -fo:mskrb5
Benchmarking: MS Kerberos 5 AS-REQ Pre-Auth [mskrb5]... (8xOMP) DONE
Many salts:     3171K c/s real, 394964 c/s virtual
Only one salt:  862848 c/s real, 107990 c/s virtual

$ mpiexec -np 8 -x OMP_NUM_THREADS=1 ./john -test -fo:mskrb5
Benchmarking: MS Kerberos 5 AS-REQ Pre-Auth [mskrb5]... (8xMPI) DONE
Many salts:     3489K c/s real, 3524K c/s virtual
Only one salt:  2590K c/s real, 2590K c/s virtual

$ mpiexec -np 4 -x OMP_NUM_THREADS=2 ./john -test -fo:mskrb5
Benchmarking: MS Kerberos 5 AS-REQ Pre-Auth [mskrb5]... (4xMPI, 2xOMP) DONE
Many salts:     3488K c/s real, 1753K c/s virtual
Only one salt:  2035K c/s real, 1012K c/s virtual

$ mpiexec -np 2 -x OMP_NUM_THREADS=4 ./john -test -fo:mskrb5
Benchmarking: MS Kerberos 5 AS-REQ Pre-Auth [mskrb5]... (2xMPI, 4xOMP) DONE
Many salts:     3394K c/s real, 850815 c/s virtual
Only one salt:  1407K c/s real, 351888 c/s virtual


In my opinion, such OMP info should be printed even in non-MPI builds 
but the current ifdef'ing does not include it.

enjoy!
magnum

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.