Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c41fdf7a018267c8c01b55bf49b3f6dd@smtp.hushmail.com>
Date: Sun, 13 Jan 2013 16:28:37 +0100
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: Changes to common-opencl.c

On 13 Jan, 2013, at 15:40 , Claudio André <claudioandre.br@...il.com> wrote:
> Em 13-01-2013 12:05, magnum escreveu:
>> While that OpenCL output is only cosmetical, it is very confusing, especially when running CUDA. But how would we know when to mute it? Should we do a strstr(format, "-opencl") or what?
> Probably.

I can see some caveats. What if you start a crack not specifying --format, but an OpenCL format get auto-picked by loader? This can't currently happen but it will. Maybe it's no problem, loader could do a similar strstr() and call the needed opencl function (be it the full init or just that output).


>> It's a good thing the OpenCL header only appears once and it's probably sane to have it right at the top. But then I'm not sure about the "Using device" lines. It should probably appear before the first OpenCL format just like it does, but then it should not be repeated. Or should it? I'm not sure.
> 
> Discuss and pick whatever you want:
> 
> OpenCL platform 0: Apple, 2 device(s).
> * Device 0: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz (In use)
>  Device 1: GeForce GT 650M
> 
> or
> 
> OpenCL platform 0: Apple, 2 device(s).
>  Device 0: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz (In use)
>  Device 1: GeForce GT 650M
> 
> or
> 
> OpenCL platform 0: Apple, 2 device(s).
>  Using device 0: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz
>  Device 1: GeForce GT 650M

Actually the more I think about it, the less I want that header device list or platform info at all (when you need it, we have --list=opencl-devices). So no output at John init, and only this line at each *format* init:

Using device 0: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz

or for multiple devices:

Using device 1: Tahiti
Using device 2: Tahiti
Using device 3: Tahiti
Using device 4: Tahiti

For comparison, oclHashcat outputs this:

Device #1: Cayman, 1024MB, 800Mhz, 24MCU
Device #2: Cypress, 512MB, 800Mhz, 20MCU
Device #3: Cayman, 1024MB, 800Mhz, 24MCU
Device #4: Cypress, 512MB, 800Mhz, 20MCU


This also solves the strstr() discussion - just init quitely and never output that stuff at all!

Also, I think this "Using device" line needs to be printed for every OpenCL format in a --test (all) run, contrary to what I said earlier. Because otherwise we'll have another caveat: What should happen if we say "./john --test=0 --devices=gpu"? Let's say the first OpenCL format that benchmarks can handle one device, so we'll get "Using device 1...". Later, the mscash2 format benchmarks and use all devices, so we need new output showing that.

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.