Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 17 Jul 2014 15:22:29 +0000
From: Pyrex <>
To: "" <>
Subject: RE: Help Compiling John on ARM w/ MPI & CUDA

I apologize my phone only displayed a small portion of this email. I am building a large cluster of NVIDIA Jetson TK1 Dev Boards. I am doing this mostly for learning purposes but I'd like to try a benchmark using JtR against the cluster. However, I have only been able to get simple CPU based attacks working thus far. I appreciate the feedback and I am using an older version of JtR jumbo which is "7". I will try compiling the bleeding edge version and see how that goes.

From: Pyrex
Sent: Thursday, July 17, 2014 8:44 AM
Subject: RE: [john-users] Help Compiling John on ARM w/ MPI & CUDA

They claim they do support OpenCL but it's in beta form at the moment.

From: Solar Designer<>
Sent: ?7/?17/?2014 7:50 AM
Subject: Re: [john-users] Help Compiling John on ARM w/ MPI & CUDA

On Wed, Jul 16, 2014 at 10:27:49PM +0000, Pyrex wrote:
> I am attempting to compile John on ARM with MPI and CUDA support

What hardware do you have?

Does NVIDIA also support OpenCL on their ARM devices, like it does on x86?
We have more OpenCL than CUDA kernels in JtR bleeding-jumbo, and some of
them are better optimized than their CUDA counterparts (so are faster even
on NVIDIA devices).

> however, it doesn't even support the ARM architecture.

What version of JtR are you using?

For 1.8.0, there's john-1.8.0-arm.diff.gz here:

It adds NEON support for DES-based hashes.  If you don't need that, then
"make generic" works fine (takes longer to build, though).

For CUDA/OpenCL, as well as to have support for many more hash and
cipher types, you need jumbo.  In current bleeding-jumbo, the ./configure
script should take care of everything, but there's also Makefile.legacy,
with which you may explicitly build as:

make -f Makefile.legacy linux-arm32le-neon


make -f Makefile.legacy linux-arm32le

These "legacy" builds won't try to enable CUDA.  For that, just use
./configure and it _might_ detect your CUDA even on ARM (I think we've
never tested that combination so far).

> I was able to compile it using "generic" as my compile option "make generic" and I was also able to get MPI working by editing the Makefile and commenting the MPI references.

Are you building a cluster of many ARM boards?

> I cannot get CUDA working.... I tried copy / pasting some of the extra flags I saw in the other compile options but I came up with nothing that works... Would anyone be able to help me? I would very much appreciate it!

First, please try bleeding-jumbo.  It sounds like you're experimenting
with an older version now.  Then please report your results for
bleeding-jumbo in here, including some specifics - e.g., the portion of
./configure script output where it probes for CUDA, or whatever else you
find relevant.  (And as I have mentioned, it is actually more important
to get OpenCL going.)


No malware was found: Scanned by TiSnetworks E-Mail Security Systems.

Content of type "text/html" skipped

No malware was found: Scanned by TiSnetworks E-Mail Security Systems.

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.