[openssl-dev] [openssl.org #4307] [PATCH] Multi Block (MB) SHA512 for x86_64 Architectures that support AVX2/AVX512 instructions set

Gueron, Shay via RT rt at openssl.org
Mon Feb 15 15:36:52 UTC 2016


Hello all,

This patch is a contribution to OpenSSL.

It deals the Multi Block (MB) SHA256 & SHA512 implementations.

It adds new  SHA512 Multi Block implementations for x86_64 architecture supporting AVX2 and AVX512.
The AVX512 extension is expected to gain more than 2x improvement over AVX2, due to the wider architecture and the use of the vpternlog, vpror, pvrol instructions.

In addition, this patch adds standalone Multi block functionality and interface for SHA256/SHA512
(not only through the cbc-sha combination).

A new "openssl speed" call is added. to measure the Multi Block Digest using SHA256/SHA512:

openssl speed -mb -evp sha256
openssl speed -mb -evp sha512

This patch incorporates the previous patches [1] and [2], and extends them.

Currently, compiled with binutils version 2.25.

Results
Multi-Block results obtained by:
openssl speed -mb -evp sha256
openssl speed -mb -evp sha512
On Serial results ontained by"
openssl speed -evp sha256
openssl speed -evp sha512

(reporting the 8192 bytes input, converter Cycles/Byte metric)

    Architecture   SHA256 Serial               SHA256 - Multi Block
    HSW:           7.82                        2.99
    BDW:           7.82                        2.85
    SKL:           7.73                        2.59

    Architecture   SHA512 Serial               SHA512 - Multi Block
    HSW:           5.43                        3.79
    BDW:           5.35                        3.64
    SKL:           5.23                        3.42


[1] Patch #3850 - Improved performance Multi Block CBC-SHA1 and CBC-SHA256.
https://mta.openssl.org/pipermail/openssl-dev/2015-May/001417.html

[2] Patch #4221 - Accelerating Multi Block (MB) CBC SHA256 on architectures that support AVX512 instructions set
http://openssl.6102.n7.nabble.com/openssl-org-4221-PATCH-Accelerating-Multi-Block-MB-CBC-SHA256-on-architectures-that-support-AVX512-it-td62058.html

Developers and authors:
***************************************************************************
Shay Gueron (1, 2), Regev Shemy (2)
(1) University of Haifa, Israel
(2) Intel Corporation, Israel Development Center, Haifa, Israel
***************************************************************************





---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

-- 
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4307
Please log in as guest with password guest if prompted

-------------- next part --------------
A non-text attachment was scrubbed...
Name: SHA_Multi_Block_SHA256_SHA512.PATCH
Type: application/octet-stream
Size: 307167 bytes
Desc: not available
URL: <http://mta.openssl.org/pipermail/openssl-dev/attachments/20160215/a9b04697/attachment-0001.obj>


More information about the openssl-dev mailing list