Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 16 Sep 2013 17:27:49 +0200
From: magnum <john.magnum@...hmail.com>
To: john-users@...ts.openwall.com
Subject: Re: --fork using different OpenCL devices

On 15 sep 2013, at 02:00, Solar Designer <solar@...nwall.com> wrote:
> On Mon, Sep 09, 2013 at 01:08:00AM +0200, magnum wrote:
>> So maybe if we say "-fork=4 -dev=0" (or omit -dev) we should fork but use one device, and if we say "-fork=4 -dev=1,2,3,4" we should fork and use different devices. That should be intuitive enough. And "-fork=4 -dev=0,1" would fork into four processes but using only two devices, with two processes using each device.
> 
> Makes sense.

This turns out to be very tricky to implement properly because the format (and therefore the OpenCL stuff) is initialized before forking. We need to postpone that, or de-init/re-init after fork() and I haven't managed to pull it together correctly just yet.

But for MPI it was trivial and in place now. We can now do this on a local machine with four devices:

mpirun -np 4 ./john -dev=0,1,2,3 -format=...

Or eg. if you have a hostA with two devices and a hostB with only one device, you'd do like this:

mpirun -host hostA -host hostA -host hostB ./john -dev=gpu -format=...

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.