[cryptopp-users] Re: SHA built-ins on Power8 PPC

2018-03-10 Thread Jeffrey Walton


On Tuesday, March 6, 2018 at 6:59:57 AM UTC-5, Jeffrey Walton wrote:
>
>
> On Monday, March 5, 2018 at 8:40:36 PM UTC-5, Jeffrey Walton wrote:
>>
>> Hi Everyone,
>>
>> I've been working on a Power8 implementation using SHA built-ins. The 
>> PowerPC built-ins are similar to Intel and ARM intrinsics.
>>
>> The SHA-256 implementation is at 
>> https://github.com/noloader/SHA-Intrinsics/blob/master/sha256-p8.cxx . 
>> The performance is awful. It is slower than our C++ implementation. The 
>> README has the numbers for comparison at 
>> https://github.com/noloader/SHA-Intrinsics .
>>
>> If anyone has experience with PPC and Power8 built-ins then please take a 
>> look at it. I'm out of ideas for making it run faster.
>>
>
> We managed to just about double the speed. We were storing a scalar from a 
> vector and it crushed performance.
>
>   * Little-endian is running faster than C++. I still think it is off by 
> about 1-2 cpb.
>
>   * Big-endian is running slower than C++. I think it is off by about 3-4 
> cpb.
>

We managed to pull some more performance out of the Power8 implementations. 
Performance increased significantly, but there's still room for 
improvement. Even OpenSSL's numbers seem relatively dull. We expect 
Power8's SHA-256 to be somewhere between 2 to 8 cpb but we are not hitting 
them.

SHA-256, GCC112 (ppc64-le): C++ 23.43, Power8 13.24 cpb (+ 110 MiB/s)
SHA-256, GCC119 (ppc64-be): C++ 10.16, Power8  9.74 cpb (+ 50 MiB/s)

SHA-512, GCC112 (ppc64-le): C++ 14.00, Power8 9.25 cpb (+ 150 MiB/s)
SHA-512, GCC119 (ppc64-be): C++ 21.05, Power8 6.17 cpb (+ 450 MiB/s)

Also see https://github.com/weidai11/cryptopp/commit/0630d46fe828 .

Jeff

-- 
You received this message because you are subscribed to "Crypto++ Users". More 
information about Crypto++ and this group is available at 
http://www.cryptopp.com and 
http://groups.google.com/forum/#!forum/cryptopp-users.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cryptopp-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[cryptopp-users] Re: SHA built-ins on Power8 PPC

2018-03-06 Thread Jeffrey Walton


On Monday, March 5, 2018 at 8:40:36 PM UTC-5, Jeffrey Walton wrote:
>
> Hi Everyone,
>
> I've been working on a Power8 implementation using SHA built-ins. The 
> PowerPC built-ins are similar to Intel and ARM intrinsics.
>
> The SHA-256 implementation is at 
> https://github.com/noloader/SHA-Intrinsics/blob/master/sha256-p8.cxx . 
> The performance is awful. It is slower than our C++ implementation. The 
> README has the numbers for comparison at 
> https://github.com/noloader/SHA-Intrinsics .
>
> If anyone has experience with PPC and Power8 built-ins then please take a 
> look at it. I'm out of ideas for making it run faster.
>

We managed to just about double the speed. We were storing a scalar from a 
vector and it crushed performance.

  * Little-endian is running faster than C++. I still think it is off by 
about 1-2 cpb.

  * Big-endian is running slower than C++. I think it is off by about 3-4 
cpb.

Big-endian still needs help.

Jeff

-- 
You received this message because you are subscribed to "Crypto++ Users". More 
information about Crypto++ and this group is available at 
http://www.cryptopp.com and 
http://groups.google.com/forum/#!forum/cryptopp-users.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cryptopp-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.