guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

12/34: gnu: Add go-github-com-minio-sha256-simd.


From: Pierre Neidhardt
Subject: 12/34: gnu: Add go-github-com-minio-sha256-simd.
Date: Wed, 24 Oct 2018 06:28:51 -0400 (EDT)

ambrevar pushed a commit to branch master
in repository guix.

commit ff2d11c3ce8dc1fb3715bffbc058fa4ab22226b1
Author: Pierre Neidhardt <address@hidden>
Date:   Wed Oct 24 11:37:14 2018 +0200

    gnu: Add go-github-com-minio-sha256-simd.
    
    * gnu/packages/golang.scm (go-github-com-minio-sha256-simd): New variable.
---
 gnu/packages/golang.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 1cc10d5..1631c0b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2696,3 +2696,39 @@ Although this package was primarily written for btcd, it 
has intentionally
 been designed so it can be used as a standalone package for any projects
 needing to use secp256k1 elliptic curve cryptography.")
       (license license:isc))))
+
+(define-public go-github-com-minio-sha256-simd
+  (let ((commit "51976451ce1942acbb55707a983ed232fa027110")
+        (revision "0"))
+    (package
+      (name "go-github-com-minio-sha256-simd")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/minio/sha256-simd.git";)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0kaxvpidf6ygkkb06vi95pirll31jnmywhyalfjvf7djhim2wr8f"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/minio/sha256-simd"))
+      (home-page "https://github.com/minio/sha256-simd";)
+      (synopsis "Accelerate SHA256 computations in pure Go")
+      (description "Accelerate SHA256 computations in pure Go using AVX512 and
+AVX2 for Intel and ARM64 for ARM.  On AVX512 it provides an up to 8x
+improvement (over 3 GB/s per core) in comparison to AVX2.
+
+This package is designed as a replacement for @command{crypto/sha256}.  For
+Intel CPUs it has two flavors for AVX512 and AVX2 (AVX/SSE are also
+supported).  For ARM CPUs with the Cryptography Extensions, advantage is taken
+of the SHA2 instructions resulting in a massive performance improvement.
+
+This package uses Golang assembly.  The AVX512 version is based on the Intel's
+\"multi-buffer crypto library for IPSec\" whereas the other Intel
+implementations are described in \"Fast SHA-256 Implementations on Intel
+Architecture Processors\" by J. Guilford et al.")
+      (license license:asl2.0))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]