diff options
author | David Elsing <david.elsing@posteo.net> | 2024-03-23 22:04:59 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-06-18 11:44:09 +0200 |
commit | 35f4f3313842a670befebb7d4cb68b6de639af9e (patch) | |
tree | 27a5e181dfeaa58295be7f55d5f985933b09be4d /gnu/packages/machine-learning.scm | |
parent | ca63ef4f5b62bd6b3adcee6e9f00d69be3e26398 (diff) | |
download | guix-35f4f3313842a670befebb7d4cb68b6de639af9e.tar.gz guix-35f4f3313842a670befebb7d4cb68b6de639af9e.zip |
gnu: Add qnnpack.
* gnu/packages/machine-learning.scm (qnnpack): New variable.
Diffstat (limited to 'gnu/packages/machine-learning.scm')
-rw-r--r-- | gnu/packages/machine-learning.scm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 837ff7df11..ae54fe5bbf 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -4039,6 +4039,57 @@ and Darknet.") (supported-systems '("x86_64-linux" "armhf-linux" "aarch64-linux")) (license license:bsd-2)))) +(define-public qnnpack + (let ((commit "7d2a4e9931a82adc3814275b6219a03e24e36b4c") + (revision "0")) + (package + (name "qnnpack") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pytorch/qnnpack") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dgzriiaz9arsrfwhx42y4l74wbzn6xvdmllfb66v4pmvi5gpxc5")) + (modules '((guix build utils))) + (snippet + '(delete-file-recursively "deps")))) + (build-system cmake-build-system) + (arguments + (list + ;; The shared library build fails with linker errors, so we build the + ;; static library with -fPIC as in the bundled PyTorch version. + #:configure-flags + ''("-DQNNPACK_LIBRARY_TYPE=static" + "-DCMAKE_POSITION_INDEPENDENT_CODE=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-cmake + (lambda _ + (substitute* "CMakeLists.txt" + (("IF.*SOURCE_DIR.*") + "IF(FALSE)\n") + (("IF\\(NOT TARGET.*") + "IF(FALSE)\n") + (("TARGET_LINK_LIBRARIES.*(fxdiv|psimd|fp16)\\).*") + "") + (("(TARGET_LINK_LIBRARIES.*) fp16 (.*)" _ before after) + (string-append before " " after)))))))) + (inputs (list clog cpuinfo fp16 fxdiv psimd pthreadpool)) + (native-inputs (list googletest googlebenchmark)) + (home-page "https://github.com/pytorch/qnnpack") + (synopsis "Quantized Neural Network PACKage") + (description "QNNPACK is a library for low-precision neural network +inference. It contains the implementation of common neural network operators +on quantized 8-bit tensors.") + (supported-systems + '("armv7-linux" "aarch64-linux" "i686-linux" "x86_64-linux")) + (license license:bsd-3)))) + (define-public xnnpack ;; There's currently no tag on this repo. (let ((version "0.0") |