Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 03 Apr 2015 18:42:21 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: New SIMD generations, code layout

On 2015-04-03 12:07, Solar Designer wrote:
> On Fri, Apr 03, 2015 at 10:36:56AM +0800, Lei Zhang wrote:
>> [zhanglei@...0 zhanglei]$ jumbo/john --test --format=raw-sha512-ng
>> Benchmarking: Raw-SHA512-ng [SHA512 512/512 AVX512 8x]... DONE
>> Raw:    249164 c/s real, 249164 c/s virtual
> 
> I think we should call this MIC and not AVX512, since we know we've
> built for MIC.

Until we have code for __AVX3*__ different from the one for __MIC__ I
don't quite see the point. But we can change it anyway if you insist.

>> BTW, the latest commit makes sha256-ng fail on MIC. The issue is related to the macro "SIMD_COEF_32". See this function from rawSHA256_common_plug.c:
>>
>> void * sha256_common_binary(char *ciphertext) {
>> 	...
>> #ifdef SIMD_COEF_32
>>     alter_endianity (out, BINARY_SIZE);
>> #endif
>> 	...
>> }
>>
>> For MIC, SIMD_COEF_32 is not defined yet at this point while it should be. Maybe we should include pseudo-intrinsics.h in this file, or put the definition of SIMD_COEF_32/64 to some other common header?

As dicussed on GitHub, these are defined in arch.h (which means mic.h)
for now but I intend to change that. The whole concept of arch.h is
deprecated in Jumbo.

magnum


Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ