|
|
Message-ID: <20fcf4bac6343b006dd429cbf778f669@smtp.hushmail.com>
Date: Tue, 08 May 2012 01:13:37 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: Lukas - status report #3
On 05/07/2012 11:22 PM, Lukas Odzioba wrote:
> I've been working on opencl problems on Bull. Unfortunatelly I wasn't
> able to fix any of them. Magnum stated that they should be trivial,
> but somehow I couldn't make formats work as they should.
I didn't really intend to fix your problems but I noticed you never
implemented this: http://www.openwall.com/lists/john-dev/2012/04/10/4 so
I got curious now and tried it.
OpenCL platform 0: NVIDIA CUDA, 1 device(s).
Using device 0: GeForce GTX 570
Optimal Group work Size = 256
Benchmarking: PHPASS-OPENCL [PORTABLE-MD5]... DONE
Raw: 502690 c/s real, 601043 c/s virtual
OpenCL platform 0: NVIDIA CUDA, 1 device(s).
Using device 0: GeForce GTX 570
Optimal Group work Size = 32
Benchmarking: wpapsk-opencl [GPU - OpenCL]... DONE
Raw: 24094 c/s real, 24094 c/s virtual
Simple as that ;-)
For crypt-md5, it's a matter of compilers not being very verbose (or
rather, not telling you a dang thing). When I get weird problems like
this I use to try all compilers, nvidia, AMD and Intel. Usually one of
them (and usually just one, and you never know which) informs about a
problem but not this time. I have yet to succeed in building clcc on
bull, but on my laptop I got this:
$ clcc opencl/cryptmd5_kernel.cl output.ptx
Building...
:150:6: error: call to 'rotate' is ambiguous
a = ROTATE_LEFT(AC1 + x[0], S11);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
:9:27: note: instantiated from:
#define ROTATE_LEFT(x, s) rotate(x,s)
^~~~~~
<built-in>:2784:22: note: candidate function
int __OVERLOADABLE__ rotate(int, int);
^
<built-in>:2785:23: note: candidate function
uint __OVERLOADABLE__ rotate(uint, uint);
^
<built-in>:2780:23: note: candidate function
char __OVERLOADABLE__ rotate(char, char);
^
<built-in>:2781:24: note: candidate function
uchar __OVERLOADABLE__ rotate(uchar, uchar);
^
...and almost 10,000 similar lines. So armed with this knowledge it was
in fact trivial:
-#define ROTATE_LEFT(x, s) rotate(x,s)
+#define ROTATE_LEFT(x, s) rotate(x, (uint32_t)s)
OpenCL platform 0: NVIDIA CUDA, 1 device(s).
Using device 0: GeForce GTX 570
Max Group Work Size 960
Optimal Group work Size = 128
Benchmarking: CRYPTMD5-OPENCL [MD5-based CRYPT]... DONE
Raw: 653872 c/s real, 646647 c/s virtual
On the 7970 we get a nice ASIC hang as usual though :-/
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.