[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/09: gnu: gemmlowp: Add "generic" variant.
From: |
guix-commits |
Subject: |
05/09: gnu: gemmlowp: Add "generic" variant. |
Date: |
Wed, 4 Aug 2021 11:23:15 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 38d319d38aeb501490e5e803da92e2255e1d8a8f
Author: Ludovic Courtès <ludovic.courtes@inria.fr>
AuthorDate: Tue Aug 3 18:09:07 2021 +0200
gnu: gemmlowp: Add "generic" variant.
* gnu/packages/machine-learning.scm (gemmlowp): New variable, based on
'gemmlowp-for-tensorflow'.
(gemmlowp-for-tensorflow): Rewrite to inherit from GEMMLOWP.
[properties]: New field.
---
gnu/packages/machine-learning.scm | 74 +++++++++++++++++++++++++++++----------
1 file changed, 55 insertions(+), 19 deletions(-)
diff --git a/gnu/packages/machine-learning.scm
b/gnu/packages/machine-learning.scm
index 857a71c..c3480d6 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -762,23 +762,22 @@ synchronization, thread-safety, concurrent data
structures, and non-blocking
I/O.")
(license license:asl2.0)))
-(define-public gemmlowp-for-tensorflow
- ;; The commit hash is taken from "tensorflow/workspace.bzl".
- (let ((commit "38ebac7b059e84692f53e5938f97a9943c120d98")
- (revision "2"))
+
+(define-public gemmlowp
+ (let ((commit "f9959600daa42992baace8a49544a00a743ce1b6")
+ (version "0.1")
+ (revision "1"))
(package
(name "gemmlowp")
- (version (git-version "0" revision commit))
+ (version (git-version version revision commit))
+ (home-page "https://github.com/google/gemmlowp")
(source (origin
- (method url-fetch)
- (uri (string-append "https://mirror.bazel.build/"
- "github.com/google/gemmlowp/archive/"
- commit ".zip"))
- (file-name (string-append "gemmlowp-" version ".zip"))
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0n56s2g8hrssm4w8qj1v58gfm56a04n9v992ixkmvk6zjiralzxq"))))
- (build-system cmake-build-system)
+ "1hzfhlhzcb827aza6a7drydc67dw5fm3qfqilb9ibskan8dsf0c6"))))
(arguments
`(#:configure-flags
(list ,@(match (%current-system)
@@ -798,18 +797,15 @@ I/O.")
(inc (string-append out "/include/")))
(install-file "../build/libeight_bit_int_gemm.so" lib)
(for-each (lambda (dir)
- (let ((target (string-append inc "/" dir)))
- (mkdir-p target)
+ (let ((target
+ (string-append inc "/gemmlowp/" dir)))
(for-each (lambda (h)
(install-file h target))
(find-files (string-append "../" dir)
"\\.h$"))))
'("meta" "profiling" "public" "fixedpoint"
- "eight_bit_int_gemm" "internal"))
- #t))))))
- (native-inputs
- `(("unzip" ,unzip)))
- (home-page "https://github.com/google/gemmlowp")
+ "eight_bit_int_gemm" "internal"))))))))
+ (build-system cmake-build-system)
(synopsis "Small self-contained low-precision GEMM library")
(description
"This is a small self-contained low-precision @dfn{general matrix
@@ -819,6 +815,46 @@ at most 8 bits. To avoid overflow, results are internally
accumulated on more
than 8 bits, and at the end only some significant 8 bits are kept.")
(license license:asl2.0))))
+(define-public gemmlowp-for-tensorflow
+ ;; The commit hash is taken from "tensorflow/workspace.bzl".
+ (let ((commit "38ebac7b059e84692f53e5938f97a9943c120d98")
+ (revision "2"))
+ (package
+ (inherit gemmlowp)
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://mirror.bazel.build/"
+ "github.com/google/gemmlowp/archive/"
+ commit ".zip"))
+ (file-name (string-append "gemmlowp-" version ".zip"))
+ (sha256
+ (base32
+ "0n56s2g8hrssm4w8qj1v58gfm56a04n9v992ixkmvk6zjiralzxq"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments gemmlowp)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib/"))
+ (inc (string-append out "/include/")))
+ (install-file "../build/libeight_bit_int_gemm.so" lib)
+ (for-each (lambda (dir)
+ ;; Note: Install headers straight into
+ ;; $includedir instead of $includedir/gemmlowp.
+ (let ((target (string-append inc "/" dir)))
+ (for-each (lambda (h)
+ (install-file h target))
+ (find-files (string-append "../"
dir)
+ "\\.h$"))))
+ '("meta" "profiling" "public" "fixedpoint"
+ "eight_bit_int_gemm" "internal")))))))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (properties '((hidden? . #t))))))
+
(define-public dlib
(package
(name "dlib")
- branch master updated (48542e0 -> 6272222), guix-commits, 2021/08/04
- 09/09: gnu: Fix broken links to Arch Linux git repositories, guix-commits, 2021/08/04
- 02/09: gnu: Add python-peachpy., guix-commits, 2021/08/04
- 06/09: gnu: Add python-pytorch., guix-commits, 2021/08/04
- 01/09: gnu: Add python-opcodes., guix-commits, 2021/08/04
- 05/09: gnu: gemmlowp: Add "generic" variant.,
guix-commits <=
- 07/09: gnu: Add python-clang., guix-commits, 2021/08/04
- 08/09: import: Use PARSE-COMMAND-LINE for options., guix-commits, 2021/08/04
- 03/09: gnu: gloo: Update to c22a5cf., guix-commits, 2021/08/04
- 04/09: gnu: gloo: Honor #:tests? in 'check' phase., guix-commits, 2021/08/04