Index of /pub/projects/john/contrib/parallel/mpi/2006-tjs

      Name                         Last modified       Size  

[DIR] Parent Directory 13-Jan-2012 16:00 - [   ] john-1.7.2-mpi-tjs-1.diff.gz 02-Jun-2006 01:52 9k [TXT] README.txt 02-Jun-2006 01:59 2k

Date: Thu, 1 Jun 2006 18:51:56 +0200
From: "Otheus (aka Timothy J. Shelling)" <otheus at>
To: "Solar Designer" <solar at>
Subject: Fwd: beta MPI john patch against 1.7.2.

Permission to post and distributed along with john and under its license
hereby granted.

---------- Forwarded message ----------
From: Otheus (aka Timothy J. Shelling) <otheus at>
Date: Jun 1, 2006 5:34 AM
Subject: beta MPI john patch against 1.7.2.
To: john-users at

This is a (beta) patch for John 1.7.2 for use with MPI.  All of the
MPI-specific code is encapsulated by #ifdef MPI/#endif, so in theory this
can be integrated into the main code branch. However, a few generic changes
to the code are also made.

Please let me know of any rejects while performing the patch. (Use -l to
ignore whitespace to avoid problems with bench.c.)

  o  internalized computing the checksum for ext_word. 15% increase in speed
(at least)
  o  makes sure options required for MPI are present
  o  computes MPI performance in --test mode.

  o  benchmark computes results by summing cracks across all nodes and
dividing that by the AVERAGE of the crack-times. (in the code, cracks are
multiplied by the MPI-size, which is the same thing).

Known bugs:
  o   john.pot gets littered with extraneous output, usually low integers
like "4" or "1" and a newline. Very strange. Still trying to track it down.
  o   successfull cracks do not get posted to the other tasks
  o   use of external filter with internal checksum causes a slight (1-2%)

Incorporate the john.conf file into yours (or the default)... then run with:

mpirun <mpirun-args> john <mode> --external=MPIbyInternalKeySum

For a restore:

mpirun <mpirun-args> john --restore=john%d.rec

You can also benchmark it:

mpirun <mpirun-args> john --test

otheus at