mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
gnu: Add xnnpack-for-r-torch.
* gnu/packages/machine-learning.scm (xnnpack-for-r-torch): New variable. (xnnpack)[inputs]: Use xnnpack-for-r-torch instead of xnnpack.
This commit is contained in:
parent
f1d0626605
commit
e85b3fc595
1 changed files with 70 additions and 1 deletions
|
@ -4251,6 +4251,74 @@ (define target-deps "")
|
||||||
"i686-linux" "x86_64-linux"))
|
"i686-linux" "x86_64-linux"))
|
||||||
(license license:bsd-3))))
|
(license license:bsd-3))))
|
||||||
|
|
||||||
|
(define-public xnnpack-for-r-torch
|
||||||
|
(let ((version "0.0")
|
||||||
|
(commit "51a987591a6fc9f0fc0707077f53d763ac132cbf")
|
||||||
|
(revision "2"))
|
||||||
|
(package
|
||||||
|
(inherit xnnpack)
|
||||||
|
(version (git-version version revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference (url (package-home-page xnnpack)) (commit commit)))
|
||||||
|
(file-name (git-file-name (package-name xnnpack) version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1rzby82xq8d0rl1d148yz88jh9cpsw5c8b2yw7yg39mi7qmr55rm"))
|
||||||
|
(modules '((guix build utils)
|
||||||
|
(ice-9 ftw)
|
||||||
|
(ice-9 textual-ports)
|
||||||
|
(srfi srfi-26)))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Remove autogenerated files
|
||||||
|
(for-each
|
||||||
|
(lambda (dir)
|
||||||
|
(let ((gendir (string-append "src/" dir "/gen")))
|
||||||
|
(when (file-exists? gendir)
|
||||||
|
(delete-file-recursively gendir)
|
||||||
|
;; Needed for the scripts generating the files
|
||||||
|
(mkdir gendir))))
|
||||||
|
(scandir "src" (negate (cut member <> '("." "..")))))
|
||||||
|
(delete-file-recursively "google3")
|
||||||
|
(delete-file "cmake/microkernels.cmake")
|
||||||
|
;; Additional autogenerated files which contain the string
|
||||||
|
;; "Auto-generated file"
|
||||||
|
(for-each
|
||||||
|
(lambda (dir)
|
||||||
|
(for-each
|
||||||
|
(lambda (name)
|
||||||
|
(let ((path (string-append dir "/" name)))
|
||||||
|
(when (call-with-input-file path
|
||||||
|
(lambda (port)
|
||||||
|
(string-contains
|
||||||
|
(get-string-all port)
|
||||||
|
"Auto-generated file")))
|
||||||
|
(delete-file path))))
|
||||||
|
(scandir dir (negate (cut member <> '("." ".."))))))
|
||||||
|
'("test" "bench" "eval" "models" "src/enums" "src/xnnpack"))))))
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments (package-arguments xnnpack)
|
||||||
|
((#:phases phases)
|
||||||
|
#~(modify-phases #$phases
|
||||||
|
(replace 'generate-files
|
||||||
|
(lambda _
|
||||||
|
(for-each
|
||||||
|
(lambda (name)
|
||||||
|
(when (and (string-prefix? "generate" name)
|
||||||
|
(string-suffix? ".sh" name)
|
||||||
|
(not (equal? "generate-amalgamation.sh" name)))
|
||||||
|
(display (string-append name "\n"))
|
||||||
|
(invoke "bash" (string-append "scripts/" name))))
|
||||||
|
(scandir "scripts"))
|
||||||
|
;; These need to run after the above scripts
|
||||||
|
(display "Remaining files\n")
|
||||||
|
(invoke "python3" "tools/update-microkernels.py")
|
||||||
|
(substitute* "tools/amalgamate-microkernels.py"
|
||||||
|
(("BUILD") "BUILD.bazel"))
|
||||||
|
(invoke "bash" "scripts/generate-amalgamation.sh"))))))))))
|
||||||
|
|
||||||
;; Warning: This package requires AVX2 or AVX-512 instructions.
|
;; Warning: This package requires AVX2 or AVX-512 instructions.
|
||||||
(define-public fbgemm
|
(define-public fbgemm
|
||||||
(package
|
(package
|
||||||
|
@ -4851,7 +4919,8 @@ (define-public python-pytorch-for-r-torch
|
||||||
(inputs
|
(inputs
|
||||||
(modify-inputs (package-inputs python-pytorch)
|
(modify-inputs (package-inputs python-pytorch)
|
||||||
(replace "qnnpack-pytorch" qnnpack-pytorch-for-r-torch)
|
(replace "qnnpack-pytorch" qnnpack-pytorch-for-r-torch)
|
||||||
(replace "oneapi-dnnl" oneapi-dnnl-for-r-torch)))
|
(replace "oneapi-dnnl" oneapi-dnnl-for-r-torch)
|
||||||
|
(replace "xnnpack" xnnpack-for-r-torch)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(modify-inputs (package-propagated-inputs python-pytorch)
|
(modify-inputs (package-propagated-inputs python-pytorch)
|
||||||
(append python-filelock
|
(append python-filelock
|
||||||
|
|
Loading…
Reference in a new issue