|
Message-Id: <4CDBF867-6637-48F4-9E06-B8F69C202B09@gmail.com>
Date: Thu, 12 Mar 2015 00:41:15 +0800
From: Lei Zhang <zhanglei.april@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: [GSoC] building JtR for MIC
Hi,
I’m finally able to build john-jumbo for MIC. It can run on MIC now, but still has some problem. I’ll describe the building process first, and then how it runs.
Building:
There’re mainly three things to do: modifying the autoconf scripts, resolving library dependencies and modifying some source files.
First, I added a target for MIC in configure.ac and modified config.sub so it could recognize MIC. It took me a while to figure out the right configuration options for MIC.
When I started building, I found there’re some libraries that are required by john-jumbo but not natively available on MIC. They are OpenSSL, GMP and Zlib. I had to download and build them for MIC manually, which also took me a while.
With all library dependencies resolved, there’re still some source files that failed to compile.
One of them is mssql12_fmt_plug.c. There seems to be a bug in it (line 186), which results in the use of a undefined variable when compiling for MIC. It’s quite straightforward to correct it (maybe I'm wrong...).
Another file that failed to compile is pp.c (line 882 & 1835. This time it’s due to a bug in the Intel compiler, and it’s confirmed by Intel’s dev. You can see this post for detail: https://software.intel.com/en-us/forums/topic/542900 <https://software.intel.com/en-us/forums/topic/542900>
I wrote a workaround replacement for the code in trouble, and got the filed compiled.
With some other minor issues also resolved, john-jumbo can now be built for MIC.
Running:
I tried to run the benchmark on MIC (./john —test). It runs well for the first few benches, but then it aborted when running ‘scrypt’.
Here’s the output:
------------------------------------------------------------------------
Will run 240 OpenMP threads
Benchmarking: descrypt, traditional crypt(3) [512/512]... (240xOMP) DONE
Many salts: 3744K c/s real, 30881 c/s virtual
Only one salt: 1820K c/s real, 30915 c/s virtual
Benchmarking: bsdicrypt, BSDI crypt(3) ("_J9..", 725 iterations) [512/512]... (240xOMP) DONE
Many salts: 126030 c/s real, 1041 c/s virtual
Only one salt: 71441 c/s real, 1058 c/s virtual
Benchmarking: md5crypt, crypt(3) $1$ [MD5 32/64 X2]... (240xOMP) DONE
Raw: 118916 c/s real, 494 c/s virtual
Benchmarking: bcrypt ("$2a$05", 32 iterations) [Blowfish 32/64 X2]... (240xOMP) DONE
Speed for cost 1 (iteration count) of 32
Raw: 3801 c/s real, 15.8 c/s virtual
Benchmarking: scrypt (16384, 8, 1) [Salsa20/8 32/64]... (240xOMP) Killed
-------------------------------------------------------------------------
It seems the process got killed when running ‘scrypt’. I’m still looking for the cause of this problem.
Suggestions are welcome.
Regards,
Lei
> 在 2015年3月7日,下午11:25,Solar Designer <solar@...nwall.com <mailto:solar@...nwall.com>> 写道:
>
> On Sat, Mar 07, 2015 at 11:15:57PM +0800, ??? ??? wrote:
>> I managed to build JtR for MIC on a server in our lab, and get it running the benchmark.
>
> Great.
>
>> The version of JtR I downloaded is 1.8.0. I added a target for MIC in the Makefile and created file mic.h (copied from ia64.h) to get it built for MIC. The model of Intel MIC card used is 5110P.
>
> This is basically duplicate work to what I reported on here:
>
> http://www.openwall.com/lists/john-dev/2015/03/05/2 <http://www.openwall.com/lists/john-dev/2015/03/05/2>
>
> That's fine.
>
>> Below is the result of the benchmark:
>> ???????????????????????????????????????????????????????????????????????????????????????????????????????????????
>> Benchmarking: descrypt, traditional crypt(3) [DES 64/64]... DONE
>> Many salts: 179008 c/s real, 179008 c/s virtual
>> Only one salt: 172812 c/s real, 172812 c/s virtual
>
> This is just one core running the non-SIMD code.
>
>> Any suggestions?
>
> Since the core tree uses SIMD for bitslice DES only, and since we
> already have MIC intrinsics for it (see my posting referenced above), in
> the GSoC project you'd need to work solely with the jumbo tree.
>
> So please try to get jumbo to build for and run on MIC, and report back
> in here. Ideally, magnum should merge my MIC support changes referenced
> above into jumbo first, but this is not crucial since you clearly have
> the experience to start without that as well.
>
> https://github.com/magnumripper/JohnTheRipper
>
> You may also experiment with 1.8.0.4 (from CVS, or I may send you the
> tarball), just to have something inbetween your clean 1.8.0 build and
> the jumbo build.
>
> Thanks,
>
> Alexander
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.