unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#72471] [PATCH 00/24] Update PyTorch and dependencies
@ 2024-08-04 21:53 David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 01/24] gnu: asmjit: Update to commit 062e69c David Elsing
                   ` (24 more replies)
  0 siblings, 25 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 21:53 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

Hello,

this patch series updates python-pytorch to version 2.4.0 and some of
its dependencies and dependent packages.

I noticed that on Linux, upstream does not support 32-bit architectures
anyway, so I set supported-systems to x86_64-linux and aarch64-linux,
but tested only the former.

For onnx and onnx-optimizer, I referenced the patches in
https://issues.guix.gnu.org/65630 and therefore added a "Co-authored-by"
line for Andy Tai. Is that correct to do?

r-torch still depends on version 2.0.1 of PyTorch, so it is kept.

Cheers,
David

David Elsing (24):
  gnu: asmjit: Update to commit 062e69c.
  gnu: Remove python-typing-extensions-4.10.
  gnu: python-optree: Update to 0.11.0.
  gnu: flatbuffers-next: Update to 24.3.25.
  gnu: pthreadpool: Update to commit 560c60d.
  gnu: cpuinfo: Update to commit 05332fd.
  gnu: nnpack: Depend on python-peachpy only for x86_64.
  gnu: oneapi-dnnl: Update to 3.5.3.
  gnu: fbgemm: Update to 0.7.0.
  gnu: xnnpack: Update to commit 08f1489.
  gnu: Add xnnpack-for-r-torch.
  gnu: python-nbval: Update to 0.11.0.
  gnu: Add python-parameterized-next.
  gnu: Remove onnx-optimizer-for-torch2.
  gnu: Remove onnx-for-torch2.
  gnu: onnx: Update to 1.16.2.
  gnu: onnx-optimizer: Update to 0.3.19.
  gnu: gloo: Update to commit 81925d1.
  gnu: cpp-httplib: Update to 0.16.0.
  gnu: python-pytorch: Update to 2.4.0.
  gnu: python-torchvision: Update to 0.19.0.
  gnu: python-lightning-utilities: Update to 0.11.6.
  gnu: python-torchmetrics: Update to 1.4.1.
  gnu: python-pytorch-lightning: Update to commit 2064887.

 gnu/local.mk                                  |    3 -
 gnu/packages/check.scm                        |   22 +
 gnu/packages/cpp.scm                          |    8 +-
 gnu/packages/machine-learning.scm             |  778 +++--
 gnu/packages/parallel.scm                     |   16 +-
 .../onnx-optimizer-system-library.patch       |   60 +-
 .../patches/onnx-shared-libraries.patch       |   18 +-
 .../patches/onnx-skip-model-downloads.patch   |   16 +-
 .../patches/onnx-use-system-googletest.patch  |   57 -
 .../patches/python-pytorch-fix-codegen.patch  |   26 +-
 .../patches/python-pytorch-runpath.patch      |   19 +-
 .../python-pytorch-system-libraries.patch     |  122 +-
 .../python-pytorch-without-kineto.patch       |   10 +-
 .../patches/xnnpack-remove-broken-tests.patch |  337 ---
 .../patches/xnnpack-system-libraries.patch    | 2660 -----------------
 gnu/packages/python-build.scm                 |   12 -
 gnu/packages/python-check.scm                 |   27 +-
 gnu/packages/python-xyz.scm                   |    9 +-
 gnu/packages/serialization.scm                |    4 +-
 19 files changed, 641 insertions(+), 3563 deletions(-)
 delete mode 100644 gnu/packages/patches/onnx-use-system-googletest.patch
 delete mode 100644 gnu/packages/patches/xnnpack-remove-broken-tests.patch
 delete mode 100644 gnu/packages/patches/xnnpack-system-libraries.patch

-- 
2.45.1





^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 01/24] gnu: asmjit: Update to commit 062e69c.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 02/24] gnu: Remove python-typing-extensions-4.10 David Elsing
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/cpp.scm (asmjit): Update to commit 062e69c.
---
 gnu/packages/cpp.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index c1c2a4028b..6b46465abf 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -158,7 +158,7 @@ (define-public argagg
       (license license:expat))))
 
 (define-public asmjit
-  (let ((commit "3ca5c186bf8922e5fe3018432e93651fd2fa4053")
+  (let ((commit "062e69ca81defa35eb0ee15f7412f49a0dad3cdb")
         (revision "1"))
     (package
       (name "asmjit")
@@ -172,7 +172,7 @@ (define-public asmjit
            (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "10k1zc0w8m0vnh52id9qlm1sb99qmpvr6k0ha8ag2h223n0d591g"))))
+          (base32 "0lcwqzbv2628g3c7sflkwagyh49lp471px8bhg7lr77w9y94srqq"))))
       (build-system cmake-build-system)
       (arguments
        (list #:configure-flags #~(list "-DASMJIT_TEST=TRUE")))
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 02/24] gnu: Remove python-typing-extensions-4.10.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 01/24] gnu: asmjit: Update to commit 062e69c David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 03/24] gnu: python-optree: Update to 0.11.0 David Elsing
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (python-typing-extensions-4.10): Delete
variable.
* gnu/packages/machine-learning.scm (python-pytorch)[native-inputs] Replace
python-typing-extensions-4.10 with python-typing-extensions.
---
 gnu/packages/machine-learning.scm |  2 +-
 gnu/packages/python-build.scm     | 12 ------------
 2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 4c5b713cbf..418bfb5d03 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4666,7 +4666,7 @@ (define-public python-pytorch
            python-pytest-xdist
            python-hypothesis
            python-types-dataclasses
-           python-typing-extensions-4.10
+           python-typing-extensions
            shaderc
            valgrind))
     (inputs
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 72da369208..43fc018d4c 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -264,18 +264,6 @@ (define-public python-typing-extensions
 @end enumerate\n")
     (license license:psfl)))
 
-(define-public python-typing-extensions-4.10
-  (package
-    (inherit python-typing-extensions)
-    (version "4.10.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "typing_extensions" version))
-       (sha256
-        (base32
-         "1jxkj4pni8pdyrn79sq441lsp40xzw363n0qvfc6zfcgkv4dgaxh"))))))
-
 \f
 ;;;
 ;;; Python builder packages.
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 03/24] gnu: python-optree: Update to 0.11.0.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 01/24] gnu: asmjit: Update to commit 062e69c David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 02/24] gnu: Remove python-typing-extensions-4.10 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 04/24] gnu: flatbuffers-next: Update to 24.3.25 David Elsing
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/python-xyz.scm (python-optree): Update to 0.11.0.
[arguments]<#:test-flags>: Disable failing test.
---
 gnu/packages/python-xyz.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ce33b330a3..ae34bd7dcb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12300,7 +12300,7 @@ (define-public python-treelib
 (define-public python-optree
   (package
     (name "python-optree")
-    (version "0.10.0")
+    (version "0.11.0")
     (source
      (origin
        (method git-fetch)
@@ -12310,9 +12310,14 @@ (define-public python-optree
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1q3wljk7cyl5rsam02sfsj8zjrqx4c3x9vic8j6xx13p8czpsisg"))
+         "0sk5lm1xyxi7z0yjckip77qvbidyb7i1znmn9fz96q74hl9ffyan"))
        (patches (search-patches "python-optree-fix-32-bit.patch"))))
     (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      ;; This test fails due to a circular import
+      ''("-k" "not test_treespec_pickle_missing_registration")))
     (propagated-inputs (list python-typing-extensions))
     (native-inputs
      (list python-pytest
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 04/24] gnu: flatbuffers-next: Update to 24.3.25.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (2 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 03/24] gnu: python-optree: Update to 0.11.0 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 05/24] gnu: pthreadpool: Update to commit 560c60d David Elsing
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/serialization.scm (flatbuffers-next): Update to 24.3.25.
---
 gnu/packages/serialization.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 6aaf416467..8c7e7d9116 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -902,7 +902,7 @@ (define-public flatbuffers
 (define-public flatbuffers-next
   (package
     (inherit flatbuffers)
-    (version "23.5.26")
+    (version "24.3.25")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -911,7 +911,7 @@ (define-public flatbuffers-next
               (file-name (git-file-name "flatbuffers" version))
               (sha256
                (base32
-                "0cd12dvkzqdafz46q4302mzgpzbz589zmmiga7bq07f2sqy4vrvv"))))))
+                "0q066x1h0x9225aj25jv40gxgz46yvwmiqc2g6q06mkkg1144kxq"))))))
 
 (define-public python-flatbuffers
   (package
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 05/24] gnu: pthreadpool: Update to commit 560c60d.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (3 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 04/24] gnu: flatbuffers-next: Update to 24.3.25 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 06/24] gnu: cpuinfo: Update to commit 05332fd David Elsing
                   ` (19 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/parallel.scm (pthreadpool): Update to commit 560c60d.
---
 gnu/packages/parallel.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 2e00701582..ca1e92963a 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -488,9 +488,9 @@ (define-public python-slurm-magic
 (define-public pthreadpool
   ;; This repository has only one tag, 0.1, which is older than what users
   ;; such as XNNPACK expect.
-  (let ((commit "178e3e0646cc671708bf78e77c273940130ac637")
+  (let ((commit "560c60d342a76076f0557a3946924c6478470044")
         (version "0.1")
-        (revision "2"))
+        (revision "3"))
     (package
       (name "pthreadpool")
       (version (git-version version revision commit))
@@ -501,7 +501,7 @@ (define-public pthreadpool
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1s86lnq9bahacf5wxn7y14w70jh3g9lq1l7y16ijwhifd01nc2km"))
+                  "0l82ix1h8pmjikf15bvmlap355gmyfjpahmgz4lbd6g40ab3ls5c"))
                 (patches (search-patches "pthreadpool-system-libraries.patch"))))
       (build-system cmake-build-system)
       (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 06/24] gnu: cpuinfo: Update to commit 05332fd.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (4 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 05/24] gnu: pthreadpool: Update to commit 560c60d David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 07/24] gnu: nnpack: Depend on python-peachpy only for x86_64 David Elsing
                   ` (18 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

Also disable tests on aarch64, because they fail in the build container.

* gnu/packages/parallel.scm (cpuinfo): Update to commit 05332fd.
[arguments]<#:tests?>: Disable on aarch64.
[supported-systems]: Remove field.
---
 gnu/packages/parallel.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index ca1e92963a..9be6e993e7 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -519,7 +519,7 @@ (define-public cpuinfo
   ;; There's currently no tag on this repo.
   (let ((version "0.0")
         (revision "3")
-        (commit "aa4b2163b99ac9534194520f70b93eeefb0b3b4e"))
+        (commit "05332fd802d9109a2a151ec32154b107c1e5caf9"))
     (package
       (name "cpuinfo")
       (version (git-version version revision commit))
@@ -530,10 +530,13 @@ (define-public cpuinfo
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "12x4krkyzxngf1l2ck33lnsp8pyzf6gyjj9mp9cnka9mw3h6617m"))))
+                  "0w0kfc1fn9viirkhbr8dgfy9m5clfsg3k9p6kdxhzqpyjhgd252n"))))
       (build-system cmake-build-system)
       (arguments
        (list
+        ;; cpuinfo does not work in the build container for aarch64:
+        ;; https://github.com/pytorch/cpuinfo/issues/143
+        #:tests? (not (target-aarch64?))
         #:configure-flags
         '(list "-DBUILD_SHARED_LIBS=ON"
                "-DUSE_SYSTEM_LIBS=ON")
@@ -552,9 +555,6 @@ (define-public cpuinfo
        "The cpuinfo library provides a C/C++ and a command-line interface to
 obtain information about the CPU being used: supported instruction set,
 processor name, cache information, and topology information.")
-      ;; On aarch64-linux, there is a bug reported upstream:
-      ;; https://github.com/pytorch/cpuinfo/issues/14
-      (supported-systems '("armhf-linux" "i686-linux" "x86_64-linux"))
       (license license:bsd-2))))
 
 (define-public clog
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 07/24] gnu: nnpack: Depend on python-peachpy only for x86_64.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (5 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 06/24] gnu: cpuinfo: Update to commit 05332fd David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 08/24] gnu: oneapi-dnnl: Update to 3.5.3 David Elsing
                   ` (17 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (nnpack)[native-inputs]: Provide
python-peachpy only when 'target-x86-64?'.
---
 gnu/packages/machine-learning.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 418bfb5d03..99f0185942 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4045,7 +4045,9 @@ (define-public nnpack
              pthreadpool
              googletest))
       (native-inputs
-       (list python python-peachpy python-six))
+       `(,python
+         ,@(if (target-x86-64?) (list python-peachpy) '())
+         ,python-six))
       ;; Supported for Linux.
       (supported-systems '("x86_64-linux" "armhf-linux" "aarch64-linux"))
       (license license:bsd-2))))
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 08/24] gnu: oneapi-dnnl: Update to 3.5.3.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (6 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 07/24] gnu: nnpack: Depend on python-peachpy only for x86_64 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 09/24] gnu: fbgemm: Update to 0.7.0 David Elsing
                   ` (16 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (oneapi-dnnl): Update to 3.5.3.
---
 gnu/packages/machine-learning.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 99f0185942..1de08eda66 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -5903,7 +5903,7 @@ (define-public python-brian2tools
 (define-public oneapi-dnnl
   (package
     (name "oneapi-dnnl")
-    (version "3.3.5")
+    (version "3.5.3")
     (source
      (origin
        (method git-fetch)
@@ -5912,7 +5912,7 @@ (define-public oneapi-dnnl
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "05ra5zziys2hvn29y6ysiqzsf4jr9bf2bci5sc3swvf3bs2y5ihf"))))
+        (base32 "1m2d7qlbfk86rmvmpvx2k3rc2k0l9hf9qpa54jl44670ls9n8i7w"))))
     (build-system cmake-build-system)
     (arguments (if (target-riscv64?)
                    (list #:configure-flags #~'("-DDNNL_CPU_RUNTIME=SEQ"))
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 09/24] gnu: fbgemm: Update to 0.7.0.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (7 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 08/24] gnu: oneapi-dnnl: Update to 3.5.3 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 10/24] gnu: xnnpack: Update to commit 08f1489 David Elsing
                   ` (15 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (fbgemm): Update to 0.7.0.
---
 gnu/packages/machine-learning.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 1de08eda66..5a909311e2 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4227,7 +4227,7 @@ (define-public xnnpack
 (define-public fbgemm
   (package
     (name "fbgemm")
-    (version "0.6.0")
+    (version "0.7.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -4236,7 +4236,7 @@ (define-public fbgemm
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0mw30v55aicqdbh3xwfj9p8f38nw70ks5cxiwpgwjsk0dylah9rf"))
+                "1dzw9w82ca0hss1lvshix6piwsd0k11lyq9pzm8yg8k7j56hmyig"))
               (patches (search-patches "fbgemm-use-system-libraries.patch"))
               (modules '((guix build utils)))
               (snippet
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 10/24] gnu: xnnpack: Update to commit 08f1489.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (8 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 09/24] gnu: fbgemm: Update to 0.7.0 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 11/24] gnu: Add xnnpack-for-r-torch David Elsing
                   ` (14 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

More tests fail when building the shared library, so they are disabled.  The
scripts to generate the autogenerated files run all commands at once, so they
are converted to Makefiles first.

* gnu/packages/machine-learning.scm (xnnpack): Update to commit 08f1489.
[source]: Remove patch.  Adjust snippet.
[arguments]<#:configure-flags>: Add "-DXNNPACK_BUILD_TESTS=OFF".
<#:tests?>: Disable tests.
<#:phases>: Adjust 'fix-cmake' phase.  Convert code generation scripts to
Makefiles and run them.  Run different missing scripts.
* gnu/packages/patches/xnnpack-remove-broken-tests.patch: Remove file.
* gnu/packages/patches/xnnpack-system-libraries.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk                                  |    2 -
 gnu/packages/machine-learning.scm             |  102 +-
 .../patches/xnnpack-remove-broken-tests.patch |  337 ---
 .../patches/xnnpack-system-libraries.patch    | 2660 -----------------
 4 files changed, 65 insertions(+), 3036 deletions(-)
 delete mode 100644 gnu/packages/patches/xnnpack-remove-broken-tests.patch
 delete mode 100644 gnu/packages/patches/xnnpack-system-libraries.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 6d2b14e72d..fd8262de55 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2259,8 +2259,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/xfce4-settings-defaults.patch		\
   %D%/packages/patches/xgboost-use-system-dmlc-core.patch       \
   %D%/packages/patches/xmonad-dynamic-linking.patch		\
-  %D%/packages/patches/xnnpack-remove-broken-tests.patch	\
-  %D%/packages/patches/xnnpack-system-libraries.patch		\
   %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch		\
   %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch	\
   %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch	\
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 5a909311e2..6fcfc1d167 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4106,7 +4106,7 @@ (define-public qnnpack
 (define-public xnnpack
   ;; There's currently no tag on this repo.
   (let ((version "0.0")
-        (commit "51a987591a6fc9f0fc0707077f53d763ac132cbf")
+        (commit "08f1489fc815e8f121d4d2676c4863d2b51bfe73")
         (revision "3"))
     (package
       (name "xnnpack")
@@ -4119,34 +4119,14 @@ (define-public xnnpack
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1rzby82xq8d0rl1d148yz88jh9cpsw5c8b2yw7yg39mi7qmr55rm"))
-         ;; Some tests fail to link as they use internal symbols, which are
-         ;; not included in the shared library.
-         ;; XXX: Additionally, these tests fail on i686 due to incorrect results:
-         ;; 171 - f32-vlrelu-test (Failed)
-         ;; 211 - qs8-gavgpool-minmax-fp32-test (Failed)
-         ;; 224 - qu8-avgpool-minmax-fp32-test (Failed)
-         ;; 228 - qu8-gavgpool-minmax-fp32-test (Failed)
-         ;; 263 - x32-packx-test (Failed)
-         (patches (search-patches "xnnpack-remove-broken-tests.patch"))
+           "00jjhz0nfggbdnqqvcznba03pcyy7gssd24yhhzjhincnz9qh8jr"))
          (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
+             ;; Remove autogenerated files, which contain the string
              ;; "Auto-generated file"
              (for-each
               (lambda (dir)
@@ -4159,8 +4139,18 @@ (define-public xnnpack
                                 (get-string-all port)
                                 "Auto-generated file")))
                        (delete-file path))))
-                 (scandir dir (negate (cut member <> '("." ".."))))))
-              '("test" "bench" "eval" "models" "src/enums" "src/xnnpack"))))))
+                 (scandir dir (negate (cut member <> '("." ".." "simd"))))))
+              (cons*
+               "test" "bench" "eval" "models" "src/enums" "src/xnnpack"
+               "gen" "cmake/gen"
+               (filter
+                identity
+                (map
+                 (lambda (dir)
+                   (let ((path
+                          (string-append "src/" dir "/gen")))
+                     (and (file-exists? path) path)))
+                 (scandir "src" (negate (cut member <> '("." ".."))))))))))))
       (build-system cmake-build-system)
       (arguments
        (list
@@ -4169,7 +4159,11 @@ (define-public xnnpack
                              "-DBUILD_SHARED_LIBS=ON"
                              "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
                              "-DXNNPACK_LIBRARY_TYPE=shared"
-                             "-DXNNPACK_BUILD_BENCHMARKS=FALSE")
+                             "-DXNNPACK_BUILD_BENCHMARKS=FALSE"
+                             ;; Tests fail to build with -DXNNPACK_LIBRARY_TYPE=shared:
+                             ;; https://github.com/google/XNNPACK/issues/6285
+                             "-DXNNPACK_BUILD_TESTS=OFF")
+        #:tests? #f
         #:modules '((ice-9 ftw)
                     (guix build cmake-build-system)
                     (guix build utils))
@@ -4179,27 +4173,61 @@ (define-public xnnpack
               (lambda _
                 (substitute* "CMakeLists.txt"
                   (("TARGET_INCLUDE_DIRECTORIES\\((pthreadpool|cpuinfo).*") "")
-                  ((".*IF\\(NOT TARGET gtest\\).*")
-                   "IF(FALSE)\n")
-                  (("SET\\(CMAKE_CXX_STANDARD 11\\)")
-                   "SET(CMAKE_CXX_STANDARD 14)")
                   (("AMD64") "x86_64"))))
             (add-after 'patch-source-shebangs 'generate-files
               (lambda _
+                ;; This script just calls two other scripts.
+                (delete-file "scripts/generate-tests-and-benchmarks.sh")
+                ;; The bash scripts run all jobs at once and then wait, so we
+                ;; convert them to Makefiles.
                 (for-each
                  (lambda (name)
+                   (define counter 0) ; For the targets
+                   (define target-deps "")
                    (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))))
+                              (string-suffix? ".sh" name))
+                     (let ((file (string-append "scripts/" name)))
+                       (substitute* file
+                         ;; Turn the commands into targets and remove trailing
+                         ;; '&' characters
+                         (("(.*(\\.sh|\\.py|-o |--output)[^&]*)&?[[:space:]]*$" _ command)
+                          (begin
+                            (set! counter (+ counter 1))
+                            (string-append "target" (number->string counter)
+                                           ":" target-deps
+                                           "\n\t" command "\n")))
+                         (("[[:space:]]*wait[[:space:]]*") "")
+                         ;; The commands after this line depend on the
+                         ;; previous commands in the file.
+                         (("JIT requires assembly files to be generated first.*" all)
+                          (begin
+                            (set! target-deps
+                                  (string-append
+                                   target-deps " target"
+                                   (string-join
+                                    (map number->string (iota counter 1)) " target")))
+                            all)))
+                       (display (string-append "Running " name "\n"))
+                       (apply invoke "make" "-s" "-f" file "-j"
+                              (number->string (parallel-job-count))
+                              (map
+                               (lambda (i)
+                                 (string-append "target" (number->string i)))
+                               (iota counter 1))))))
                  (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"))))))
+                (invoke "python3" "tools/update-microkernels.py" "-a")
+                (invoke "python3" "tools/generate-lut-norm-test.py"
+                        "--spec" "test/u8-lut32norm.yaml"
+                        "--output" "test/u8-lut32norm.cc")
+                (invoke "python3" "tools/generate-gemm-test.py"
+                        "--spec" "test/qd8-f16-qb4w-gemm-minmax.yaml"
+                        "--output-test" "test/qd8-f16-qb4w-gemm-minmax.cc")
+                (invoke "python3" "tools/generate-gemm-test.py"
+                        "--spec" "test/qd8-f32-qb4w-gemm-minmax.yaml"
+                        "--output-test" "test/qd8-f32-qb4w-gemm-minmax.cc"))))))
       (inputs
        (list clog
              cpuinfo
diff --git a/gnu/packages/patches/xnnpack-remove-broken-tests.patch b/gnu/packages/patches/xnnpack-remove-broken-tests.patch
deleted file mode 100644
index 91b7ca9998..0000000000
--- a/gnu/packages/patches/xnnpack-remove-broken-tests.patch
+++ /dev/null
@@ -1,337 +0,0 @@
-These tests fail to build because we are building a shared library.
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 95df99eae..ab57d5efa 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -978,16 +978,6 @@ IF(XNNPACK_BUILD_TESTS)
-     TARGET_LINK_LIBRARIES(add-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-     ADD_TEST(NAME add-nd-eager-test COMMAND add-nd-eager-test)
- 
--    ADD_EXECUTABLE(argmax-pooling-nhwc-test test/argmax-pooling-nhwc.cc)
--    TARGET_INCLUDE_DIRECTORIES(argmax-pooling-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(argmax-pooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
--    ADD_TEST(NAME argmax-pooling-nhwc-test COMMAND argmax-pooling-nhwc-test)
--
--    ADD_EXECUTABLE(average-pooling-nhwc-test test/average-pooling-nhwc.cc)
--    TARGET_INCLUDE_DIRECTORIES(average-pooling-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(average-pooling-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
--    ADD_TEST(NAME average-pooling-nhwc-test COMMAND average-pooling-nhwc-test)
--
-     ADD_EXECUTABLE(bankers-rounding-nc-test test/bankers-rounding-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-nc-test PRIVATE src test)
-     TARGET_LINK_LIBRARIES(bankers-rounding-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-@@ -1066,11 +1056,6 @@ IF(XNNPACK_BUILD_TESTS)
-     TARGET_LINK_LIBRARIES(copy-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME copy-nc-eager-test COMMAND copy-nc-eager-test)
- 
--    ADD_EXECUTABLE(deconvolution-nhwc-test test/deconvolution-nhwc.cc)
--    TARGET_INCLUDE_DIRECTORIES(deconvolution-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(deconvolution-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
--    ADD_TEST(NAME deconvolution-nhwc-test COMMAND deconvolution-nhwc-test)
--
-     ADD_EXECUTABLE(depth-to-space-nchw2nhwc-test test/depth-to-space-nchw2nhwc.cc)
-     TARGET_INCLUDE_DIRECTORIES(depth-to-space-nchw2nhwc-test PRIVATE src test)
-     TARGET_LINK_LIBRARIES(depth-to-space-nchw2nhwc-test PRIVATE XNNPACK gtest gtest_main)
-@@ -1116,11 +1101,6 @@ IF(XNNPACK_BUILD_TESTS)
-     TARGET_LINK_LIBRARIES(floor-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-     ADD_TEST(NAME floor-nc-eager-test COMMAND floor-nc-eager-test)
- 
--    ADD_EXECUTABLE(global-average-pooling-nwc-test test/global-average-pooling-nwc.cc)
--    TARGET_INCLUDE_DIRECTORIES(global-average-pooling-nwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(global-average-pooling-nwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
--    ADD_TEST(NAME global-average-pooling-nwc-test COMMAND global-average-pooling-nwc-test)
--
-     ADD_EXECUTABLE(global-average-pooling-ncw-test test/global-average-pooling-ncw.cc)
-     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-ncw-test PRIVATE src test)
-     TARGET_LINK_LIBRARIES(global-average-pooling-ncw-test PRIVATE XNNPACK fp16 gtest gtest_main)
-@@ -1146,11 +1126,6 @@ IF(XNNPACK_BUILD_TESTS)
-     TARGET_LINK_LIBRARIES(leaky-relu-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-     ADD_TEST(NAME leaky-relu-nc-eager-test COMMAND leaky-relu-nc-eager-test)
- 
--    ADD_EXECUTABLE(max-pooling-nhwc-test test/max-pooling-nhwc.cc)
--    TARGET_INCLUDE_DIRECTORIES(max-pooling-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(max-pooling-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
--    ADD_TEST(NAME max-pooling-nhwc-test COMMAND max-pooling-nhwc-test)
--
-     ADD_EXECUTABLE(maximum-nd-test test/maximum-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(maximum-nd-test PRIVATE src test)
-     TARGET_LINK_LIBRARIES(maximum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-@@ -1191,11 +1166,6 @@ IF(XNNPACK_BUILD_TESTS)
-     TARGET_LINK_LIBRARIES(negate-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-     ADD_TEST(NAME negate-nc-eager-test COMMAND negate-nc-eager-test)
- 
--    ADD_EXECUTABLE(prelu-nc-test test/prelu-nc.cc)
--    TARGET_INCLUDE_DIRECTORIES(prelu-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(prelu-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
--    ADD_TEST(NAME prelu-nc-test COMMAND prelu-nc-test)
--
-     ADD_EXECUTABLE(resize-bilinear-nhwc-test test/resize-bilinear-nhwc.cc)
-     TARGET_INCLUDE_DIRECTORIES(resize-bilinear-nhwc-test PRIVATE src test)
-     TARGET_LINK_LIBRARIES(resize-bilinear-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-@@ -1312,16 +1282,6 @@ IF(XNNPACK_BUILD_TESTS)
-     TARGET_LINK_LIBRARIES(fusion-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME fusion-test COMMAND fusion-test)
- 
--    ADD_EXECUTABLE(memory-planner-test test/memory-planner-test.cc)
--    TARGET_INCLUDE_DIRECTORIES(memory-planner-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(memory-planner-test PRIVATE XNNPACK gtest gtest_main)
--    ADD_TEST(NAME memory-planner-test COMMAND memory-planner-test)
--
--    ADD_EXECUTABLE(subgraph-fp16-test test/subgraph-fp16.cc)
--    TARGET_INCLUDE_DIRECTORIES(subgraph-fp16-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(subgraph-fp16-test PRIVATE XNNPACK gtest gtest_main)
--    ADD_TEST(NAME subgraph-fp16-test COMMAND subgraph-fp16-test)
--
-     ADD_EXECUTABLE(subgraph-nchw-test test/subgraph-nchw.cc)
-     TARGET_INCLUDE_DIRECTORIES(subgraph-nchw-test PRIVATE src test)
-     TARGET_LINK_LIBRARIES(subgraph-nchw-test PRIVATE XNNPACK gtest gtest_main)
-@@ -1347,226 +1307,6 @@ IF(XNNPACK_BUILD_TESTS)
-     TARGET_INCLUDE_DIRECTORIES(argmax-pooling-2d-test PRIVATE src test)
-     TARGET_LINK_LIBRARIES(argmax-pooling-2d-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME argmax-pooling-2d-test COMMAND argmax-pooling-2d-test)
--
--    ADD_EXECUTABLE(average-pooling-2d-test test/average-pooling-2d.cc)
--    TARGET_INCLUDE_DIRECTORIES(average-pooling-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(average-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME average-pooling-2d-test COMMAND average-pooling-2d-test)
--
--    ADD_EXECUTABLE(bankers-rounding-test test/bankers-rounding.cc)
--    TARGET_INCLUDE_DIRECTORIES(bankers-rounding-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(bankers-rounding-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME bankers-rounding-test COMMAND bankers-rounding-test)
--
--    ADD_EXECUTABLE(ceiling-test test/ceiling.cc)
--    TARGET_INCLUDE_DIRECTORIES(ceiling-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(ceiling-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME ceiling-test COMMAND ceiling-test)
--
--    ADD_EXECUTABLE(clamp-test test/clamp.cc)
--    TARGET_INCLUDE_DIRECTORIES(clamp-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(clamp-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME clamp-test COMMAND clamp-test)
--
--    ADD_EXECUTABLE(concatenate2-test test/concatenate2.cc)
--    TARGET_INCLUDE_DIRECTORIES(concatenate2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(concatenate2-test PRIVATE XNNPACK gtest gtest_main subgraph)
--    ADD_TEST(NAME concatenate2-test COMMAND concatenate2-test)
--
--    ADD_EXECUTABLE(concatenate3-test test/concatenate3.cc)
--    TARGET_INCLUDE_DIRECTORIES(concatenate3-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(concatenate3-test PRIVATE XNNPACK gtest gtest_main subgraph)
--    ADD_TEST(NAME concatenate3-test COMMAND concatenate3-test)
--
--    ADD_EXECUTABLE(concatenate4-test test/concatenate4.cc)
--    TARGET_INCLUDE_DIRECTORIES(concatenate4-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(concatenate4-test PRIVATE XNNPACK gtest gtest_main subgraph)
--    ADD_TEST(NAME concatenate4-test COMMAND concatenate4-test)
--
--    ADD_EXECUTABLE(convert-test test/convert.cc)
--    TARGET_INCLUDE_DIRECTORIES(convert-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(convert-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME convert-test COMMAND convert-test)
--
--    ADD_EXECUTABLE(convolution-2d-test test/convolution-2d.cc)
--    SET_TARGET_PROPERTIES(convolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
--    TARGET_INCLUDE_DIRECTORIES(convolution-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(convolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
--    ADD_TEST(NAME convolution-2d-test COMMAND convolution-2d-test)
--
--    ADD_EXECUTABLE(copy-test test/copy.cc)
--    TARGET_INCLUDE_DIRECTORIES(copy-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(copy-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME copy-test COMMAND copy-test)
--
--    ADD_EXECUTABLE(deconvolution-2d-test test/deconvolution-2d.cc)
--    SET_TARGET_PROPERTIES(deconvolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
--    TARGET_INCLUDE_DIRECTORIES(deconvolution-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(deconvolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
--    ADD_TEST(NAME deconvolution-2d-test COMMAND deconvolution-2d-test)
--
--    ADD_EXECUTABLE(depth-to-space-test test/depth-to-space.cc)
--    TARGET_INCLUDE_DIRECTORIES(depth-to-space-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(depth-to-space-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME depth-to-space-test COMMAND depth-to-space-test)
--
--    ADD_EXECUTABLE(depthwise-convolution-2d-test test/depthwise-convolution-2d.cc)
--    SET_TARGET_PROPERTIES(depthwise-convolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
--    TARGET_INCLUDE_DIRECTORIES(depthwise-convolution-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(depthwise-convolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
--    ADD_TEST(NAME depthwise-convolution-2d-test COMMAND depthwise-convolution-2d-test)
--
--    ADD_EXECUTABLE(divide2-test test/divide2.cc)
--    TARGET_INCLUDE_DIRECTORIES(divide2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(divide2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME divide2-test COMMAND divide2-test)
--
--    ADD_EXECUTABLE(elu-test test/elu.cc)
--    TARGET_INCLUDE_DIRECTORIES(elu-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(elu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME elu-test COMMAND elu-test)
--
--    ADD_EXECUTABLE(even-split2-test test/even-split2.cc)
--    TARGET_INCLUDE_DIRECTORIES(even-split2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(even-split2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME even-split2-test COMMAND even-split2-test)
--
--    ADD_EXECUTABLE(even-split3-test test/even-split3.cc)
--    TARGET_INCLUDE_DIRECTORIES(even-split3-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(even-split3-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME even-split3-test COMMAND even-split3-test)
--
--    ADD_EXECUTABLE(even-split4-test test/even-split4.cc)
--    TARGET_INCLUDE_DIRECTORIES(even-split4-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(even-split4-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME even-split4-test COMMAND even-split4-test)
--
--    ADD_EXECUTABLE(floor-test test/floor.cc)
--    TARGET_INCLUDE_DIRECTORIES(floor-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(floor-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME floor-test COMMAND floor-test)
--
--    ADD_EXECUTABLE(fully-connected-test test/fully-connected.cc)
--    TARGET_INCLUDE_DIRECTORIES(fully-connected-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(fully-connected-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME fully-connected-test COMMAND fully-connected-test)
--
--    ADD_EXECUTABLE(global-average-pooling-1d-test test/global-average-pooling-1d.cc)
--    TARGET_INCLUDE_DIRECTORIES(global-average-pooling-1d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(global-average-pooling-1d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME global-average-pooling-1d-test COMMAND global-average-pooling-1d-test)
--
--    ADD_EXECUTABLE(global-average-pooling-2d-test test/global-average-pooling-2d.cc)
--    TARGET_INCLUDE_DIRECTORIES(global-average-pooling-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(global-average-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME global-average-pooling-2d-test COMMAND global-average-pooling-2d-test)
--
--    ADD_EXECUTABLE(hardswish-test test/hardswish.cc)
--    TARGET_INCLUDE_DIRECTORIES(hardswish-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(hardswish-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME hardswish-test COMMAND hardswish-test)
--
--    ADD_EXECUTABLE(leaky-relu-test test/leaky-relu.cc)
--    TARGET_INCLUDE_DIRECTORIES(leaky-relu-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(leaky-relu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME leaky-relu-test COMMAND leaky-relu-test)
--
--    ADD_EXECUTABLE(max-pooling-2d-test test/max-pooling-2d.cc)
--    TARGET_INCLUDE_DIRECTORIES(max-pooling-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(max-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME max-pooling-2d-test COMMAND max-pooling-2d-test)
--
--    ADD_EXECUTABLE(maximum2-test test/maximum2.cc)
--    TARGET_INCLUDE_DIRECTORIES(maximum2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(maximum2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME maximum2-test COMMAND maximum2-test)
--
--    ADD_EXECUTABLE(minimum2-test test/minimum2.cc)
--    TARGET_INCLUDE_DIRECTORIES(minimum2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(minimum2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME minimum2-test COMMAND minimum2-test)
--
--    ADD_EXECUTABLE(multiply2-test test/multiply2.cc)
--    TARGET_INCLUDE_DIRECTORIES(multiply2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(multiply2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME multiply2-test COMMAND multiply2-test)
--
--    ADD_EXECUTABLE(negate-test test/negate.cc)
--    TARGET_INCLUDE_DIRECTORIES(negate-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(negate-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME negate-test COMMAND negate-test)
--
--    ADD_EXECUTABLE(prelu-test test/prelu.cc)
--    TARGET_INCLUDE_DIRECTORIES(prelu-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(prelu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME prelu-test COMMAND prelu-test)
--
--    ADD_EXECUTABLE(sigmoid-test test/sigmoid.cc)
--    SET_TARGET_PROPERTIES(sigmoid-test PROPERTIES CXX_EXTENSIONS YES)
--    TARGET_INCLUDE_DIRECTORIES(sigmoid-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(sigmoid-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME sigmoid-test COMMAND sigmoid-test)
--
--    ADD_EXECUTABLE(static-slice-test test/static-slice.cc)
--    SET_TARGET_PROPERTIES(static-slice-test PROPERTIES CXX_EXTENSIONS YES)
--    TARGET_INCLUDE_DIRECTORIES(static-slice-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-slice-test PRIVATE XNNPACK fp16 gmock gtest gtest_main subgraph)
--    ADD_TEST(NAME static-slice-test COMMAND static-slice-test)
--
--    ADD_EXECUTABLE(softmax-test test/softmax.cc)
--    TARGET_INCLUDE_DIRECTORIES(softmax-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(softmax-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME softmax-test COMMAND softmax-test)
--
--    ADD_EXECUTABLE(space-to-depth-2d-test test/space-to-depth-2d.cc)
--    TARGET_INCLUDE_DIRECTORIES(space-to-depth-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(space-to-depth-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME space-to-depth-2d-test COMMAND space-to-depth-2d-test)
--
--    ADD_EXECUTABLE(square-test test/square.cc)
--    TARGET_INCLUDE_DIRECTORIES(square-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(square-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME square-test COMMAND square-test)
--
--    ADD_EXECUTABLE(square-root-test test/square.cc)
--    TARGET_INCLUDE_DIRECTORIES(square-root-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(square-root-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME square-root-test COMMAND square-root-test)
--
--    ADD_EXECUTABLE(squared-difference-test test/squared-difference.cc)
--    TARGET_INCLUDE_DIRECTORIES(squared-difference-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(squared-difference-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME squared-difference-test COMMAND squared-difference-test)
--
--    ADD_EXECUTABLE(static-constant-pad-test test/static-constant-pad.cc)
--    TARGET_INCLUDE_DIRECTORIES(static-constant-pad-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-constant-pad-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME static-constant-pad-test COMMAND static-constant-pad-test)
--
--    ADD_EXECUTABLE(static-reshape-test test/static-reshape.cc)
--    TARGET_INCLUDE_DIRECTORIES(static-reshape-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-reshape-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME static-reshape-test COMMAND static-reshape-test)
--
--    ADD_EXECUTABLE(static-resize-bilinear-2d-test test/static-resize-bilinear-2d.cc)
--    TARGET_INCLUDE_DIRECTORIES(static-resize-bilinear-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-resize-bilinear-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME static-resize-bilinear-2d-test COMMAND static-resize-bilinear-2d-test)
--
--    ADD_EXECUTABLE(static-transpose-test test/static-transpose.cc)
--    TARGET_INCLUDE_DIRECTORIES(static-transpose-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-transpose-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME static-transpose-test COMMAND static-transpose-test)
--
--    ADD_EXECUTABLE(subtract2-test test/subtract2.cc)
--    TARGET_INCLUDE_DIRECTORIES(subtract2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(subtract2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME subtract2-test COMMAND subtract2-test)
--
--    ADD_EXECUTABLE(unpooling-2d-test test/unpooling-2d.cc)
--    TARGET_INCLUDE_DIRECTORIES(unpooling-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(unpooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
--    ADD_TEST(NAME unpooling-2d-test COMMAND unpooling-2d-test)
-   ENDIF()
- 
-   # ---[ Normalization unit tests
-@@ -2834,21 +2574,7 @@ IF(XNNPACK_BUILD_TESTS)
-     ADD_EXECUTABLE(microkernel-utils-test test/microkernel-utils.cc)
-     TARGET_INCLUDE_DIRECTORIES(microkernel-utils-test PRIVATE include src)
-     TARGET_LINK_LIBRARIES(microkernel-utils-test PRIVATE microkernel-utils gtest gtest_main pthreadpool)
--
--    ADD_EXECUTABLE(operator-utils-test test/operator-utils.cc)
--    TARGET_INCLUDE_DIRECTORIES(operator-utils-test PRIVATE include src)
--    TARGET_LINK_LIBRARIES(operator-utils-test PRIVATE XNNPACK gtest gtest_main pthreadpool)
-   ENDIF()
--
--  ADD_EXECUTABLE(packing-test test/packing.cc)
--  TARGET_INCLUDE_DIRECTORIES(packing-test PRIVATE include src)
--  TARGET_LINK_LIBRARIES(packing-test PRIVATE fp16 gtest gtest_main pthreadpool)
--  TARGET_LINK_LIBRARIES(packing-test PRIVATE XNNPACK microkernel-utils operator-utils packing)
--
--  ADD_EXECUTABLE(indirection-test test/indirection.cc)
--  TARGET_INCLUDE_DIRECTORIES(indirection-test PRIVATE include src)
--  TARGET_LINK_LIBRARIES(indirection-test PRIVATE gtest gtest_main pthreadpool)
--  TARGET_LINK_LIBRARIES(indirection-test PRIVATE XNNPACK indirection)
- ENDIF()
- 
- # ---[ XNNPACK microbenchmarks
diff --git a/gnu/packages/patches/xnnpack-system-libraries.patch b/gnu/packages/patches/xnnpack-system-libraries.patch
deleted file mode 100644
index a711aa0d6c..0000000000
--- a/gnu/packages/patches/xnnpack-system-libraries.patch
+++ /dev/null
@@ -1,2660 +0,0 @@
-This patch allows the build process to use the provided dependencies instead
-of adding their source as CMake sub-directories (in which case "make install"
-would install googletest's and googlebenchmark's libraries and headers).
-
-diff a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt	2023-12-27 13:29:04.608138355 +0100
-@@ -850,25 +850,8 @@
-     SET_PROPERTY(TARGET pthreadpool PROPERTY IMPORTED_IMPLIB "${PTHREADPOOL_LIBRARY}")
-   ENDIF()
- ENDIF()
--TARGET_LINK_LIBRARIES(microkernels-all PRIVATE pthreadpool)
--TARGET_LINK_LIBRARIES(microkernels-prod PRIVATE pthreadpool)
--TARGET_LINK_LIBRARIES(hardware-config PRIVATE pthreadpool)
--TARGET_LINK_LIBRARIES(indirection PRIVATE pthreadpool)
--TARGET_LINK_LIBRARIES(jit PRIVATE pthreadpool)
--TARGET_LINK_LIBRARIES(logging PRIVATE pthreadpool)
--TARGET_LINK_LIBRARIES(microparams-init PRIVATE pthreadpool)
--TARGET_LINK_LIBRARIES(normalization PRIVATE pthreadpool)
--TARGET_LINK_LIBRARIES(packing PRIVATE pthreadpool)
- IF(XNNPACK_BUILD_LIBRARY)
-   TARGET_LINK_LIBRARIES(XNNPACK PUBLIC pthreadpool)
--  TARGET_LINK_LIBRARIES(allocator PRIVATE pthreadpool)
--  TARGET_LINK_LIBRARIES(cache PRIVATE memory pthreadpool)
--  TARGET_LINK_LIBRARIES(subgraph PRIVATE pthreadpool)
--  TARGET_LINK_LIBRARIES(operators PRIVATE pthreadpool)
--  TARGET_LINK_LIBRARIES(operator-run PRIVATE pthreadpool)
--  TARGET_LINK_LIBRARIES(operator-utils PRIVATE pthreadpool)
--  TARGET_LINK_LIBRARIES(mutex PRIVATE pthreadpool)
--  TARGET_LINK_LIBRARIES(memory PRIVATE pthreadpool)
-   TARGET_LINK_LIBRARIES(post-operation PUBLIC pthreadpool allocator)
- ENDIF()
- 
-@@ -889,12 +872,6 @@
-     SET_PROPERTY(TARGET fxdiv PROPERTY LINKER_LANGUAGE C)
-   ENDIF()
- ENDIF()
--TARGET_LINK_LIBRARIES(microkernels-all PRIVATE fxdiv)
--TARGET_LINK_LIBRARIES(microkernels-prod PRIVATE fxdiv)
--TARGET_LINK_LIBRARIES(indirection PRIVATE fxdiv)
--IF(XNNPACK_BUILD_LIBRARY)
--  TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fxdiv)
--ENDIF()
- 
- # ---[ Configure FP16
- IF(NOT TARGET fp16)
-@@ -913,17 +890,7 @@
-     SET_PROPERTY(TARGET fp16 PROPERTY LINKER_LANGUAGE C)
-   ENDIF()
- ENDIF()
--TARGET_LINK_LIBRARIES(microkernels-all PRIVATE fp16)
--TARGET_LINK_LIBRARIES(microkernels-prod PRIVATE fp16)
--TARGET_LINK_LIBRARIES(microparams-init PRIVATE fp16)
--TARGET_LINK_LIBRARIES(packing PRIVATE fp16)
--TARGET_LINK_LIBRARIES(indirection PRIVATE fp16)
- IF(XNNPACK_BUILD_LIBRARY)
--  TARGET_LINK_LIBRARIES(subgraph PRIVATE fp16)
--  TARGET_LINK_LIBRARIES(operators PRIVATE fp16)
--  TARGET_LINK_LIBRARIES(operator-run PRIVATE fp16)
--
--  TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16)
-   INSTALL(TARGETS XNNPACK
-       LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-       ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-@@ -943,7 +910,7 @@
-   # Helper libraries
-   ADD_LIBRARY(gemm-microkernel-tester STATIC test/gemm-microkernel-tester.cc)
-   TARGET_INCLUDE_DIRECTORIES(gemm-microkernel-tester PRIVATE . include src test)
--  TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE fp16 pthreadpool gtest)
-+  TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE gtest)
-   TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE jit packing)
-   IF(XNNPACK_BUILD_LIBRARY)
-     TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE XNNPACK post-operation)
-@@ -960,22 +927,22 @@
-     # ---[ Build operator-level unit tests
-     ADD_EXECUTABLE(abs-nc-test test/abs-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(abs-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(abs-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(abs-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME abs-nc-test COMMAND abs-nc-test)
- 
-     ADD_EXECUTABLE(abs-nc-eager-test test/abs-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(abs-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(abs-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(abs-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME abs-nc-eager-test COMMAND abs-nc-eager-test)
- 
-     ADD_EXECUTABLE(add-nd-test test/add-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(add-nd-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(add-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(add-nd-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME add-nd-test COMMAND add-nd-test)
- 
-     ADD_EXECUTABLE(add-nd-eager-test test/add-nd-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(add-nd-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(add-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(add-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME add-nd-eager-test COMMAND add-nd-eager-test)
- 
-     ADD_EXECUTABLE(argmax-pooling-nhwc-test test/argmax-pooling-nhwc.cc)
-@@ -985,27 +952,27 @@
- 
-     ADD_EXECUTABLE(average-pooling-nhwc-test test/average-pooling-nhwc.cc)
-     TARGET_INCLUDE_DIRECTORIES(average-pooling-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(average-pooling-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(average-pooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME average-pooling-nhwc-test COMMAND average-pooling-nhwc-test)
- 
-     ADD_EXECUTABLE(bankers-rounding-nc-test test/bankers-rounding-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(bankers-rounding-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(bankers-rounding-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME bankers-rounding-nc-test COMMAND bankers-rounding-nc-test)
- 
-     ADD_EXECUTABLE(bankers-rounding-nc-eager-test test/bankers-rounding-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(bankers-rounding-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(bankers-rounding-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME bankers-rounding-nc-eager-test COMMAND bankers-rounding-nc-eager-test)
- 
-     ADD_EXECUTABLE(ceiling-nc-test test/ceiling-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(ceiling-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(ceiling-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(ceiling-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME ceiling-nc-test COMMAND ceiling-nc-test)
- 
-     ADD_EXECUTABLE(ceiling-nc-eager-test test/ceiling-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(ceiling-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(ceiling-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(ceiling-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME ceiling-nc-eager-test COMMAND ceiling-nc-eager-test)
- 
-     ADD_EXECUTABLE(channel-shuffle-nc-test test/channel-shuffle-nc.cc)
-@@ -1015,12 +982,12 @@
- 
-     ADD_EXECUTABLE(clamp-nc-test test/clamp-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(clamp-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(clamp-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(clamp-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME clamp-nc-test COMMAND clamp-nc-test)
- 
-     ADD_EXECUTABLE(clamp-nc-eager-test test/clamp-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(clamp-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(clamp-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(clamp-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME clamp-nc-eager-test COMMAND clamp-nc-eager-test)
- 
-     ADD_EXECUTABLE(constant-pad-nd-test test/constant-pad-nd.cc)
-@@ -1035,25 +1002,25 @@
- 
-     ADD_EXECUTABLE(convert-nc-test test/convert-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(convert-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(convert-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(convert-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME convert-nc-test COMMAND convert-nc-test)
- 
-     ADD_EXECUTABLE(convert-nc-eager-test test/convert-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(convert-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(convert-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(convert-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME convert-nc-eager-test COMMAND convert-nc-eager-test)
- 
-     ADD_EXECUTABLE(convolution-nhwc-test test/convolution-nhwc.cc)
-     SET_TARGET_PROPERTIES(convolution-nhwc-test PROPERTIES CXX_EXTENSIONS YES)
-     TARGET_INCLUDE_DIRECTORIES(convolution-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE XNNPACK gtest gtest_main)
-     TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE convolution-test-helpers)
-     ADD_TEST(NAME convolution-nhwc-test COMMAND convolution-nhwc-test)
- 
-     ADD_EXECUTABLE(convolution-nchw-test test/convolution-nchw.cc)
-     SET_TARGET_PROPERTIES(convolution-nchw-test PROPERTIES CXX_EXTENSIONS YES)
-     TARGET_INCLUDE_DIRECTORIES(convolution-nchw-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(convolution-nchw-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(convolution-nchw-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME convolution-nchw-test COMMAND convolution-nchw-test)
- 
-     ADD_EXECUTABLE(copy-nc-test test/copy-nc.cc)
-@@ -1068,7 +1035,7 @@
- 
-     ADD_EXECUTABLE(deconvolution-nhwc-test test/deconvolution-nhwc.cc)
-     TARGET_INCLUDE_DIRECTORIES(deconvolution-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(deconvolution-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(deconvolution-nhwc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME deconvolution-nhwc-test COMMAND deconvolution-nhwc-test)
- 
-     ADD_EXECUTABLE(depth-to-space-nchw2nhwc-test test/depth-to-space-nchw2nhwc.cc)
-@@ -1083,197 +1050,197 @@
- 
-     ADD_EXECUTABLE(divide-nd-test test/divide-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(divide-nd-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(divide-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(divide-nd-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME divide-nd-test COMMAND divide-nd-test)
- 
-     ADD_EXECUTABLE(divide-nd-eager-test test/divide-nd-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(divide-nd-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(divide-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(divide-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME divide-nd-eager-test COMMAND divide-nd-eager-test)
- 
-     ADD_EXECUTABLE(elu-nc-test test/elu-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(elu-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(elu-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(elu-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME elu-nc-test COMMAND elu-nc-test)
- 
-     ADD_EXECUTABLE(elu-nc-eager-test test/elu-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(elu-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(elu-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(elu-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME elu-nc-eager-test COMMAND elu-nc-eager-test)
- 
-     ADD_EXECUTABLE(fully-connected-nc-test test/fully-connected-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(fully-connected-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(fully-connected-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(fully-connected-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME fully-connected-nc-test COMMAND fully-connected-nc-test)
- 
-     ADD_EXECUTABLE(floor-nc-test test/floor-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(floor-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(floor-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(floor-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME floor-nc-test COMMAND floor-nc-test)
- 
-     ADD_EXECUTABLE(floor-nc-eager-test test/floor-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(floor-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(floor-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(floor-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME floor-nc-eager-test COMMAND floor-nc-eager-test)
- 
-     ADD_EXECUTABLE(global-average-pooling-nwc-test test/global-average-pooling-nwc.cc)
-     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-nwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(global-average-pooling-nwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(global-average-pooling-nwc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME global-average-pooling-nwc-test COMMAND global-average-pooling-nwc-test)
- 
-     ADD_EXECUTABLE(global-average-pooling-ncw-test test/global-average-pooling-ncw.cc)
-     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-ncw-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(global-average-pooling-ncw-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(global-average-pooling-ncw-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME global-average-pooling-ncw-test COMMAND global-average-pooling-ncw-test)
- 
-     ADD_EXECUTABLE(hardswish-nc-test test/hardswish-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(hardswish-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(hardswish-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(hardswish-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME hardswish-nc-test COMMAND hardswish-nc-test)
- 
-     ADD_EXECUTABLE(hardswish-nc-eager-test test/hardswish-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(hardswish-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(hardswish-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(hardswish-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME hardswish-nc-eager-test COMMAND hardswish-nc-eager-test)
- 
-     ADD_EXECUTABLE(leaky-relu-nc-test test/leaky-relu-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(leaky-relu-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(leaky-relu-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(leaky-relu-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME leaky-relu-nc-test COMMAND leaky-relu-nc-test)
- 
-     ADD_EXECUTABLE(leaky-relu-nc-eager-test test/leaky-relu-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(leaky-relu-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(leaky-relu-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(leaky-relu-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME leaky-relu-nc-eager-test COMMAND leaky-relu-nc-eager-test)
- 
-     ADD_EXECUTABLE(max-pooling-nhwc-test test/max-pooling-nhwc.cc)
-     TARGET_INCLUDE_DIRECTORIES(max-pooling-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(max-pooling-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(max-pooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME max-pooling-nhwc-test COMMAND max-pooling-nhwc-test)
- 
-     ADD_EXECUTABLE(maximum-nd-test test/maximum-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(maximum-nd-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(maximum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(maximum-nd-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME maximum-nd-test COMMAND maximum-nd-test)
- 
-     ADD_EXECUTABLE(maximum-nd-eager-test test/maximum-nd-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(maximum-nd-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(maximum-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(maximum-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME maximum-nd-eager-test COMMAND maximum-nd-eager-test)
- 
-     ADD_EXECUTABLE(minimum-nd-test test/minimum-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(minimum-nd-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(minimum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(minimum-nd-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME minimum-nd-test COMMAND minimum-nd-test)
- 
-     ADD_EXECUTABLE(minimum-nd-eager-test test/minimum-nd-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(minimum-nd-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(minimum-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(minimum-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME minimum-nd-eager-test COMMAND minimum-nd-eager-test)
- 
-     ADD_EXECUTABLE(multiply-nd-test test/multiply-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(multiply-nd-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(multiply-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(multiply-nd-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME multiply-nd-test COMMAND multiply-nd-test)
- 
-     ADD_EXECUTABLE(multiply-nd-eager-test test/multiply-nd-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(multiply-nd-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(multiply-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(multiply-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME multiply-nd-eager-test COMMAND multiply-nd-eager-test)
- 
-     ADD_EXECUTABLE(negate-nc-test test/negate-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(negate-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(negate-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(negate-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME negate-nc-test COMMAND negate-nc-test)
- 
-     ADD_EXECUTABLE(negate-nc-eager-test test/negate-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(negate-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(negate-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(negate-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME negate-nc-eager-test COMMAND negate-nc-eager-test)
- 
-     ADD_EXECUTABLE(prelu-nc-test test/prelu-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(prelu-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(prelu-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(prelu-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME prelu-nc-test COMMAND prelu-nc-test)
- 
-     ADD_EXECUTABLE(resize-bilinear-nhwc-test test/resize-bilinear-nhwc.cc)
-     TARGET_INCLUDE_DIRECTORIES(resize-bilinear-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(resize-bilinear-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(resize-bilinear-nhwc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME resize-bilinear-nhwc-test COMMAND resize-bilinear-nhwc-test)
- 
-     ADD_EXECUTABLE(resize-bilinear-nchw-test test/resize-bilinear-nchw.cc)
-     TARGET_INCLUDE_DIRECTORIES(resize-bilinear-nchw-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(resize-bilinear-nchw-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(resize-bilinear-nchw-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME resize-bilinear-nchw-test COMMAND resize-bilinear-nchw-test)
- 
-     ADD_EXECUTABLE(sigmoid-nc-test test/sigmoid-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(sigmoid-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(sigmoid-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(sigmoid-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME sigmoid-nc-test COMMAND sigmoid-nc-test)
- 
-     ADD_EXECUTABLE(sigmoid-nc-eager-test test/sigmoid-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(sigmoid-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(sigmoid-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(sigmoid-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME sigmoid-nc-eager-test COMMAND sigmoid-nc-eager-test)
- 
-     ADD_EXECUTABLE(slice-nd-test test/slice-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(slice-nd-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(slice-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(slice-nd-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME slice-nd-test COMMAND slice-nd-test)
- 
-     ADD_EXECUTABLE(slice-nd-eager-test test/slice-nd-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(slice-nd-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(slice-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(slice-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME slice-nd-eager-test COMMAND slice-nd-eager-test)
- 
-     ADD_EXECUTABLE(softmax-nc-test test/softmax-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(softmax-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(softmax-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(softmax-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME softmax-nc-test COMMAND softmax-nc-test)
- 
-     ADD_EXECUTABLE(space-to-depth-nhwc-test test/space-to-depth-nhwc.cc)
-     TARGET_INCLUDE_DIRECTORIES(space-to-depth-nhwc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(space-to-depth-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(space-to-depth-nhwc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME space-to-depth-nhwc-test COMMAND space-to-depth-nhwc-test)
- 
-     ADD_EXECUTABLE(square-nc-test test/square-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(square-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(square-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(square-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME square-nc-test COMMAND square-nc-test)
- 
-     ADD_EXECUTABLE(square-nc-eager-test test/square-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(square-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(square-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(square-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME square-nc-eager-test COMMAND square-nc-eager-test)
- 
-     ADD_EXECUTABLE(square-root-nc-test test/square-root-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(square-root-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(square-root-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(square-root-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME square-root-nc-test COMMAND square-root-nc-test)
- 
-     ADD_EXECUTABLE(square-root-nc-eager-test test/square-root-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(square-root-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(square-root-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(square-root-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME square-root-nc-eager-test COMMAND square-root-nc-eager-test)
- 
-     ADD_EXECUTABLE(squared-difference-nd-test test/squared-difference-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(squared-difference-nd-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(squared-difference-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(squared-difference-nd-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME squared-difference-nd-test COMMAND squared-difference-nd-test)
- 
-     ADD_EXECUTABLE(squared-difference-nd-eager-test test/squared-difference-nd-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(squared-difference-nd-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(squared-difference-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(squared-difference-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME squared-difference-nd-eager-test COMMAND squared-difference-nd-eager-test)
- 
-     ADD_EXECUTABLE(subtract-nd-test test/subtract-nd.cc)
-     TARGET_INCLUDE_DIRECTORIES(subtract-nd-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(subtract-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(subtract-nd-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME subtract-nd-test COMMAND subtract-nd-test)
- 
-     ADD_EXECUTABLE(subtract-nd-eager-test test/subtract-nd-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(subtract-nd-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(subtract-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(subtract-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME subtract-nd-eager-test COMMAND subtract-nd-eager-test)
- 
-     ADD_EXECUTABLE(tanh-nc-test test/tanh-nc.cc)
-@@ -1293,12 +1260,12 @@
- 
-     ADD_EXECUTABLE(truncation-nc-test test/truncation-nc.cc)
-     TARGET_INCLUDE_DIRECTORIES(truncation-nc-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(truncation-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(truncation-nc-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME truncation-nc-test COMMAND truncation-nc-test)
- 
-     ADD_EXECUTABLE(truncation-nc-eager-test test/truncation-nc-eager.cc)
-     TARGET_INCLUDE_DIRECTORIES(truncation-nc-eager-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(truncation-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
-+    TARGET_LINK_LIBRARIES(truncation-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
-     ADD_TEST(NAME truncation-nc-eager-test COMMAND truncation-nc-eager-test)
- 
-     ADD_EXECUTABLE(unpooling-nhwc-test test/unpooling-nhwc.cc)
-@@ -1350,22 +1317,22 @@
- 
-     ADD_EXECUTABLE(average-pooling-2d-test test/average-pooling-2d.cc)
-     TARGET_INCLUDE_DIRECTORIES(average-pooling-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(average-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(average-pooling-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME average-pooling-2d-test COMMAND average-pooling-2d-test)
- 
-     ADD_EXECUTABLE(bankers-rounding-test test/bankers-rounding.cc)
-     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(bankers-rounding-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(bankers-rounding-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME bankers-rounding-test COMMAND bankers-rounding-test)
- 
-     ADD_EXECUTABLE(ceiling-test test/ceiling.cc)
-     TARGET_INCLUDE_DIRECTORIES(ceiling-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(ceiling-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(ceiling-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME ceiling-test COMMAND ceiling-test)
- 
-     ADD_EXECUTABLE(clamp-test test/clamp.cc)
-     TARGET_INCLUDE_DIRECTORIES(clamp-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(clamp-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(clamp-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME clamp-test COMMAND clamp-test)
- 
-     ADD_EXECUTABLE(concatenate2-test test/concatenate2.cc)
-@@ -1385,187 +1352,187 @@
- 
-     ADD_EXECUTABLE(convert-test test/convert.cc)
-     TARGET_INCLUDE_DIRECTORIES(convert-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(convert-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(convert-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME convert-test COMMAND convert-test)
- 
-     ADD_EXECUTABLE(convolution-2d-test test/convolution-2d.cc)
-     SET_TARGET_PROPERTIES(convolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
-     TARGET_INCLUDE_DIRECTORIES(convolution-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(convolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
-+    TARGET_LINK_LIBRARIES(convolution-2d-test PRIVATE XNNPACK gtest gtest_main subgraph convolution-test-helpers)
-     ADD_TEST(NAME convolution-2d-test COMMAND convolution-2d-test)
- 
-     ADD_EXECUTABLE(copy-test test/copy.cc)
-     TARGET_INCLUDE_DIRECTORIES(copy-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(copy-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(copy-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME copy-test COMMAND copy-test)
- 
-     ADD_EXECUTABLE(deconvolution-2d-test test/deconvolution-2d.cc)
-     SET_TARGET_PROPERTIES(deconvolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
-     TARGET_INCLUDE_DIRECTORIES(deconvolution-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(deconvolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
-+    TARGET_LINK_LIBRARIES(deconvolution-2d-test PRIVATE XNNPACK gtest gtest_main subgraph convolution-test-helpers)
-     ADD_TEST(NAME deconvolution-2d-test COMMAND deconvolution-2d-test)
- 
-     ADD_EXECUTABLE(depth-to-space-test test/depth-to-space.cc)
-     TARGET_INCLUDE_DIRECTORIES(depth-to-space-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(depth-to-space-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(depth-to-space-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME depth-to-space-test COMMAND depth-to-space-test)
- 
-     ADD_EXECUTABLE(depthwise-convolution-2d-test test/depthwise-convolution-2d.cc)
-     SET_TARGET_PROPERTIES(depthwise-convolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
-     TARGET_INCLUDE_DIRECTORIES(depthwise-convolution-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(depthwise-convolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
-+    TARGET_LINK_LIBRARIES(depthwise-convolution-2d-test PRIVATE XNNPACK gtest gtest_main subgraph convolution-test-helpers)
-     ADD_TEST(NAME depthwise-convolution-2d-test COMMAND depthwise-convolution-2d-test)
- 
-     ADD_EXECUTABLE(divide2-test test/divide2.cc)
-     TARGET_INCLUDE_DIRECTORIES(divide2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(divide2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(divide2-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME divide2-test COMMAND divide2-test)
- 
-     ADD_EXECUTABLE(elu-test test/elu.cc)
-     TARGET_INCLUDE_DIRECTORIES(elu-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(elu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(elu-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME elu-test COMMAND elu-test)
- 
-     ADD_EXECUTABLE(even-split2-test test/even-split2.cc)
-     TARGET_INCLUDE_DIRECTORIES(even-split2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(even-split2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(even-split2-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME even-split2-test COMMAND even-split2-test)
- 
-     ADD_EXECUTABLE(even-split3-test test/even-split3.cc)
-     TARGET_INCLUDE_DIRECTORIES(even-split3-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(even-split3-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(even-split3-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME even-split3-test COMMAND even-split3-test)
- 
-     ADD_EXECUTABLE(even-split4-test test/even-split4.cc)
-     TARGET_INCLUDE_DIRECTORIES(even-split4-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(even-split4-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(even-split4-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME even-split4-test COMMAND even-split4-test)
- 
-     ADD_EXECUTABLE(floor-test test/floor.cc)
-     TARGET_INCLUDE_DIRECTORIES(floor-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(floor-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(floor-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME floor-test COMMAND floor-test)
- 
-     ADD_EXECUTABLE(fully-connected-test test/fully-connected.cc)
-     TARGET_INCLUDE_DIRECTORIES(fully-connected-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(fully-connected-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(fully-connected-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME fully-connected-test COMMAND fully-connected-test)
- 
-     ADD_EXECUTABLE(global-average-pooling-1d-test test/global-average-pooling-1d.cc)
-     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-1d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(global-average-pooling-1d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(global-average-pooling-1d-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME global-average-pooling-1d-test COMMAND global-average-pooling-1d-test)
- 
-     ADD_EXECUTABLE(global-average-pooling-2d-test test/global-average-pooling-2d.cc)
-     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(global-average-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(global-average-pooling-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME global-average-pooling-2d-test COMMAND global-average-pooling-2d-test)
- 
-     ADD_EXECUTABLE(hardswish-test test/hardswish.cc)
-     TARGET_INCLUDE_DIRECTORIES(hardswish-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(hardswish-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(hardswish-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME hardswish-test COMMAND hardswish-test)
- 
-     ADD_EXECUTABLE(leaky-relu-test test/leaky-relu.cc)
-     TARGET_INCLUDE_DIRECTORIES(leaky-relu-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(leaky-relu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(leaky-relu-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME leaky-relu-test COMMAND leaky-relu-test)
- 
-     ADD_EXECUTABLE(max-pooling-2d-test test/max-pooling-2d.cc)
-     TARGET_INCLUDE_DIRECTORIES(max-pooling-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(max-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(max-pooling-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME max-pooling-2d-test COMMAND max-pooling-2d-test)
- 
-     ADD_EXECUTABLE(maximum2-test test/maximum2.cc)
-     TARGET_INCLUDE_DIRECTORIES(maximum2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(maximum2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(maximum2-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME maximum2-test COMMAND maximum2-test)
- 
-     ADD_EXECUTABLE(minimum2-test test/minimum2.cc)
-     TARGET_INCLUDE_DIRECTORIES(minimum2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(minimum2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(minimum2-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME minimum2-test COMMAND minimum2-test)
- 
-     ADD_EXECUTABLE(multiply2-test test/multiply2.cc)
-     TARGET_INCLUDE_DIRECTORIES(multiply2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(multiply2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(multiply2-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME multiply2-test COMMAND multiply2-test)
- 
-     ADD_EXECUTABLE(negate-test test/negate.cc)
-     TARGET_INCLUDE_DIRECTORIES(negate-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(negate-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(negate-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME negate-test COMMAND negate-test)
- 
-     ADD_EXECUTABLE(prelu-test test/prelu.cc)
-     TARGET_INCLUDE_DIRECTORIES(prelu-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(prelu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(prelu-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME prelu-test COMMAND prelu-test)
- 
-     ADD_EXECUTABLE(sigmoid-test test/sigmoid.cc)
-     SET_TARGET_PROPERTIES(sigmoid-test PROPERTIES CXX_EXTENSIONS YES)
-     TARGET_INCLUDE_DIRECTORIES(sigmoid-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(sigmoid-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(sigmoid-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME sigmoid-test COMMAND sigmoid-test)
- 
-     ADD_EXECUTABLE(static-slice-test test/static-slice.cc)
-     SET_TARGET_PROPERTIES(static-slice-test PROPERTIES CXX_EXTENSIONS YES)
-     TARGET_INCLUDE_DIRECTORIES(static-slice-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-slice-test PRIVATE XNNPACK fp16 gmock gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(static-slice-test PRIVATE XNNPACK gmock gtest gtest_main subgraph)
-     ADD_TEST(NAME static-slice-test COMMAND static-slice-test)
- 
-     ADD_EXECUTABLE(softmax-test test/softmax.cc)
-     TARGET_INCLUDE_DIRECTORIES(softmax-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(softmax-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(softmax-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME softmax-test COMMAND softmax-test)
- 
-     ADD_EXECUTABLE(space-to-depth-2d-test test/space-to-depth-2d.cc)
-     TARGET_INCLUDE_DIRECTORIES(space-to-depth-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(space-to-depth-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(space-to-depth-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME space-to-depth-2d-test COMMAND space-to-depth-2d-test)
- 
-     ADD_EXECUTABLE(square-test test/square.cc)
-     TARGET_INCLUDE_DIRECTORIES(square-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(square-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(square-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME square-test COMMAND square-test)
- 
-     ADD_EXECUTABLE(square-root-test test/square.cc)
-     TARGET_INCLUDE_DIRECTORIES(square-root-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(square-root-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(square-root-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME square-root-test COMMAND square-root-test)
- 
-     ADD_EXECUTABLE(squared-difference-test test/squared-difference.cc)
-     TARGET_INCLUDE_DIRECTORIES(squared-difference-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(squared-difference-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(squared-difference-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME squared-difference-test COMMAND squared-difference-test)
- 
-     ADD_EXECUTABLE(static-constant-pad-test test/static-constant-pad.cc)
-     TARGET_INCLUDE_DIRECTORIES(static-constant-pad-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-constant-pad-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(static-constant-pad-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME static-constant-pad-test COMMAND static-constant-pad-test)
- 
-     ADD_EXECUTABLE(static-reshape-test test/static-reshape.cc)
-     TARGET_INCLUDE_DIRECTORIES(static-reshape-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-reshape-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(static-reshape-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME static-reshape-test COMMAND static-reshape-test)
- 
-     ADD_EXECUTABLE(static-resize-bilinear-2d-test test/static-resize-bilinear-2d.cc)
-     TARGET_INCLUDE_DIRECTORIES(static-resize-bilinear-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-resize-bilinear-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(static-resize-bilinear-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME static-resize-bilinear-2d-test COMMAND static-resize-bilinear-2d-test)
- 
-     ADD_EXECUTABLE(static-transpose-test test/static-transpose.cc)
-     TARGET_INCLUDE_DIRECTORIES(static-transpose-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(static-transpose-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(static-transpose-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME static-transpose-test COMMAND static-transpose-test)
- 
-     ADD_EXECUTABLE(subtract2-test test/subtract2.cc)
-     TARGET_INCLUDE_DIRECTORIES(subtract2-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(subtract2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(subtract2-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME subtract2-test COMMAND subtract2-test)
- 
-     ADD_EXECUTABLE(unpooling-2d-test test/unpooling-2d.cc)
-     TARGET_INCLUDE_DIRECTORIES(unpooling-2d-test PRIVATE src test)
--    TARGET_LINK_LIBRARIES(unpooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
-+    TARGET_LINK_LIBRARIES(unpooling-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
-     ADD_TEST(NAME unpooling-2d-test COMMAND unpooling-2d-test)
-   ENDIF()
- 
-@@ -1591,355 +1558,355 @@
- 
-   ADD_EXECUTABLE(f16-f32-vcvt-test test/f16-f32-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-f32-vcvt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-f32-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-f32-vcvt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-f32-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-f32-vcvt-test COMMAND f16-f32-vcvt-test)
- 
-   ADD_EXECUTABLE(f16-gavgpool-cw-test test/f16-gavgpool-cw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-gavgpool-cw-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-gavgpool-cw-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-gavgpool-cw-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-gavgpool-cw-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-gavgpool-cw-test COMMAND f16-gavgpool-cw-test)
- 
-   ADD_EXECUTABLE(f16-avgpool-minmax-test test/f16-avgpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-avgpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-avgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-avgpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-avgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-avgpool-minmax-test COMMAND f16-avgpool-minmax-test)
- 
-   ADD_EXECUTABLE(f16-conv-hwc2chw-test test/f16-conv-hwc2chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-conv-hwc2chw-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f16-conv-hwc2chw-test COMMAND f16-conv-hwc2chw-test)
- 
-   ADD_EXECUTABLE(f16-dwconv-unipass-minmax-test test/f16-dwconv-unipass-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-dwconv-unipass-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-dwconv-unipass-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-dwconv-unipass-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-dwconv-unipass-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f16-dwconv-unipass-minmax-test COMMAND f16-dwconv-unipass-minmax-test)
- 
-   ADD_EXECUTABLE(f16-dwconv2d-chw-test test/f16-dwconv2d-chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-dwconv2d-chw-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f16-dwconv2d-chw-test COMMAND f16-dwconv2d-chw-test)
- 
-   ADD_EXECUTABLE(f16-gavgpool-minmax-test test/f16-gavgpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-gavgpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-gavgpool-minmax-test COMMAND f16-gavgpool-minmax-test)
- 
-   ADD_EXECUTABLE(f16-gemm-minmax-test test/f16-gemm-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-gemm-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE gemm-microkernel-tester hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-gemm-minmax-test COMMAND f16-gemm-minmax-test)
- 
-   ADD_EXECUTABLE(f16-ibilinear-chw-test test/f16-ibilinear-chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-ibilinear-chw-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-ibilinear-chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-ibilinear-chw-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-ibilinear-chw-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-ibilinear-chw-test COMMAND f16-ibilinear-chw-test)
- 
-   ADD_EXECUTABLE(f16-ibilinear-test test/f16-ibilinear.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-ibilinear-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-ibilinear-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-ibilinear-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-ibilinear-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-ibilinear-test COMMAND f16-ibilinear-test)
- 
-   ADD_EXECUTABLE(f16-igemm-minmax-test test/f16-igemm-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-igemm-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE gemm-microkernel-tester hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-igemm-minmax-test COMMAND f16-igemm-minmax-test)
- 
-   ADD_EXECUTABLE(f16-maxpool-minmax-test test/f16-maxpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-maxpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-maxpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-maxpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-maxpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-maxpool-minmax-test COMMAND f16-maxpool-minmax-test)
- 
-   ADD_EXECUTABLE(f16-spmm-minmax-test test/f16-spmm-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-spmm-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-spmm-minmax-test COMMAND f16-spmm-minmax-test)
- 
-   ADD_EXECUTABLE(f16-rmax-test test/f16-rmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-rmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-rmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-rmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-rmax-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-rmax-test COMMAND f16-rmax-test)
- 
-   ADD_EXECUTABLE(f16-vabs-test test/f16-vabs.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vabs-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vabs-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vabs-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vabs-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vabs-test COMMAND f16-vabs-test)
- 
-   ADD_EXECUTABLE(f16-vadd-minmax-test test/f16-vadd-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vadd-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vadd-minmax-test COMMAND f16-vadd-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vaddc-minmax-test test/f16-vaddc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vaddc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vaddc-minmax-test COMMAND f16-vaddc-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vclamp-test test/f16-vclamp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vclamp-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vclamp-test COMMAND f16-vclamp-test)
- 
-   ADD_EXECUTABLE(f16-vdiv-minmax-test test/f16-vdiv-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vdiv-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vdiv-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vdiv-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vdiv-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vdiv-minmax-test COMMAND f16-vdiv-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vdivc-minmax-test test/f16-vdivc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vdivc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vdivc-minmax-test COMMAND f16-vdivc-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vrdivc-minmax-test test/f16-vrdivc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vrdivc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vrdivc-minmax-test COMMAND f16-vrdivc-minmax-test)
- 
-   ADD_EXECUTABLE(f16-velu-test test/f16-velu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-velu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-velu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-velu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-velu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-velu-test COMMAND f16-velu-test)
- 
-   ADD_EXECUTABLE(f16-vhswish-test test/f16-vhswish.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vhswish-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vhswish-test COMMAND f16-vhswish-test)
- 
-   ADD_EXECUTABLE(f16-vlrelu-test test/f16-vlrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vlrelu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vlrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vlrelu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vlrelu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vlrelu-test COMMAND f16-vlrelu-test)
- 
-   ADD_EXECUTABLE(f16-vmax-test test/f16-vmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vmax-test COMMAND f16-vmax-test)
- 
-   ADD_EXECUTABLE(f16-vmaxc-test test/f16-vmaxc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vmaxc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vmaxc-test COMMAND f16-vmaxc-test)
- 
-   ADD_EXECUTABLE(f16-vmin-test test/f16-vmin.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vmin-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vmin-test COMMAND f16-vmin-test)
- 
-   ADD_EXECUTABLE(f16-vminc-test test/f16-vminc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vminc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vminc-test COMMAND f16-vminc-test)
- 
-   ADD_EXECUTABLE(f16-vmul-minmax-test test/f16-vmul-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vmul-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vmul-minmax-test COMMAND f16-vmul-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vmulc-minmax-test test/f16-vmulc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vmulc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vmulc-minmax-test COMMAND f16-vmulc-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vmulcaddc-minmax-test test/f16-vmulcaddc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vmulcaddc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f16-vmulcaddc-minmax-test COMMAND f16-vmulcaddc-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vneg-test test/f16-vneg.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vneg-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vneg-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(f16-vneg-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(f16-vneg-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vneg-test COMMAND f16-vneg-test)
- 
-   ADD_EXECUTABLE(f16-pavgpool-minmax-test test/f16-pavgpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-pavgpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-pavgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-pavgpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-pavgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-pavgpool-minmax-test COMMAND f16-pavgpool-minmax-test)
- 
-   ADD_EXECUTABLE(f16-prelu-test test/f16-prelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-prelu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-prelu-test COMMAND f16-prelu-test)
- 
-   ADD_EXECUTABLE(f16-raddstoreexpminusmax-test test/f16-raddstoreexpminusmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-raddstoreexpminusmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-raddstoreexpminusmax-test COMMAND f16-raddstoreexpminusmax-test)
- 
-   ADD_EXECUTABLE(f16-vrndne-test test/f16-vrndne.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vrndne-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vrndne-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vrndne-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vrndne-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vrndne-test COMMAND f16-vrndne-test)
- 
-   ADD_EXECUTABLE(f16-vrndz-test test/f16-vrndz.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vrndz-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vrndz-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vrndz-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vrndz-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vrndz-test COMMAND f16-vrndz-test)
- 
-   ADD_EXECUTABLE(f16-vrndu-test test/f16-vrndu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vrndu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vrndu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vrndu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vrndu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vrndu-test COMMAND f16-vrndu-test)
- 
-   ADD_EXECUTABLE(f16-vrndd-test test/f16-vrndd.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vrndd-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vrndd-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vrndd-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vrndd-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vrndd-test COMMAND f16-vrndd-test)
- 
-   ADD_EXECUTABLE(f16-vsigmoid-test test/f16-vsigmoid.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vsigmoid-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vsigmoid-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vsigmoid-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vsigmoid-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vsigmoid-test COMMAND f16-vsigmoid-test)
- 
-   ADD_EXECUTABLE(f16-vsqr-test test/f16-vsqr.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vsqr-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vsqr-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vsqr-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vsqr-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vsqr-test COMMAND f16-vsqr-test)
- 
-   ADD_EXECUTABLE(f16-vsqrt-test test/f16-vsqrt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vsqrt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vsqrt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vsqrt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vsqrt-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f16-vsqrt-test COMMAND f16-vsqrt-test)
- 
-   ADD_EXECUTABLE(f16-vsub-minmax-test test/f16-vsub-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vsub-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vsub-minmax-test COMMAND f16-vsub-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vsubc-minmax-test test/f16-vsubc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vsubc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vsubc-minmax-test COMMAND f16-vsubc-minmax-test)
- 
-   ADD_EXECUTABLE(f16-vrsubc-minmax-test test/f16-vrsubc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vrsubc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f16-vrsubc-minmax-test COMMAND f16-vrsubc-minmax-test)
- 
-   ADD_EXECUTABLE(f32-argmaxpool-test test/f32-argmaxpool.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-argmaxpool-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-argmaxpool-test COMMAND f32-argmaxpool-test)
- 
-   ADD_EXECUTABLE(f32-avgpool-minmax-test test/f32-avgpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-avgpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-avgpool-minmax-test COMMAND f32-avgpool-minmax-test)
- 
-   ADD_EXECUTABLE(f32-conv-hwc-test test/f32-conv-hwc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f32-conv-hwc-test COMMAND f32-conv-hwc-test)
- 
-   ADD_EXECUTABLE(f32-conv-hwc2chw-test test/f32-conv-hwc2chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc2chw-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f32-conv-hwc2chw-test COMMAND f32-conv-hwc2chw-test)
- 
-   ADD_EXECUTABLE(f32-dwconv2d-chw-test test/f32-dwconv2d-chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-dwconv2d-chw-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-dwconv2d-chw-test COMMAND f32-dwconv2d-chw-test)
- 
-   ADD_EXECUTABLE(f32-dwconv-multipass-test test/f32-dwconv-multipass.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-multipass-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-dwconv-multipass-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-dwconv-multipass-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-dwconv-multipass-test PRIVATE hardware-config logging microkernel-utils microkernels-all microparams-init packing)
-   ADD_TEST(NAME f32-dwconv-multipass-test COMMAND f32-dwconv-multipass-test)
- 
-   ADD_EXECUTABLE(f32-dwconv-multipass-minmax-test test/f32-dwconv-multipass-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-multipass-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-dwconv-multipass-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-dwconv-multipass-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-dwconv-multipass-minmax-test PRIVATE hardware-config logging microkernel-utils microkernels-all microparams-init packing)
-   ADD_TEST(NAME f32-dwconv-multipass-minmax-test COMMAND f32-dwconv-multipass-minmax-test)
- 
-   ADD_EXECUTABLE(f32-dwconv-unipass-test test/f32-dwconv-unipass.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-unipass-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-dwconv-unipass-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-dwconv-unipass-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-dwconv-unipass-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f32-dwconv-unipass-test COMMAND f32-dwconv-unipass-test)
- 
-   ADD_EXECUTABLE(f32-dwconv-unipass-minmax-test test/f32-dwconv-unipass-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-unipass-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-dwconv-unipass-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-dwconv-unipass-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-dwconv-unipass-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f32-dwconv-unipass-minmax-test COMMAND f32-dwconv-unipass-minmax-test)
- 
-   ADD_EXECUTABLE(f32-f16-vcvt-test test/f32-f16-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-f16-vcvt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-f16-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-f16-vcvt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-f16-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-f16-vcvt-test COMMAND f32-f16-vcvt-test)
- 
-   ADD_EXECUTABLE(f32-qs8-vcvt-test test/f32-qs8-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-qs8-vcvt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-qs8-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-qs8-vcvt-test COMMAND f32-qs8-vcvt-test)
- 
-   ADD_EXECUTABLE(f32-qu8-vcvt-test test/f32-qu8-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-qu8-vcvt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-qu8-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-qu8-vcvt-test COMMAND f32-qu8-vcvt-test)
- 
-   ADD_EXECUTABLE(f32-gavgpool-cw-test test/f32-gavgpool-cw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-cw-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-gavgpool-cw-test COMMAND f32-gavgpool-cw-test)
- 
-   ADD_EXECUTABLE(f32-gavgpool-minmax-test test/f32-gavgpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-gavgpool-minmax-test COMMAND f32-gavgpool-minmax-test)
- 
-@@ -1975,13 +1942,13 @@
- 
-   ADD_EXECUTABLE(f32-ibilinear-test test/f32-ibilinear.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-ibilinear-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-ibilinear-test COMMAND f32-ibilinear-test)
- 
-   ADD_EXECUTABLE(f32-ibilinear-chw-test test/f32-ibilinear-chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-ibilinear-chw-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-ibilinear-chw-test COMMAND f32-ibilinear-chw-test)
- 
-@@ -2016,13 +1983,13 @@
- 
-   ADD_EXECUTABLE(f32-maxpool-minmax-test test/f32-maxpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-maxpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-maxpool-minmax-test COMMAND f32-maxpool-minmax-test)
- 
-   ADD_EXECUTABLE(f32-pavgpool-minmax-test test/f32-pavgpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-pavgpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-pavgpool-minmax-test COMMAND f32-pavgpool-minmax-test)
- 
-@@ -2034,259 +2001,259 @@
- 
-   ADD_EXECUTABLE(f32-prelu-test test/f32-prelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-prelu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-prelu-test COMMAND f32-prelu-test)
- 
-   ADD_EXECUTABLE(f32-raddexpminusmax-test test/f32-raddexpminusmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-raddexpminusmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-raddexpminusmax-test COMMAND f32-raddexpminusmax-test)
- 
-   ADD_EXECUTABLE(f32-raddextexp-test test/f32-raddextexp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-raddextexp-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-raddextexp-test COMMAND f32-raddextexp-test)
- 
-   ADD_EXECUTABLE(f32-raddstoreexpminusmax-test test/f32-raddstoreexpminusmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-raddstoreexpminusmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-raddstoreexpminusmax-test COMMAND f32-raddstoreexpminusmax-test)
- 
-   ADD_EXECUTABLE(f32-rmax-test test/f32-rmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-rmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-rmax-test COMMAND f32-rmax-test)
- 
-   ADD_EXECUTABLE(f32-spmm-minmax-test test/f32-spmm-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-spmm-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-spmm-minmax-test COMMAND f32-spmm-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vabs-test test/f32-vabs.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vabs-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vabs-test COMMAND f32-vabs-test)
- 
-   ADD_EXECUTABLE(f32-vadd-test test/f32-vadd.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vadd-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vadd-test COMMAND f32-vadd-test)
- 
-   ADD_EXECUTABLE(f32-vadd-minmax-test test/f32-vadd-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vadd-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vadd-minmax-test COMMAND f32-vadd-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vadd-relu-test test/f32-vadd-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vadd-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vadd-relu-test COMMAND f32-vadd-relu-test)
- 
-   ADD_EXECUTABLE(f32-vaddc-test test/f32-vaddc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vaddc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vaddc-test COMMAND f32-vaddc-test)
- 
-   ADD_EXECUTABLE(f32-vaddc-minmax-test test/f32-vaddc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vaddc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vaddc-minmax-test COMMAND f32-vaddc-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vaddc-relu-test test/f32-vaddc-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vaddc-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vaddc-relu-test COMMAND f32-vaddc-relu-test)
- 
-   ADD_EXECUTABLE(f32-vclamp-test test/f32-vclamp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vclamp-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE test gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vclamp-test COMMAND f32-vclamp-test)
- 
-   ADD_EXECUTABLE(f32-vhswish-test test/f32-vhswish.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vhswish-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vhswish-test COMMAND f32-vhswish-test)
- 
-   ADD_EXECUTABLE(f32-vdiv-test test/f32-vdiv.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vdiv-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vdiv-test COMMAND f32-vdiv-test)
- 
-   ADD_EXECUTABLE(f32-vdiv-minmax-test test/f32-vdiv-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vdiv-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vdiv-minmax-test COMMAND f32-vdiv-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vdiv-relu-test test/f32-vdiv-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vdiv-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vdiv-relu-test COMMAND f32-vdiv-relu-test)
- 
-   ADD_EXECUTABLE(f32-vdivc-test test/f32-vdivc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vdivc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vdivc-test COMMAND f32-vdivc-test)
- 
-   ADD_EXECUTABLE(f32-vdivc-minmax-test test/f32-vdivc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vdivc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vdivc-minmax-test COMMAND f32-vdivc-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vdivc-relu-test test/f32-vdivc-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vdivc-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vdivc-relu-test COMMAND f32-vdivc-relu-test)
- 
-   ADD_EXECUTABLE(f32-vrdivc-test test/f32-vrdivc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vrdivc-test COMMAND f32-vrdivc-test)
- 
-   ADD_EXECUTABLE(f32-vrdivc-minmax-test test/f32-vrdivc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vrdivc-minmax-test COMMAND f32-vrdivc-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vrdivc-relu-test test/f32-vrdivc-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vrdivc-relu-test COMMAND f32-vrdivc-relu-test)
- 
-   ADD_EXECUTABLE(f32-velu-test test/f32-velu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-velu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-velu-test COMMAND f32-velu-test)
- 
-   ADD_EXECUTABLE(f32-vlrelu-test test/f32-vlrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vlrelu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vlrelu-test COMMAND f32-vlrelu-test)
- 
-   ADD_EXECUTABLE(f32-vmax-test test/f32-vmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmax-test COMMAND f32-vmax-test)
- 
-   ADD_EXECUTABLE(f32-vmaxc-test test/f32-vmaxc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmaxc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmaxc-test COMMAND f32-vmaxc-test)
- 
-   ADD_EXECUTABLE(f32-vmin-test test/f32-vmin.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmin-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmin-test COMMAND f32-vmin-test)
- 
-   ADD_EXECUTABLE(f32-vminc-test test/f32-vminc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vminc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vminc-test COMMAND f32-vminc-test)
- 
-   ADD_EXECUTABLE(f32-vmul-test test/f32-vmul.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmul-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmul-test COMMAND f32-vmul-test)
- 
-   ADD_EXECUTABLE(f32-vmul-minmax-test test/f32-vmul-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmul-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmul-minmax-test COMMAND f32-vmul-minmax-test microparams-init)
- 
-   ADD_EXECUTABLE(f32-vmul-relu-test test/f32-vmul-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmul-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmul-relu-test COMMAND f32-vmul-relu-test)
- 
-   ADD_EXECUTABLE(f32-vmulc-test test/f32-vmulc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmulc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmulc-test COMMAND f32-vmulc-test)
- 
-   ADD_EXECUTABLE(f32-vmulc-minmax-test test/f32-vmulc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmulc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmulc-minmax-test COMMAND f32-vmulc-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vmulc-relu-test test/f32-vmulc-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmulc-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vmulc-relu-test COMMAND f32-vmulc-relu-test)
- 
-   ADD_EXECUTABLE(f32-vmulcaddc-minmax-test test/f32-vmulcaddc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vmulcaddc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME f32-vmulcaddc-minmax-test COMMAND f32-vmulcaddc-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vneg-test test/f32-vneg.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vneg-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vneg-test COMMAND f32-vneg-test)
- 
-   ADD_EXECUTABLE(f32-vrelu-test test/f32-vrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrelu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vrelu-test COMMAND f32-vrelu-test)
- 
-   ADD_EXECUTABLE(f32-vrndne-test test/f32-vrndne.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrndne-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vrndne-test COMMAND f32-vrndne-test)
- 
-   ADD_EXECUTABLE(f32-vrndz-test test/f32-vrndz.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrndz-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vrndz-test COMMAND f32-vrndz-test)
- 
-   ADD_EXECUTABLE(f32-vrndu-test test/f32-vrndu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrndu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vrndu-test COMMAND f32-vrndu-test)
- 
-   ADD_EXECUTABLE(f32-vrndd-test test/f32-vrndd.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrndd-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vrndd-test COMMAND f32-vrndd-test)
- 
-@@ -2304,91 +2271,91 @@
- 
-   ADD_EXECUTABLE(f32-vsigmoid-test test/f32-vsigmoid.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsigmoid-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vsigmoid-test COMMAND f32-vsigmoid-test)
- 
-   ADD_EXECUTABLE(f32-vsqr-test test/f32-vsqr.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsqr-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vsqr-test COMMAND f32-vsqr-test)
- 
-   ADD_EXECUTABLE(f32-vsqrdiff-test test/f32-vsqrdiff.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsqrdiff-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vsqrdiff-test COMMAND f32-vsqrdiff-test)
- 
-   ADD_EXECUTABLE(f32-vsqrdiffc-test test/f32-vsqrdiffc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsqrdiffc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vsqrdiffc-test COMMAND f32-vsqrdiffc-test)
- 
-   ADD_EXECUTABLE(f32-vsqrt-test test/f32-vsqrt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsqrt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vsqrt-test COMMAND f32-vsqrt-test)
- 
-   ADD_EXECUTABLE(f32-vsub-test test/f32-vsub.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsub-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vsub-test COMMAND f32-vsub-test)
- 
-   ADD_EXECUTABLE(f32-vsub-minmax-test test/f32-vsub-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsub-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vsub-minmax-test COMMAND f32-vsub-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vsub-relu-test test/f32-vsub-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsub-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vsub-relu-test COMMAND f32-vsub-relu-test)
- 
-   ADD_EXECUTABLE(f32-vsubc-test test/f32-vsubc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsubc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vsubc-test COMMAND f32-vsubc-test)
- 
-   ADD_EXECUTABLE(f32-vsubc-minmax-test test/f32-vsubc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsubc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vsubc-minmax-test COMMAND f32-vsubc-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vsubc-relu-test test/f32-vsubc-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsubc-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vsubc-relu-test COMMAND f32-vsubc-relu-test)
- 
-   ADD_EXECUTABLE(f32-vrsubc-test test/f32-vrsubc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vrsubc-test COMMAND f32-vrsubc-test)
- 
-   ADD_EXECUTABLE(f32-vrsubc-minmax-test test/f32-vrsubc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME f32-vrsubc-minmax-test COMMAND f32-vrsubc-minmax-test)
- 
-   ADD_EXECUTABLE(f32-vrsubc-relu-test test/f32-vrsubc-relu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-relu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME f32-vrsubc-relu-test COMMAND f32-vrsubc-relu-test)
- 
-   ADD_EXECUTABLE(qc8-dwconv-unipass-minmax-fp32-test test/qc8-dwconv-unipass-minmax-fp32.cc)
-   TARGET_INCLUDE_DIRECTORIES(qc8-dwconv-unipass-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qc8-dwconv-unipass-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qc8-dwconv-unipass-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qc8-dwconv-unipass-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME qc8-dwconv-unipass-minmax-fp32-test COMMAND qc8-dwconv-unipass-minmax-fp32-test)
- 
-@@ -2406,31 +2373,31 @@
- 
-   ADD_EXECUTABLE(qs8-dwconv-unipass-minmax-fp32-test test/qs8-dwconv-unipass-minmax-fp32.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-unipass-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-fp32-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME qs8-dwconv-unipass-minmax-fp32-test COMMAND qs8-dwconv-unipass-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qs8-dwconv-unipass-minmax-rndnu-test test/qs8-dwconv-unipass-minmax-rndnu.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-unipass-minmax-rndnu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-rndnu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME qs8-dwconv-unipass-minmax-rndnu-test COMMAND qs8-dwconv-unipass-minmax-rndnu-test)
- 
-   ADD_EXECUTABLE(qs8-f32-vcvt-test test/f32-f16-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-f32-vcvt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-f32-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-f32-vcvt-test COMMAND qs8-f32-vcvt-test)
- 
-   ADD_EXECUTABLE(qs8-gavgpool-minmax-fp32-test test/qs8-gavgpool-minmax-fp32.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-gavgpool-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-gavgpool-minmax-fp32-test COMMAND qs8-gavgpool-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qs8-gavgpool-minmax-rndnu-test test/qs8-gavgpool-minmax-rndnu.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-gavgpool-minmax-rndnu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-rndnu-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-gavgpool-minmax-rndnu-test COMMAND qs8-gavgpool-minmax-rndnu-test)
- 
-@@ -2461,81 +2428,81 @@
-   ADD_EXECUTABLE(qs8-requantization-test test/qs8-requantization.cc)
-   SET_TARGET_PROPERTIES(qs8-requantization-test PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qs8-requantization-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-requantization-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-requantization-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-requantization-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME qs8-requantization-test COMMAND qs8-requantization-test)
- 
-   ADD_EXECUTABLE(qs8-vadd-minmax-test test/qs8-vadd-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vadd-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-vadd-minmax-test COMMAND qs8-vadd-minmax-test)
- 
-   ADD_EXECUTABLE(qs8-vaddc-minmax-test test/qs8-vaddc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vaddc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-vaddc-minmax-test COMMAND qs8-vaddc-minmax-test)
- 
-   ADD_EXECUTABLE(qs8-vcvt-test test/qs8-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vcvt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-vcvt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-vcvt-test COMMAND qs8-vcvt-test)
- 
-   ADD_EXECUTABLE(qs8-vlrelu-test test/qs8-vlrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vlrelu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-vlrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-vlrelu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-vlrelu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-vlrelu-test COMMAND qs8-vlrelu-test)
- 
-   ADD_EXECUTABLE(qs8-vmul-minmax-fp32-test test/qs8-vmul-minmax-fp32.cc)
-   SET_TARGET_PROPERTIES(qs8-vmul-minmax-fp32-test PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vmul-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-vmul-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-vmul-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-vmul-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-vmul-minmax-fp32-test COMMAND qs8-vmul-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qs8-vmulc-minmax-fp32-test test/qs8-vmulc-minmax-fp32.cc)
-   SET_TARGET_PROPERTIES(qs8-vmulc-minmax-fp32-test PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vmulc-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qs8-vmulc-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qs8-vmulc-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qs8-vmulc-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qs8-vmulc-minmax-fp32-test COMMAND qs8-vmulc-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qu8-avgpool-minmax-fp32-test test/qu8-avgpool-minmax-fp32.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-avgpool-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-avgpool-minmax-fp32-test COMMAND qu8-avgpool-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qu8-dwconv-unipass-minmax-fp32-test test/qu8-dwconv-unipass-minmax-fp32.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-unipass-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME qu8-dwconv-unipass-minmax-fp32-test COMMAND qu8-dwconv-unipass-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qu8-dwconv-unipass-minmax-rndnu-test test/qu8-dwconv-unipass-minmax-rndnu.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-unipass-minmax-rndnu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-rndnu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
-   ADD_TEST(NAME qu8-dwconv-unipass-minmax-rndnu-test COMMAND qu8-dwconv-unipass-minmax-rndnu-test)
- 
-   ADD_EXECUTABLE(qu8-f32-vcvt-test test/f32-f16-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-f32-vcvt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-f32-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-f32-vcvt-test COMMAND qu8-f32-vcvt-test)
- 
-   ADD_EXECUTABLE(qu8-gavgpool-minmax-fp32-test test/qu8-gavgpool-minmax-fp32.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-gavgpool-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-gavgpool-minmax-fp32-test COMMAND qu8-gavgpool-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qu8-gavgpool-minmax-rndnu-test test/qu8-gavgpool-minmax-rndnu.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-gavgpool-minmax-rndnu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-rndnu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-gavgpool-minmax-rndnu-test COMMAND qu8-gavgpool-minmax-rndnu-test)
- 
-@@ -2566,161 +2533,161 @@
-   ADD_EXECUTABLE(qu8-requantization-test test/qu8-requantization.cc)
-   SET_TARGET_PROPERTIES(qu8-requantization-test PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qu8-requantization-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME qu8-requantization-test COMMAND qu8-requantization-test)
- 
-   ADD_EXECUTABLE(qu8-vadd-minmax-test test/qu8-vadd-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vadd-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-vadd-minmax-test COMMAND qu8-vadd-minmax-test)
- 
-   ADD_EXECUTABLE(qu8-vaddc-minmax-test test/qu8-vaddc-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vaddc-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-vaddc-minmax-test COMMAND qu8-vaddc-minmax-test)
- 
-   ADD_EXECUTABLE(qu8-vcvt-test test/qu8-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vcvt-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-vcvt-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-vcvt-test COMMAND qu8-vcvt-test)
- 
-   ADD_EXECUTABLE(qu8-vlrelu-test test/qu8-vlrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vlrelu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-vlrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-vlrelu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-vlrelu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-vlrelu-test COMMAND qu8-vlrelu-test)
- 
-   ADD_EXECUTABLE(qu8-vmul-minmax-fp32-test test/qu8-vmul-minmax-fp32.cc)
-   SET_TARGET_PROPERTIES(qu8-vmul-minmax-fp32-test PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vmul-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-vmul-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-vmul-minmax-fp32-test COMMAND qu8-vmul-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qu8-vmul-minmax-rndnu-test test/qu8-vmul-minmax-rndnu.cc)
-   SET_TARGET_PROPERTIES(qu8-vmul-minmax-rndnu-test PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vmul-minmax-rndnu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-rndnu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-vmul-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-vmul-minmax-rndnu-test COMMAND qu8-vmul-minmax-rndnu-test)
- 
-   ADD_EXECUTABLE(qu8-vmulc-minmax-fp32-test test/qu8-vmulc-minmax-fp32.cc)
-   SET_TARGET_PROPERTIES(qu8-vmulc-minmax-fp32-test PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-minmax-fp32-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-fp32-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-vmulc-minmax-fp32-test COMMAND qu8-vmulc-minmax-fp32-test)
- 
-   ADD_EXECUTABLE(qu8-vmulc-minmax-rndnu-test test/qu8-vmulc-minmax-rndnu.cc)
-   SET_TARGET_PROPERTIES(qu8-vmulc-minmax-rndnu-test PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-minmax-rndnu-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-rndnu-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME qu8-vmulc-minmax-rndnu-test COMMAND qu8-vmulc-minmax-rndnu-test)
- 
-   ADD_EXECUTABLE(s16-rmaxabs-test test/s16-rmaxabs.cc)
-   TARGET_INCLUDE_DIRECTORIES(s16-rmaxabs-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(s16-rmaxabs-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(s16-rmaxabs-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(s16-rmaxabs-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME s16-rmaxabs-test COMMAND s16-rmaxabs-test)
- 
-   ADD_EXECUTABLE(s16-window-test test/s16-window.cc)
-   TARGET_INCLUDE_DIRECTORIES(s16-window-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(s16-window-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(s16-window-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(s16-window-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME s16-window-test COMMAND s16-window-test)
- 
-   ADD_EXECUTABLE(u32-filterbank-accumulate-test test/u32-filterbank-accumulate.cc)
-   TARGET_INCLUDE_DIRECTORIES(u32-filterbank-accumulate-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME u32-filterbank-accumulate-test COMMAND u32-filterbank-accumulate-test)
- 
-   ADD_EXECUTABLE(u32-filterbank-subtract-test test/u32-filterbank-subtract.cc)
-   TARGET_INCLUDE_DIRECTORIES(u32-filterbank-subtract-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(u32-filterbank-subtract-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u32-filterbank-subtract-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u32-filterbank-subtract-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME u32-filterbank-subtract-test COMMAND u32-filterbank-subtract-test)
- 
-   ADD_EXECUTABLE(u32-vlog-test test/u32-vlog.cc)
-   TARGET_INCLUDE_DIRECTORIES(u32-vlog-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(u32-vlog-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u32-vlog-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u32-vlog-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME u32-vlog-test COMMAND u32-vlog-test)
- 
-   ADD_EXECUTABLE(i16-vlshift-test test/i16-vlshift.cc)
-   TARGET_INCLUDE_DIRECTORIES(i16-vlshift-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(i16-vlshift-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(i16-vlshift-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(i16-vlshift-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME i16-vlshift-test COMMAND i16-vlshift-test)
- 
-   ADD_EXECUTABLE(cs16-vsquareabs-test test/cs16-vsquareabs.cc)
-   TARGET_INCLUDE_DIRECTORIES(cs16-vsquareabs-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(cs16-vsquareabs-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(cs16-vsquareabs-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(cs16-vsquareabs-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME cs16-vsquareabs-test COMMAND cs16-vsquareabs-test)
- 
-   ADD_EXECUTABLE(cs16-bfly4-test test/cs16-bfly4.cc)
-   TARGET_INCLUDE_DIRECTORIES(cs16-bfly4-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(cs16-bfly4-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(cs16-bfly4-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(cs16-bfly4-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME cs16-bfly4-test COMMAND cs16-bfly4-test)
- 
-   ADD_EXECUTABLE(cs16-fftr-test test/cs16-fftr.cc)
-   TARGET_INCLUDE_DIRECTORIES(cs16-fftr-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(cs16-fftr-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(cs16-fftr-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(cs16-fftr-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME cs16-fftr-test COMMAND cs16-fftr-test)
- 
-   ADD_EXECUTABLE(s8-ibilinear-test test/s8-ibilinear.cc)
-   TARGET_INCLUDE_DIRECTORIES(s8-ibilinear-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(s8-ibilinear-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(s8-ibilinear-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(s8-ibilinear-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME s8-ibilinear-test COMMAND s8-ibilinear-test)
- 
-   ADD_EXECUTABLE(s8-maxpool-minmax-test test/s8-maxpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(s8-maxpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(s8-maxpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(s8-maxpool-minmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(s8-maxpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME s8-maxpool-minmax-test COMMAND s8-maxpool-minmax-test)
- 
-   ADD_EXECUTABLE(s8-vclamp-test test/s8-vclamp.cc)
-   TARGET_INCLUDE_DIRECTORIES(s8-vclamp-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(s8-vclamp-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(s8-vclamp-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(s8-vclamp-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME s8-vclamp-test COMMAND s8-vclamp-test)
- 
-   ADD_EXECUTABLE(u8-lut32norm-test test/u8-lut32norm.cc)
-   TARGET_INCLUDE_DIRECTORIES(u8-lut32norm-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME u8-lut32norm-test COMMAND u8-lut32norm-test)
- 
-   ADD_EXECUTABLE(u8-ibilinear-test test/u8-ibilinear.cc)
-   TARGET_INCLUDE_DIRECTORIES(u8-ibilinear-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(u8-ibilinear-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u8-ibilinear-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u8-ibilinear-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME u8-ibilinear-test COMMAND u8-ibilinear-test)
- 
-   ADD_EXECUTABLE(u8-maxpool-minmax-test test/u8-maxpool-minmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(u8-maxpool-minmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
-+  TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE gtest gtest_main microparams-init)
-   TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME u8-maxpool-minmax-test COMMAND u8-maxpool-minmax-test)
- 
-   ADD_EXECUTABLE(u8-rmax-test test/u8-rmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(u8-rmax-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME u8-rmax-test COMMAND u8-rmax-test)
- 
-   ADD_EXECUTABLE(u8-vclamp-test test/u8-vclamp.cc)
-   TARGET_INCLUDE_DIRECTORIES(u8-vclamp-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME u8-vclamp-test COMMAND u8-vclamp-test)
- 
-@@ -2762,25 +2729,25 @@
- 
-   ADD_EXECUTABLE(x32-zip-test test/x32-zip.cc)
-   TARGET_INCLUDE_DIRECTORIES(x32-zip-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME x32-zip-test COMMAND x32-zip-test)
- 
-   ADD_EXECUTABLE(x64-transpose-test test/x64-transpose.cc)
-   TARGET_INCLUDE_DIRECTORIES(x64-transpose-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(x64-transpose-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(x64-transpose-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(x64-transpose-test PRIVATE hardware-config logging microkernels-all microparams-init)
-   ADD_TEST(NAME x64-transpose-test COMMAND x64-transpose-test)
- 
-   ADD_EXECUTABLE(x8-lut-test test/x8-lut.cc)
-   TARGET_INCLUDE_DIRECTORIES(x8-lut-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME x8-lut-test COMMAND x8-lut-test)
- 
-   ADD_EXECUTABLE(x8-zip-test test/x8-zip.cc)
-   TARGET_INCLUDE_DIRECTORIES(x8-zip-test PRIVATE include src test)
--  TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE hardware-config logging microkernels-all)
-   ADD_TEST(NAME x8-zip-test COMMAND x8-zip-test)
- 
-@@ -2842,12 +2809,12 @@
- 
-   ADD_EXECUTABLE(packing-test test/packing.cc)
-   TARGET_INCLUDE_DIRECTORIES(packing-test PRIVATE include src)
--  TARGET_LINK_LIBRARIES(packing-test PRIVATE fp16 gtest gtest_main pthreadpool)
-+  TARGET_LINK_LIBRARIES(packing-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(packing-test PRIVATE XNNPACK microkernel-utils operator-utils packing)
- 
-   ADD_EXECUTABLE(indirection-test test/indirection.cc)
-   TARGET_INCLUDE_DIRECTORIES(indirection-test PRIVATE include src)
--  TARGET_LINK_LIBRARIES(indirection-test PRIVATE gtest gtest_main pthreadpool)
-+  TARGET_LINK_LIBRARIES(indirection-test PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(indirection-test PRIVATE XNNPACK indirection)
- ENDIF()
- 
-@@ -2864,7 +2831,7 @@
-   ADD_LIBRARY(bench-utils STATIC bench/utils.cc)
-   TARGET_INCLUDE_DIRECTORIES(bench-utils PRIVATE .)
-   TARGET_INCLUDE_DIRECTORIES(bench-utils PUBLIC include src)
--  TARGET_LINK_LIBRARIES(bench-utils PRIVATE benchmark cpuinfo pthreadpool)
-+  TARGET_LINK_LIBRARIES(bench-utils PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(bench-utils PRIVATE hardware-config)
-   IF(XNNPACK_BUILD_LIBRARY)
-     TARGET_LINK_LIBRARIES(bench-utils PRIVATE logging memory)
-@@ -2873,134 +2840,134 @@
-   # ---[ Build accuracy microbenchmarks
-   ADD_EXECUTABLE(f16-exp-ulp-eval eval/f16-exp-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-exp-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f16-exp-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-exp-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f16-exp-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f16-expminus-ulp-eval eval/f16-expminus-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-expminus-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f16-expminus-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-expminus-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f16-expminus-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f16-expm1minus-ulp-eval eval/f16-expm1minus-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-expm1minus-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f16-expm1minus-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-expm1minus-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f16-expm1minus-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f16-sigmoid-ulp-eval eval/f16-sigmoid-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-sigmoid-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f16-sigmoid-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-sigmoid-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f16-sigmoid-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f16-sqrt-ulp-eval eval/f16-sqrt-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-sqrt-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f16-sqrt-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-sqrt-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f16-sqrt-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f32-exp-ulp-eval eval/f32-exp-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-exp-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f32-exp-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-exp-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f32-exp-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f32-expminus-ulp-eval eval/f32-expminus-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-expminus-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f32-expminus-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-expminus-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f32-expminus-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f32-expm1minus-ulp-eval eval/f32-expm1minus-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-expm1minus-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f32-expm1minus-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-expm1minus-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f32-expm1minus-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f32-extexp-ulp-eval eval/f32-extexp-ulp.cc)
-   SET_TARGET_PROPERTIES(f32-extexp-ulp-eval PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(f32-extexp-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f32-extexp-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-extexp-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f32-extexp-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f32-sigmoid-ulp-eval eval/f32-sigmoid-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-sigmoid-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f32-sigmoid-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-sigmoid-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f32-sigmoid-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f32-sqrt-ulp-eval eval/f32-sqrt-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-sqrt-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f32-sqrt-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-sqrt-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f32-sqrt-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f32-tanh-ulp-eval eval/f32-tanh-ulp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-tanh-ulp-eval PRIVATE . src)
--  TARGET_LINK_LIBRARIES(f32-tanh-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-tanh-ulp-eval PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(f32-tanh-ulp-eval PRIVATE bench-utils microkernels-all)
- 
-   # ---[ Build accuracy tests
-   ADD_EXECUTABLE(f16-sqrt-eval eval/f16-sqrt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-sqrt-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f16-sqrt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-sqrt-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-sqrt-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f16-f32-cvt-eval eval/f16-f32-cvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-f32-cvt-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f16-f32-cvt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f16-f32-cvt-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f16-f32-cvt-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-f16-cvt-eval eval/f32-f16-cvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-f16-cvt-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-f16-cvt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-f16-cvt-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-f16-cvt-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-qs8-cvt-eval eval/f32-qs8-cvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-qs8-cvt-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-qs8-cvt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-qs8-cvt-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-qs8-cvt-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-qu8-cvt-eval eval/f32-qu8-cvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-qu8-cvt-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-qu8-cvt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-qu8-cvt-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-qu8-cvt-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-exp-eval eval/f32-exp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-exp-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-expm1minus-eval eval/f32-expm1minus.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-expm1minus-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-expminus-eval eval/f32-expminus.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-expminus-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-roundne-eval eval/f32-roundne.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-roundne-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-roundd-eval eval/f32-roundd.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-roundd-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-roundu-eval eval/f32-roundu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-roundu-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(f32-roundz-eval eval/f32-roundz.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-roundz-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE fp16 pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(u32-sqrt-eval eval/u32-sqrt.cc)
-   TARGET_INCLUDE_DIRECTORIES(u32-sqrt-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(u32-sqrt-eval PRIVATE pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u32-sqrt-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u32-sqrt-eval PRIVATE hardware-config logging microkernels-all)
- 
-   ADD_EXECUTABLE(u64-sqrt-eval eval/u64-sqrt.cc)
-   TARGET_INCLUDE_DIRECTORIES(u64-sqrt-eval PRIVATE include src)
--  TARGET_LINK_LIBRARIES(u64-sqrt-eval PRIVATE pthreadpool gtest gtest_main)
-+  TARGET_LINK_LIBRARIES(u64-sqrt-eval PRIVATE gtest gtest_main)
-   TARGET_LINK_LIBRARIES(u64-sqrt-eval PRIVATE hardware-config logging microkernels-all)
- 
-   IF(XNNPACK_BUILD_LIBRARY)
-@@ -3030,7 +2997,7 @@
-       models/qu8-mobilenet-v2.cc)
-     SET_TARGET_PROPERTIES(bench-models PROPERTIES CXX_EXTENSIONS YES)
-     TARGET_INCLUDE_DIRECTORIES(bench-models PRIVATE .)
--    TARGET_LINK_LIBRARIES(bench-models PRIVATE fp16 benchmark)
-+    TARGET_LINK_LIBRARIES(bench-models PRIVATE benchmark)
-     TARGET_LINK_LIBRARIES(bench-models PRIVATE XNNPACK bench-utils)
- 
-     ADD_EXECUTABLE(end2end-bench bench/end2end.cc)
-@@ -3039,7 +3006,7 @@
- 
-     ADD_EXECUTABLE(f16-gemm-e2e-bench bench/f16-gemm-e2e.cc)
-     TARGET_INCLUDE_DIRECTORIES(f16-gemm-e2e-bench PRIVATE . src)
--    TARGET_LINK_LIBRARIES(f16-gemm-e2e-bench PRIVATE fp16 benchmark)
-+    TARGET_LINK_LIBRARIES(f16-gemm-e2e-bench PRIVATE benchmark)
-     TARGET_LINK_LIBRARIES(f16-gemm-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
- 
-     ADD_EXECUTABLE(f32-dwconv-e2e-bench bench/f32-dwconv-e2e.cc)
-@@ -3049,33 +3016,33 @@
- 
-     ADD_EXECUTABLE(f32-gemm-e2e-bench bench/f32-gemm-e2e.cc)
-     TARGET_INCLUDE_DIRECTORIES(f32-gemm-e2e-bench PRIVATE . src)
--    TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE fp16 benchmark)
-+    TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE benchmark)
-     TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
- 
-     ADD_EXECUTABLE(qs8-dwconv-e2e-bench bench/qs8-dwconv-e2e.cc)
-     TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-e2e-bench PRIVATE . src)
--    TARGET_LINK_LIBRARIES(qs8-dwconv-e2e-bench PRIVATE fp16 benchmark)
-+    TARGET_LINK_LIBRARIES(qs8-dwconv-e2e-bench PRIVATE benchmark)
-     TARGET_LINK_LIBRARIES(qs8-dwconv-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
- 
-     ADD_EXECUTABLE(qs8-gemm-e2e-bench bench/qs8-gemm-e2e.cc)
-     TARGET_INCLUDE_DIRECTORIES(qs8-gemm-e2e-bench PRIVATE . src)
--    TARGET_LINK_LIBRARIES(qs8-gemm-e2e-bench PRIVATE fp16 benchmark)
-+    TARGET_LINK_LIBRARIES(qs8-gemm-e2e-bench PRIVATE benchmark)
-     TARGET_LINK_LIBRARIES(qs8-gemm-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
- 
-     ADD_EXECUTABLE(qu8-gemm-e2e-bench bench/qu8-gemm-e2e.cc)
-     TARGET_INCLUDE_DIRECTORIES(qu8-gemm-e2e-bench PRIVATE . src)
--    TARGET_LINK_LIBRARIES(qu8-gemm-e2e-bench PRIVATE fp16 benchmark)
-+    TARGET_LINK_LIBRARIES(qu8-gemm-e2e-bench PRIVATE benchmark)
-     TARGET_LINK_LIBRARIES(qu8-gemm-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
- 
-     ADD_EXECUTABLE(qu8-dwconv-e2e-bench bench/qu8-dwconv-e2e.cc)
-     TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-e2e-bench PRIVATE . src)
--    TARGET_LINK_LIBRARIES(qu8-dwconv-e2e-bench PRIVATE fp16 benchmark)
-+    TARGET_LINK_LIBRARIES(qu8-dwconv-e2e-bench PRIVATE benchmark)
-     TARGET_LINK_LIBRARIES(qu8-dwconv-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
- 
-     # ---[ Build operator-level microbenchmarks
-     ADD_EXECUTABLE(abs-bench bench/abs.cc)
-     TARGET_INCLUDE_DIRECTORIES(abs-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(abs-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(abs-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(average-pooling-bench bench/average-pooling.cc)
-     TARGET_INCLUDE_DIRECTORIES(average-pooling-bench PRIVATE .)
-@@ -3083,11 +3050,11 @@
- 
-     ADD_EXECUTABLE(bankers-rounding-bench bench/bankers-rounding.cc)
-     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(bankers-rounding-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(bankers-rounding-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(ceiling-bench bench/ceiling.cc)
-     TARGET_INCLUDE_DIRECTORIES(ceiling-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(ceiling-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(ceiling-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(channel-shuffle-bench bench/channel-shuffle.cc)
-     TARGET_INCLUDE_DIRECTORIES(channel-shuffle-bench PRIVATE .)
-@@ -3095,11 +3062,11 @@
- 
-     ADD_EXECUTABLE(convert-bench bench/convert.cc)
-     TARGET_INCLUDE_DIRECTORIES(convert-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(convert-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(convert-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(convolution-bench bench/convolution.cc)
-     TARGET_INCLUDE_DIRECTORIES(convolution-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(convolution-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(convolution-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(deconvolution-bench bench/deconvolution.cc)
-     TARGET_INCLUDE_DIRECTORIES(deconvolution-bench PRIVATE .)
-@@ -3107,23 +3074,23 @@
- 
-     ADD_EXECUTABLE(elu-bench bench/elu.cc)
-     TARGET_INCLUDE_DIRECTORIES(elu-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(elu-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(elu-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(floor-bench bench/floor.cc)
-     TARGET_INCLUDE_DIRECTORIES(floor-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(floor-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(floor-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(global-average-pooling-bench bench/global-average-pooling.cc)
-     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(global-average-pooling-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(global-average-pooling-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(hardswish-bench bench/hardswish.cc)
-     TARGET_INCLUDE_DIRECTORIES(hardswish-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(hardswish-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(hardswish-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(leaky-relu-bench bench/leaky-relu.cc)
-     TARGET_INCLUDE_DIRECTORIES(leaky-relu-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(leaky-relu-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(leaky-relu-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(max-pooling-bench bench/max-pooling.cc)
-     TARGET_INCLUDE_DIRECTORIES(max-pooling-bench PRIVATE .)
-@@ -3139,7 +3106,7 @@
- 
-     ADD_EXECUTABLE(sigmoid-bench bench/sigmoid.cc)
-     TARGET_INCLUDE_DIRECTORIES(sigmoid-bench PRIVATE .)
--    TARGET_LINK_LIBRARIES(sigmoid-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
-+    TARGET_LINK_LIBRARIES(sigmoid-bench PRIVATE XNNPACK benchmark bench-utils)
- 
-     ADD_EXECUTABLE(softmax-bench bench/softmax.cc)
-     TARGET_INCLUDE_DIRECTORIES(softmax-bench PRIVATE .)
-@@ -3161,378 +3128,378 @@
-   # ---[ Build microkernel-level microbenchmarks
-   ADD_EXECUTABLE(bf16-gemm-bench bench/bf16-gemm.cc)
-   TARGET_INCLUDE_DIRECTORIES(bf16-gemm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(bf16-gemm-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(bf16-gemm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(bf16-gemm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f16-conv-hwc2chw-bench bench/f16-conv-hwc2chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-conv-hwc2chw-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f16-dwconv-bench bench/f16-dwconv.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-dwconv-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-dwconv-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-dwconv-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-dwconv-bench PRIVATE bench-utils indirection hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f16-dwconv2d-chw-bench bench/f16-dwconv2d-chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-dwconv2d-chw-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f16-gavgpool-cw-bench bench/f16-gavgpool-cw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-gavgpool-cw-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-gavgpool-cw-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-gavgpool-cw-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-gavgpool-cw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f16-gemm-bench bench/f16-gemm.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-gemm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-gemm-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-gemm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-gemm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f16-igemm-bench bench/f16-igemm.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-igemm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-igemm-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-igemm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-igemm-bench PRIVATE bench-utils indirection hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f16-raddstoreexpminusmax-bench bench/f16-raddstoreexpminusmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-raddstoreexpminusmax-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f16-spmm-bench bench/f16-spmm.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-spmm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-spmm-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-spmm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-spmm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f16-velu-bench bench/f16-velu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-velu-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-velu-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-velu-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-velu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f16-vsigmoid-bench bench/f16-vsigmoid.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vsigmoid-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-vsigmoid-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-vsigmoid-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-vsigmoid-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f16-vsqrt-bench bench/f16-vsqrt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-vsqrt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-vsqrt-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-vsqrt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-vsqrt-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(f16-f32-vcvt-bench bench/f16-f32-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f16-f32-vcvt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f16-f32-vcvt-bench PRIVATE benchmark fp16 pthreadpool)
-+  TARGET_LINK_LIBRARIES(f16-f32-vcvt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f16-f32-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-conv-hwc-bench bench/f32-conv-hwc.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-conv-hwc-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-conv-hwc-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-conv-hwc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f32-conv-hwc2chw-bench bench/f32-conv-hwc2chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc2chw-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f32-dwconv-bench bench/f32-dwconv.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-dwconv-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-dwconv-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-dwconv-bench PRIVATE bench-utils indirection hardware-config logging microkernel-utils microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f32-dwconv2d-chw-bench bench/f32-dwconv2d-chw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-dwconv2d-chw-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-f16-vcvt-bench bench/f32-f16-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-f16-vcvt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-f16-vcvt-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-f16-vcvt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-f16-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-gavgpool-cw-bench bench/f32-gavgpool-cw.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-cw-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-gavgpool-cw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-gemm-bench bench/f32-gemm.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-gemm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-gemm-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-gemm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-gemm-bench PRIVATE jit bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f32-igemm-bench bench/f32-igemm.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-igemm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-igemm-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-igemm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-igemm-bench PRIVATE jit bench-utils indirection hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f32-im2col-gemm-bench bench/f32-im2col-gemm.cc src/im2col.c)
-   TARGET_INCLUDE_DIRECTORIES(f32-im2col-gemm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-im2col-gemm-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-im2col-gemm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-im2col-gemm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(f32-qs8-vcvt-bench bench/f32-qs8-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-qs8-vcvt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-qs8-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-qu8-vcvt-bench bench/f32-qu8-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-qu8-vcvt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-qu8-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-raddstoreexpminusmax-bench bench/f32-raddstoreexpminusmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-raddstoreexpminusmax-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-raddexpminusmax-bench bench/f32-raddexpminusmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-raddexpminusmax-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-raddexpminusmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-raddextexp-bench bench/f32-raddextexp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-raddextexp-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-raddextexp-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-raddextexp-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-raddextexp-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-vscaleexpminusmax-bench bench/f32-vscaleexpminusmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vscaleexpminusmax-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-vscaleextexp-bench bench/f32-vscaleextexp.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vscaleextexp-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-vscaleextexp-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-vscaleextexp-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-vscaleextexp-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-rmax-bench bench/f32-rmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-rmax-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-rmax-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-rmax-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-rmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-spmm-bench bench/f32-spmm.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-spmm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-spmm-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-spmm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-spmm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-softmax-bench bench/f32-softmax.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-softmax-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-softmax-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-softmax-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-softmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-velu-bench bench/f32-velu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-velu-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-velu-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-velu-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-velu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-vhswish-bench bench/f32-vhswish.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vhswish-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-vhswish-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-vhswish-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-vhswish-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-vlrelu-bench bench/f32-vlrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vlrelu-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-vlrelu-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-vlrelu-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-vlrelu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-vrelu-bench bench/f32-vrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vrelu-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-vrelu-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-vrelu-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-vrelu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-vsigmoid-bench bench/f32-vsigmoid.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsigmoid-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-vsigmoid-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-vsigmoid-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-vsigmoid-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(f32-vsqrt-bench bench/f32-vsqrt.cc)
-   TARGET_INCLUDE_DIRECTORIES(f32-vsqrt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(f32-vsqrt-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(f32-vsqrt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(f32-vsqrt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qs8-dwconv-bench bench/qs8-dwconv.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-dwconv-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-dwconv-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-dwconv-bench PRIVATE bench-utils indirection hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(qs8-f32-vcvt-bench bench/qs8-f32-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-f32-vcvt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-f32-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qs8-gemm-bench bench/qs8-gemm.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-gemm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-gemm-bench PRIVATE benchmark pthreadpool jit microparams-init)
-+  TARGET_LINK_LIBRARIES(qs8-gemm-bench PRIVATE benchmark jit microparams-init)
-   TARGET_LINK_LIBRARIES(qs8-gemm-bench PRIVATE bench-utils jit hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(qs8-requantization-bench bench/qs8-requantization.cc)
-   SET_TARGET_PROPERTIES(qs8-requantization-bench PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qs8-requantization-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-requantization-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-requantization-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-requantization-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(qs8-vadd-bench bench/qs8-vadd.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vadd-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-vadd-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-vadd-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-vadd-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qs8-vaddc-bench bench/qs8-vaddc.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vaddc-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-vaddc-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-vaddc-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-vaddc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qs8-vcvt-bench bench/qs8-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vcvt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-vcvt-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-vcvt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qs8-vlrelu-bench bench/qs8-vlrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vlrelu-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-vlrelu-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-vlrelu-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-vlrelu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qs8-vmul-bench bench/qs8-vmul.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vmul-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-vmul-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-vmul-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-vmul-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qs8-vmulc-bench bench/qs8-vmulc.cc)
-   TARGET_INCLUDE_DIRECTORIES(qs8-vmulc-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qs8-vmulc-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qs8-vmulc-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qs8-vmulc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qu8-f32-vcvt-bench bench/qu8-f32-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-f32-vcvt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-f32-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qu8-gemm-bench bench/qu8-gemm.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-gemm-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-gemm-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-gemm-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-gemm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
- 
-   ADD_EXECUTABLE(qu8-requantization-bench bench/qu8-requantization.cc)
-   SET_TARGET_PROPERTIES(qu8-requantization-bench PROPERTIES CXX_EXTENSIONS YES)
-   TARGET_INCLUDE_DIRECTORIES(qu8-requantization-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-requantization-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-requantization-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-requantization-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(qu8-vadd-bench bench/qu8-vadd.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vadd-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-vadd-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-vadd-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-vadd-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qu8-vaddc-bench bench/qu8-vaddc.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vaddc-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-vaddc-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-vaddc-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-vaddc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qu8-vcvt-bench bench/qu8-vcvt.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vcvt-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-vcvt-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-vcvt-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qu8-vlrelu-bench bench/qu8-vlrelu.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vlrelu-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-vlrelu-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-vlrelu-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-vlrelu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qu8-vmul-bench bench/qu8-vmul.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vmul-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-vmul-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-vmul-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-vmul-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(qu8-vmulc-bench bench/qu8-vmulc.cc)
-   TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(qu8-vmulc-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(qu8-vmulc-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(qu8-vmulc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(rounding-bench bench/rounding.cc)
-   TARGET_INCLUDE_DIRECTORIES(rounding-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(rounding-bench PRIVATE benchmark cpuinfo pthreadpool)
-+  TARGET_LINK_LIBRARIES(rounding-bench PRIVATE benchmark cpuinfo)
-   TARGET_LINK_LIBRARIES(rounding-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(s16-rmaxabs-bench bench/s16-rmaxabs.cc)
-   TARGET_INCLUDE_DIRECTORIES(s16-rmaxabs-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(s16-rmaxabs-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(s16-rmaxabs-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(s16-rmaxabs-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(s16-window-bench bench/s16-window.cc)
-   TARGET_INCLUDE_DIRECTORIES(s16-window-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(s16-window-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(s16-window-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(s16-window-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(u32-filterbank-accumulate-bench bench/u32-filterbank-accumulate.cc)
-   TARGET_INCLUDE_DIRECTORIES(u32-filterbank-accumulate-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(u32-filterbank-subtract-bench bench/u32-filterbank-subtract.cc)
-   TARGET_INCLUDE_DIRECTORIES(u32-filterbank-subtract-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(u32-filterbank-subtract-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(u32-filterbank-subtract-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(u32-filterbank-subtract-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(u32-vlog-bench bench/u32-vlog.cc)
-   TARGET_INCLUDE_DIRECTORIES(u32-vlog-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(u32-vlog-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(u32-vlog-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(u32-vlog-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(u64-u32-vsqrtshift-bench bench/u64-u32-vsqrtshift.cc)
-   TARGET_INCLUDE_DIRECTORIES(u64-u32-vsqrtshift-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(u64-u32-vsqrtshift-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(u64-u32-vsqrtshift-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(u64-u32-vsqrtshift-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(i16-vlshift-bench bench/i16-vlshift.cc)
-   TARGET_INCLUDE_DIRECTORIES(i16-vlshift-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(i16-vlshift-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(i16-vlshift-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(i16-vlshift-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(cs16-vsquareabs-bench bench/cs16-vsquareabs.cc)
-   TARGET_INCLUDE_DIRECTORIES(cs16-vsquareabs-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(cs16-vsquareabs-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(cs16-vsquareabs-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(cs16-vsquareabs-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(cs16-bfly4-bench bench/cs16-bfly4.cc)
-   TARGET_INCLUDE_DIRECTORIES(cs16-bfly4-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(cs16-bfly4-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(cs16-bfly4-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(cs16-bfly4-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(cs16-fftr-bench bench/cs16-fftr.cc)
-   TARGET_INCLUDE_DIRECTORIES(cs16-fftr-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(cs16-fftr-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(cs16-fftr-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(cs16-fftr-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(xx-transpose-bench bench/xx-transpose.cc)
-   TARGET_INCLUDE_DIRECTORIES(xx-transpose-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(xx-transpose-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(xx-transpose-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(xx-transpose-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(x8-lut-bench bench/x8-lut.cc)
-   TARGET_INCLUDE_DIRECTORIES(x8-lut-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(x8-lut-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(x8-lut-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(x8-lut-bench PRIVATE bench-utils microkernels-all)
- 
-   ADD_EXECUTABLE(x8-transpose-bench bench/x32-transpose.cc)
-   TARGET_INCLUDE_DIRECTORIES(x8-transpose-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(x8-transpose-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(x8-transpose-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(x8-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(x16-transpose-bench bench/x16-transpose.cc)
-   TARGET_INCLUDE_DIRECTORIES(x16-transpose-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(x16-transpose-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(x16-transpose-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(x16-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(x24-transpose-bench bench/x16-transpose.cc)
-   TARGET_INCLUDE_DIRECTORIES(x24-transpose-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(x24-transpose-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(x24-transpose-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(x24-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(x32-transpose-bench bench/x32-transpose.cc)
-   TARGET_INCLUDE_DIRECTORIES(x32-transpose-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(x32-transpose-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(x32-transpose-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(x32-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- 
-   ADD_EXECUTABLE(x64-transpose-bench bench/x64-transpose.cc)
-   TARGET_INCLUDE_DIRECTORIES(x64-transpose-bench PRIVATE . include src)
--  TARGET_LINK_LIBRARIES(x64-transpose-bench PRIVATE benchmark pthreadpool)
-+  TARGET_LINK_LIBRARIES(x64-transpose-bench PRIVATE benchmark)
-   TARGET_LINK_LIBRARIES(x64-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
- ENDIF()
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 11/24] gnu: Add xnnpack-for-r-torch.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (9 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 10/24] gnu: xnnpack: Update to commit 08f1489 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 12/24] gnu: python-nbval: Update to 0.11.0 David Elsing
                   ` (13 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (xnnpack-for-r-torch): New variable.
(xnnpack)[inputs]: Use xnnpack-for-r-torch instead of xnnpack.
---
 gnu/packages/machine-learning.scm | 71 ++++++++++++++++++++++++++++++-
 1 file changed, 70 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 6fcfc1d167..71683c4df6 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4251,6 +4251,74 @@ (define target-deps "")
          "i686-linux" "x86_64-linux"))
       (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.
 (define-public fbgemm
   (package
@@ -4851,7 +4919,8 @@ (define-public python-pytorch-for-r-torch
     (inputs
      (modify-inputs (package-inputs python-pytorch)
        (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
      (modify-inputs (package-propagated-inputs python-pytorch)
        (append python-filelock
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 12/24] gnu: python-nbval: Update to 0.11.0.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (10 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 11/24] gnu: Add xnnpack-for-r-torch David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 13/24] gnu: Add python-parameterized-next David Elsing
                   ` (12 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/python-check.scm (python-nbval): Update to 0.11.0.
[arguments]<#:phases>: Adjust 'check' phase.
[native-inputs]: Remove python-pytest.
[propagated-inputs]: Add python-coverage and python-pytest.  Remove
python-six.
---
 gnu/packages/python-check.scm | 27 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 74e833686f..6b42d3c45c 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1585,13 +1585,13 @@ (define-public python-nbmake
 (define-public python-nbval
   (package
     (name "python-nbval")
-    (version "0.9.6")
+    (version "0.11.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "nbval" version))
        (sha256
-        (base32 "0h3xrnw0mj1srigrx2rfnd73h8s0xjycclmjs0vx7qkfyqpcvvyg"))))
+        (base32 "154h6xpf9h6spgg3ax6k79fd40j197ipwnfjmf5rc2kvc2bmgjbp"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -1605,21 +1605,16 @@ (define-public python-nbval
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (invoke "pytest" "-vv" "-k"
-                       (string-append
-                        ;; This only works with Pytest < 5.
-                        "not nbdime_reporter"
-                        ;; https://github.com/computationalmodelling/nbval/pull/148.
-                        " and not test_timeouts"
-                        ;; It seems the output format has changed; the following
-                        ;; test fails with "Unexpected output fields from
-                        ;; running code: {'text/plain'}".
-                        " and not test_conf_ignore_stderr "))))))))
-    (native-inputs
-     (list python-pytest python-pytest-cov python-sympy))
+               (invoke "pytest" "-vv"
+                       ;; nbdime forms a dependency cycle
+                       "--ignore=tests/test_nbdime_reporter.py")))))))
+    (native-inputs (list python-pytest-cov python-sympy))
     (propagated-inputs
-     (list python-ipykernel python-jupyter-client python-nbformat
-           python-six))
+     (list python-coverage
+           python-ipykernel
+           python-jupyter-client
+           python-nbformat
+           python-pytest))
     (home-page "https://github.com/computationalmodelling/nbval")
     (synopsis "Pytest plugin to validate Jupyter notebooks")
     (description
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 13/24] gnu: Add python-parameterized-next.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (11 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 12/24] gnu: python-nbval: Update to 0.11.0 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 14/24] gnu: Remove onnx-optimizer-for-torch2 David Elsing
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/check.scm (python-parameterized-next): New variable.
---
 gnu/packages/check.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 21a975f340..9d8772fd4d 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1222,6 +1222,28 @@ (define-public python-parameterized
 for every Python test framework.  It supports nose, py.test, and unittest.")
     (license license:bsd-2)))
 
+(define-public python-parameterized-next
+  (package
+    (inherit python-parameterized)
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "parameterized" version))
+       (sha256
+        (base32 "1c89vc40zj5aj2zvbvw875wqpyf0x6xrqhm3q5jg797g5hkhbjbz"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (substitute* "parameterized/test.py"
+                 (("import mock") "from unittest import mock"))
+               (invoke "python3" "-m" "unittest")))))))
+    (native-inputs (list python-jinja2))))
+
 (define-public python-minimock
   (package
     (name "python-minimock")
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 14/24] gnu: Remove onnx-optimizer-for-torch2.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (12 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 13/24] gnu: Add python-parameterized-next David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 15/24] gnu: Remove onnx-for-torch2 David Elsing
                   ` (10 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (onnx-optimizer-for-torch2): Delete variable.
---
 gnu/packages/machine-learning.scm | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 71683c4df6..b9a128dd1b 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1496,14 +1496,6 @@ (define-public onnx-optimizer
 with a single function call.")
     (license license:expat)))
 
-(define-public onnx-optimizer-for-torch2
-  (hidden-package
-   (package
-     (inherit onnx-optimizer)
-     (inputs
-      (modify-inputs (package-inputs onnx-optimizer)
-        (replace "onnx" onnx-for-torch2))))))
-
 (define-public rxcpp
   (package
     (name "rxcpp")
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 15/24] gnu: Remove onnx-for-torch2.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (13 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 14/24] gnu: Remove onnx-optimizer-for-torch2 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 16/24] gnu: onnx: Update to 1.16.2 David Elsing
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (onnx-for-torch2): Delete variable.
---
 gnu/packages/machine-learning.scm | 29 -----------------------------
 1 file changed, 29 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index b9a128dd1b..b1b11b5410 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1417,35 +1417,6 @@ (define args
 operators and standard data types.")
     (license license:expat)))
 
-(define-public onnx-for-torch2
-  (package
-    (inherit onnx)
-    (name "onnx")
-    (version "1.13.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/onnx/onnx")
-                    (commit (string-append "v" version))))
-              (sha256
-               (base32
-                "16967dbq2j40diqd0s37r19llsab8q8vbxkg1ppgy0p9fpdhfhyp"))
-              (file-name (git-file-name name version))
-              (patches (search-patches "onnx-1.13.1-use-system-googletest.patch"
-                                       "onnx-shared-libraries.patch"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  (delete-file-recursively "third_party")
-                  (substitute* "onnx/backend/test/runner/__init__.py"
-                    (("urlretrieve\\(.*") "raise unittest.SkipTest('Skipping download')\n"))))))
-    (arguments
-     ;; reuse build system tweaks
-     (substitute-keyword-arguments (package-arguments onnx)
-       ((#:phases phases)
-        #~(modify-phases #$phases
-            (delete 'relax-requirements)))))))
-
 (define-public python-onnx
   ;; This used to be called "python-onnx" because it provided nothing but
   ;; Python bindings.  The package now provides shared libraries and C++
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 16/24] gnu: onnx: Update to 1.16.2.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (14 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 15/24] gnu: Remove onnx-for-torch2 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 17/24] gnu: onnx-optimizer: Update to 0.3.19 David Elsing
                   ` (8 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing, Andy Tai

* gnu/packages/machine-learning.scm (onnx): Update to 1.16.2.
[source]: Remove patch.
[build-system]: Move to pyproject-build-system.
[arguments]<#:tests?>: Disable for systems where python-nbval is not
supported.
<#:phases>: Remove 'relax-requirements' phase.  Pass "-DONNX_BUILD_TESTS" to
CMake depending on tests?.
[native-inputs]: Add python-fb-re2 and python-parameterized-next.  Remove
python-nbval on unsupported systems.
* gnu/packages/patches/onnx-shared-libraries.patch: Adjust patch.
* gnu/packages/patches/onnx-skip-model-downloads.patch: Adjust patch.
* gnu/packages/patches/onnx-use-system-googletest.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.

Co-authored-by: Andy Tai <atai@atai.org>
---
 gnu/local.mk                                  |   1 -
 gnu/packages/machine-learning.scm             | 139 ++++++++++--------
 .../patches/onnx-shared-libraries.patch       |  18 ++-
 .../patches/onnx-skip-model-downloads.patch   |  16 +-
 .../patches/onnx-use-system-googletest.patch  |  57 -------
 5 files changed, 97 insertions(+), 134 deletions(-)
 delete mode 100644 gnu/packages/patches/onnx-use-system-googletest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index fd8262de55..61fb2f4816 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1792,7 +1792,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/onionshare-cli-async-mode.patch		\
   %D%/packages/patches/online-judge-tools.patch		\
   %D%/packages/patches/onnx-optimizer-system-library.patch	\
-  %D%/packages/patches/onnx-use-system-googletest.patch	\
   %D%/packages/patches/onnx-1.13.1-use-system-googletest.patch	\
   %D%/packages/patches/onnx-shared-libraries.patch	\
   %D%/packages/patches/onnx-skip-model-downloads.patch		\
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index b1b11b5410..fff7a8c24a 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -28,6 +28,7 @@
 ;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
 ;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com>
 ;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
+;;; Copyright © 2024 Andy Tai <atai@atai.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1331,7 +1332,7 @@ (define (delete-ifdefs file)
 (define-public onnx
   (package
     (name "onnx")
-    (version "1.12.0")
+    (version "1.16.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1339,70 +1340,88 @@ (define-public onnx
                     (commit (string-append "v" version))))
               (sha256
                (base32
-                "1g9f1hviksbn7gi6fnd0dsm7nf0w3yia0mjj33d9mggklrl0db6x"))
+                "0f5h204ksfz4ir3qq38ckxja1jfhf1vn5xzwrj83vkkbfjq6fv16"))
               (file-name (git-file-name name version))
-              (patches (search-patches "onnx-use-system-googletest.patch"
-                                       "onnx-shared-libraries.patch"
-                                       "onnx-skip-model-downloads.patch"))
+              (patches (search-patches
+                        "onnx-shared-libraries.patch"
+                        "onnx-skip-model-downloads.patch"))
               (modules '((guix build utils)))
               (snippet '(delete-file-recursively "third_party"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'relax-requirements
-                    (lambda _
-                      ;; Does this difference really matter?
-                      (substitute* "requirements.txt"
-                        (("3.20.1") "3.20.2"))))
-                  (add-before 'build 'pass-cmake-arguments
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      ;; Pass options to the CMake-based build process.
-                      (define out
-                        (assoc-ref outputs "out"))
-
-                      (define args
-                        ;; Copy arguments from 'cmake-build-system', plus ask
-                        ;; for shared libraries.
-                        (list "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
-                              (string-append "-DCMAKE_INSTALL_PREFIX=" out)
-                              "-DCMAKE_INSTALL_LIBDIR=lib"
-                              "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
-                              (string-append "-DCMAKE_INSTALL_RPATH=" out
-                                             "/lib")
-                              "-DCMAKE_VERBOSE_MAKEFILE=ON"
-
-                              "-DBUILD_SHARED_LIBS=ON"))
-
-                      ;; This environment variable is honored by 'setup.py',
-                      ;; which passes it down to 'cmake'.
-                      (setenv "CMAKE_ARGS" (string-join args))
-
-                      ;; This one is honored by 'setup.py' and passed to 'make
-                      ;; -j'.
-                      (setenv "MAX_JOBS"
-                              (number->string (parallel-job-count)))))
-                  (add-before 'check 'make-test-directory-writable
-                    (lambda _
-                      ;; Make things writable for tests.
-                      (setenv "HOME" (getcwd))
-                      (for-each make-file-writable
-                                (find-files "onnx/examples" "."
-                                            #:directories? #t))))
-                  (add-after 'install 'install-from-cmake
-                    (lambda _
-                      ;; Run "make install" in the build tree 'setup.py'
-                      ;; created for CMake so that libonnx.so,
-                      ;; libonnx_proto.so, etc. are installed.
-                      (invoke "make" "install"
-                              "-C" ".setuptools-cmake-build"))))))
+     (list
+      ;; python-nbval depends transitively on Rust.
+      #:tests?
+      (->bool (member (or (%current-target-system)
+                          (%current-system))
+                      (package-transitive-supported-systems python-nbval)))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'pass-cmake-arguments
+            (lambda* (#:key outputs tests? #:allow-other-keys)
+              ;; For derived package use
+              (substitute* "CMakeLists.txt"
+                (("set\\(ONNX_ROOT.*")
+                 (string-append "set(ONNX_ROOT "#$(package-source this-package) ")\n"))
+                (("\\$\\{ROOT_DIR\\}(/tools.*)" _ rest)
+                 (string-append "${PROJECT_SOURCE_DIR}" rest)))
+              ;; Pass options to the CMake-based build process.
+              (define out
+                (assoc-ref outputs "out"))
+
+              (define args
+                ;; Copy arguments from 'cmake-build-system', plus ask
+                ;; for shared libraries.
+                (list "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
+                      (string-append "-DCMAKE_INSTALL_PREFIX=" out)
+                      "-DCMAKE_INSTALL_LIBDIR=lib"
+                      "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
+                      (string-append "-DCMAKE_INSTALL_RPATH=" out
+                                     "/lib")
+                      "-DCMAKE_VERBOSE_MAKEFILE=ON"
+                      (string-append "-DONNX_BUILD_TESTS="
+                                     (if tests? "ON" "OFF"))
+                      "-DBUILD_SHARED_LIBS=ON"
+                      "-DONNX_USE_PROTOBUF_SHARED_LIBS=ON"))
+
+              ;; This environment variable is honored by 'setup.py',
+              ;; which passes it down to 'cmake'.
+              (setenv "CMAKE_ARGS" (string-join args))
+
+              ;; This one is honored by 'setup.py' and passed to 'make
+              ;; -j'.
+              (setenv "MAX_JOBS"
+                      (number->string (parallel-job-count)))))
+          (add-before 'check 'make-test-directory-writable
+            (lambda _
+              ;; Make things writable for tests.
+              (setenv "HOME" (getcwd))
+              (for-each make-file-writable
+                        (find-files "onnx/examples" "."
+                                    #:directories? #t))))
+          (add-after 'install 'install-from-cmake
+            (lambda _
+              ;; Run "make install" in the build tree 'setup.py'
+              ;; created for CMake so that libonnx.so,
+              ;; libonnx_proto.so, etc. are installed.
+              (invoke "make" "install"
+                      "-C" ".setuptools-cmake-build"))))))
     (native-inputs
-     (list cmake
-           googletest
-           pybind11
-           python-coverage
-           python-nbval
-           python-pytest
-           python-pytest-runner))
+     (append
+      (list cmake-minimal
+            googletest
+            pybind11
+            python-coverage
+            python-fb-re2
+            python-parameterized-next
+            python-pytest
+            python-pytest-runner)
+      (filter
+       (lambda (pkg)
+         (member (or (%current-target-system)
+                     (%current-system))
+                 (package-transitive-supported-systems pkg)))
+       (list python-nbval))))
     (inputs
      (list protobuf))
     (propagated-inputs
diff --git a/gnu/packages/patches/onnx-shared-libraries.patch b/gnu/packages/patches/onnx-shared-libraries.patch
index 00583b35da..5a3fd658d0 100644
--- a/gnu/packages/patches/onnx-shared-libraries.patch
+++ b/gnu/packages/patches/onnx-shared-libraries.patch
@@ -1,13 +1,12 @@
-These linker options for the 'onnx_cpp2py_export.cpython-38-*-gnu.so'
-(or similar) extension are meant to be used when building 'libonn.a',
-a static archive.  This patch adapts the link flags to linking with
-'libonnx.so'.
+These linker options for the 'onnx_cpp2py_export.cpython-310-*-gnu.so' (or
+similar) extension are meant to be used when building 'libonn.a', a static
+archive.  This patch adapts the link flags to linking with 'libonnx.so'.
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cede3073..52f846ed 100644
+index b666eec4..1525b219 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -475,11 +475,10 @@ if(BUILD_ONNX_PYTHON)
+@@ -585,16 +585,15 @@ if(BUILD_ONNX_PYTHON)
                            PRIVATE $<TARGET_OBJECTS:onnx>)
    else()
      # Assume everything else is like gcc
@@ -15,10 +14,15 @@ index cede3073..52f846ed 100644
 -                          PRIVATE "-Wl,--whole-archive" $<TARGET_FILE:onnx>
 -                                  "-Wl,--no-whole-archive")
 +    target_link_libraries(onnx_cpp2py_export PRIVATE onnx)
+     # Prevent "undefined symbol: _ZNSt10filesystem7__cxx114path14_M_split_cmptsEv" 
+     # (std::filesystem::__cxx11::path::_M_split_cmpts()) on gcc 8
+     if (CMAKE_CXX_STANDARD EQUAL 17 AND CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
+       target_link_libraries(onnx_cpp2py_export PRIVATE "-lstdc++fs")
+     endif()
      set_target_properties(onnx_cpp2py_export
 -                          PROPERTIES LINK_FLAGS "-Wl,--exclude-libs,ALL")
 +                          PROPERTIES LINK_FLAGS
-+			  "-Wl,-rpath=${CMAKE_INSTALL_PREFIX}/lib")
++                          "-Wl,-rpath=${CMAKE_INSTALL_PREFIX}/lib")
    endif()
  
    target_link_libraries(onnx_cpp2py_export PRIVATE onnx)
diff --git a/gnu/packages/patches/onnx-skip-model-downloads.patch b/gnu/packages/patches/onnx-skip-model-downloads.patch
index 4ab55b4ceb..55925a3ebf 100644
--- a/gnu/packages/patches/onnx-skip-model-downloads.patch
+++ b/gnu/packages/patches/onnx-skip-model-downloads.patch
@@ -1,16 +1,14 @@
-A few tests require downloading models from URLs such as
- <https://s3.amazonaws.com/download.onnx/models/opset_9/zfnet512.tar.gz>.
-Skip those.
+A few tests require downloading models. Skip those.
 
 diff --git a/onnx/backend/test/runner/__init__.py b/onnx/backend/test/runner/__init__.py
-index 049ed57b..f236f1bf 100644
+index 5b60e7c0..838c7ba5 100644
 --- a/onnx/backend/test/runner/__init__.py
 +++ b/onnx/backend/test/runner/__init__.py
-@@ -202,6 +202,7 @@ class Runner(object):
-             print('Start downloading model {} from {}'.format(
-                 model_test.model_name,
-                 model_test.url))
+@@ -236,6 +236,7 @@ class Runner:
+             print(
+                 f"Start downloading model {model_test.model_name} from {model_test.url}"
+             )
 +            raise unittest.SkipTest('Skipping download')
              urlretrieve(model_test.url, download_file.name)
-             print('Done')
+             print("Done")
              with tarfile.open(download_file.name) as t:
diff --git a/gnu/packages/patches/onnx-use-system-googletest.patch b/gnu/packages/patches/onnx-use-system-googletest.patch
deleted file mode 100644
index 5dfcbc6dc3..0000000000
--- a/gnu/packages/patches/onnx-use-system-googletest.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-ONNX will build googletest from a Git checkout.  Patch CMake to use our
-googletest package and enable tests by default.
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0aa9fda2..a573170c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -22,7 +22,7 @@ option(BUILD_ONNX_PYTHON "Build Python binaries" OFF)
- option(ONNX_GEN_PB_TYPE_STUBS "Generate protobuf python type stubs" ON)
- option(ONNX_WERROR "Build with Werror" OFF)
- option(ONNX_COVERAGE "Build with coverage instrumentation" OFF)
--option(ONNX_BUILD_TESTS "Build ONNX C++ APIs Tests" OFF)
-+option(ONNX_BUILD_TESTS "Build ONNX C++ APIs Tests" ON)
- option(ONNX_USE_LITE_PROTO "Use lite protobuf instead of full." OFF)
- option(ONNXIFI_ENABLE_EXT "Enable onnxifi extensions." OFF)
- if(NOT DEFINED ONNX_ML)
-@@ -82,8 +82,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
- endif()
-
- if(ONNX_BUILD_TESTS)
--  list(APPEND CMAKE_MODULE_PATH ${ONNX_ROOT}/cmake/external)
--  include(googletest)
-+  find_package(GTest REQUIRED)
-+  if(NOT GTest_FOUND)
-+    message(FATAL_ERROR "cannot find googletest")
-+  endif()
- endif()
-
- if((ONNX_USE_LITE_PROTO AND TARGET protobuf::libprotobuf-lite) OR ((NOT ONNX_USE_LITE_PROTO) AND TARGET protobuf::libprotobuf))
-diff --git a/cmake/unittest.cmake b/cmake/unittest.cmake
-index e29a93ff..ae146390 100644
---- a/cmake/unittest.cmake
-+++ b/cmake/unittest.cmake
-@@ -6,8 +6,8 @@ include(${ONNX_ROOT}/cmake/Utils.cmake)
-
- find_package(Threads)
-
--set(${UT_NAME}_libs ${googletest_STATIC_LIBRARIES})
--set(${ONNXIFI_TEST_DRIVER}_libs ${googletest_STATIC_LIBRARIES})
-+set(${UT_NAME}_libs ${GTEST_LIBRARIES})
-+set(${ONNXIFI_TEST_DRIVER}_libs ${GTEST_LIBRARIES})
-
- list(APPEND ${UT_NAME}_libs onnx)
- list(APPEND ${UT_NAME}_libs onnx_proto)
-@@ -31,10 +31,10 @@ function(AddTest)
-   list(REMOVE_DUPLICATES _UT_SOURCES)
-
-   add_executable(${_UT_TARGET} ${_UT_SOURCES})
--  add_dependencies(${_UT_TARGET} onnx onnx_proto googletest)
-+  add_dependencies(${_UT_TARGET} onnx onnx_proto)
-
-   target_include_directories(${_UT_TARGET}
--                             PUBLIC ${googletest_INCLUDE_DIRS}
-+                             PUBLIC ${GTEST_INCLUDE_DIRS}
-                                     ${ONNX_INCLUDE_DIRS}
-                                     ${PROTOBUF_INCLUDE_DIRS}
-                                     ${ONNX_ROOT}
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 17/24] gnu: onnx-optimizer: Update to 0.3.19.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (15 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 16/24] gnu: onnx: Update to 1.16.2 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 18/24] gnu: gloo: Update to commit 81925d1 David Elsing
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing, Andy Tai

* gnu/packages/machine-learning.scm (onnx-optimizer): Update to 0.3.19.
* gnu/packages/patches/onnx-optimizer-system-library.patch: Adjust patch.

Co-authored-by: Andy Tai <atai@atai.org>
---
 gnu/packages/machine-learning.scm             | 47 +++++++++++----
 .../onnx-optimizer-system-library.patch       | 60 +++++++++----------
 2 files changed, 66 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index fff7a8c24a..eb7315730a 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1361,8 +1361,7 @@ (define-public onnx
             (lambda* (#:key outputs tests? #:allow-other-keys)
               ;; For derived package use
               (substitute* "CMakeLists.txt"
-                (("set\\(ONNX_ROOT.*")
-                 (string-append "set(ONNX_ROOT "#$(package-source this-package) ")\n"))
+                (("set\\(ONNX_ROOT.*") "")
                 (("\\$\\{ROOT_DIR\\}(/tools.*)" _ rest)
                  (string-append "${PROJECT_SOURCE_DIR}" rest)))
               ;; Pass options to the CMake-based build process.
@@ -1382,14 +1381,15 @@ (define args
                       (string-append "-DONNX_BUILD_TESTS="
                                      (if tests? "ON" "OFF"))
                       "-DBUILD_SHARED_LIBS=ON"
-                      "-DONNX_USE_PROTOBUF_SHARED_LIBS=ON"))
+                      "-DONNX_USE_PROTOBUF_SHARED_LIBS=ON"
+                      (string-append
+                       "-DONNX_ROOT=" #$(package-source this-package))))
 
               ;; This environment variable is honored by 'setup.py',
               ;; which passes it down to 'cmake'.
               (setenv "CMAKE_ARGS" (string-join args))
 
-              ;; This one is honored by 'setup.py' and passed to 'make
-              ;; -j'.
+              ;; This one is honored by 'setup.py' and passed to 'make -j'.
               (setenv "MAX_JOBS"
                       (number->string (parallel-job-count)))))
           (add-before 'check 'make-test-directory-writable
@@ -1445,8 +1445,8 @@ (define-public python-onnx
 (define-public onnx-optimizer
   (package
     (name "onnx-optimizer")
-    ;; Note: 0.2.x is *more* recent than 1.5.0.
-    (version "0.2.6")
+    ;; Note: 0.3.x is *more* recent than 1.5.0.
+    (version "0.3.19")
     (home-page "https://github.com/onnx/optimizer")
     (source (origin
               (method git-fetch)
@@ -1455,7 +1455,7 @@ (define-public onnx-optimizer
                     (commit (string-append "v" version))))
               (sha256
                (base32
-                "1wkqqdxcxpfbf8zpbdfdd3zz5jkw775g31gyykj11z4y6pp659l6"))
+                "1mx3hsl42na6fr05nh2x3j9kxm56cpfmwk6lwl2cfq9zs3gv929w"))
               (file-name (git-file-name name version))
               (patches (search-patches "onnx-optimizer-system-library.patch"))
               (modules '((guix build utils)))
@@ -1466,10 +1466,35 @@ (define-public onnx-optimizer
      (substitute-keyword-arguments (package-arguments onnx)
        ((#:phases phases)
         #~(modify-phases #$phases
-            (delete 'relax-requirements)))))
+            (add-after 'pass-cmake-arguments
+                'pass-onnx-optimizer-cmake-arguments
+              (lambda _
+                (setenv
+                 "CMAKE_ARGS"
+                 (string-append
+                  (getenv "CMAKE_ARGS")
+                  " -DONNX_OPT_USE_SYSTEM_PROTOBUF=ON"
+                  " -DCMAKE_CXX_FLAGS=\"-DONNX_ML=1 -DONNX_NAMESPACE=onnx\""))))
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (if tests?
+                    (invoke "pytest" "-vv" "-k"
+                            ;; These tests fail with upstream ONNX:
+                            ;; https://github.com/onnx/optimizer/issues/138
+                            (string-append
+                             "not test_fuse_matmul"
+                             " and not test_fuse_consecutive"
+                             " and not test_fuse_transpose")))))))))
     (native-inputs
-     (list cmake python-pytest python-pytest-runner python-nbval
-           python-coverage))
+     (append
+      (list cmake-minimal python-pytest python-pytest-runner
+            python-coverage)
+      (filter
+       (lambda (pkg)
+         (member (or (%current-target-system)
+                     (%current-system))
+                 (package-transitive-supported-systems pkg)))
+       (list python-nbval))))
     (inputs
      (list onnx protobuf pybind11))
     (propagated-inputs
diff --git a/gnu/packages/patches/onnx-optimizer-system-library.patch b/gnu/packages/patches/onnx-optimizer-system-library.patch
index 5c592597e0..513623fe05 100644
--- a/gnu/packages/patches/onnx-optimizer-system-library.patch
+++ b/gnu/packages/patches/onnx-optimizer-system-library.patch
@@ -1,53 +1,53 @@
-Arrange so that onnx-optimizer (1) uses our own ONNX build, 
-(2) builds as a shared library, and (3) links against the shared
-libraries of ONNX.
+Arrange so that onnx-optimizer uses our own ONNX build, and links against the
+shared libraries of ONNX.
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c2e48b35..8af51076 100644
+index 00633856..76a73853 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -9,8 +9,6 @@ endif(NOT MSVC)
+@@ -27,8 +27,6 @@ if(NOT ONNX_OPT_USE_SYSTEM_PROTOBUF)
+ endif()
  
- set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  
 -set(ONNX_ROOT ${PROJECT_SOURCE_DIR}/third_party/onnx)
--add_subdirectory(${ONNX_ROOT})
+-add_subdirectory_if_no_target(${ONNX_ROOT} ${ONNX_TARGET_NAME})
  
  file(READ "${PROJECT_SOURCE_DIR}/VERSION_NUMBER" ONNX_OPTIMIZER_VERSION)
  string(STRIP "${ONNX_OPTIMIZER_VERSION}" ONNX_OPTIMIZER_VERSION)
-@@ -21,14 +19,18 @@ file(GLOB_RECURSE onnx_opt_srcs "onnxoptimizer/*.cc"
+@@ -41,14 +39,14 @@ file(GLOB onnx_opt_srcs "onnxoptimizer/*.cc"
  list(REMOVE_ITEM onnx_opt_srcs "${PROJECT_SOURCE_DIR}/onnxoptimizer/cpp2py_export.cc")
  
- add_library(onnx_optimizer ${onnx_opt_srcs})
--target_link_libraries(onnx_optimizer PUBLIC onnx)
-+target_link_libraries(onnx_optimizer PUBLIC onnx onnx_proto)
+ onnxopt_add_library(onnx_optimizer ${onnx_opt_srcs})
+-target_link_libraries(onnx_optimizer PUBLIC ${ONNX_TARGET_NAME})
++target_link_libraries(onnx_optimizer PUBLIC ${ONNX_TARGET_NAME} onnx_proto)
  target_include_directories(onnx_optimizer PUBLIC
      $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
      $<INSTALL_INTERFACE:include>
      )
  
-+# These cpp macros must be defined so the ONNX headers behave
-+# correctly.
-+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DONNX_ML=1 -DONNX_NAMESPACE=onnx")
-+
- add_executable(onnx_optimizer_exec examples/onnx_optimizer_exec.cpp)
+ onnxopt_add_executable(onnx_optimizer_exec examples/onnx_optimizer_exec.cpp)
 -target_link_libraries(onnx_optimizer_exec onnx_optimizer)
-+target_link_libraries(onnx_optimizer_exec onnx_optimizer protobuf)
- 
- if(BUILD_ONNX_PYTHON)
-   if("${PY_EXT_SUFFIX}" STREQUAL "")
-@@ -79,11 +81,10 @@ if(BUILD_ONNX_PYTHON)
-                           PRIVATE $<TARGET_OBJECTS:onnx_optimizer>)
-   else()
-     # Assume everything else is like gcc
--    target_link_libraries(onnx_opt_cpp2py_export
--                          PRIVATE "-Wl,--whole-archive" $<TARGET_FILE:onnx_optimizer>
--                                  "-Wl,--no-whole-archive")
-+    target_link_libraries(onnx_opt_cpp2py_export PRIVATE onnx_optimizer)
++target_link_libraries(onnx_optimizer_exec onnx_optimizer onnx_proto)
+ 
+ 
+ file(GLOB onnx_opt_c_api_srcs "onnxoptimizer/c_api/*.cc"
+@@ -116,7 +114,8 @@ if(BUILD_ONNX_PYTHON)
+                           PRIVATE "-Wl,--whole-archive" $<TARGET_FILE:onnx_optimizer>
+                                   "-Wl,--no-whole-archive")
      set_target_properties(onnx_opt_cpp2py_export
 -                          PROPERTIES LINK_FLAGS "-Wl,--exclude-libs,ALL")
-+                          PROPERTIES LINK_FLAGS
-+			  "-Wl,-rpath=${CMAKE_INSTALL_PREFIX}/lib")
++                          PROPERTIES LINK_FLAGS "-Wl,--exclude-libs,ALL,-rpath=${CMAKE_INSTALL_PREFIX}/lib")
++
    endif()
  
    target_link_libraries(onnx_opt_cpp2py_export PRIVATE onnx_optimizer)
+diff --git a/cmake/utils.cmake b/cmake/utils.cmake
+index 6cca9f36..8e39d5c4 100644
+--- a/cmake/utils.cmake
++++ b/cmake/utils.cmake
+@@ -1,4 +1,4 @@
+-include(${PROJECT_SOURCE_DIR}/third_party/onnx/cmake/Utils.cmake)
++include(${ONNX_ROOT}/cmake/Utils.cmake)
+ 
+ # Poor man's FetchContent
+ function(add_subdirectory_if_no_target dir target)
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 18/24] gnu: gloo: Update to commit 81925d1.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (16 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 17/24] gnu: onnx-optimizer: Update to 0.3.19 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 19/24] gnu: cpp-httplib: Update to 0.16.0 David Elsing
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (gloo): Update to commit 81925d1.
[arguments]: Add -DCMAKE_CXX_STANDARD=17 to #:configure-flags.
[supported-systems]: New field.
---
 gnu/packages/machine-learning.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index eb7315730a..b66071effc 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -3888,8 +3888,8 @@ (define-public python-keras
 
 (define-public gloo
   (let ((version "0.0.0")                         ; no proper version tag
-        (commit "c22a5cfba94edf8ea4f53a174d38aa0c629d070f")
-        (revision "1"))
+        (commit "81925d1c674c34f0dc34dd9a0f2151c1b6f701eb")
+        (revision "2"))
     (package
       (name "gloo")
       (version (git-version version revision commit))
@@ -3902,7 +3902,7 @@ (define-public gloo
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1crmqgybzkgkpbmcx16912gsl5qsj49swa0ikx6mhqgph0chrh11"))))
+           "16zs8ndbiv9nppn8bv6lfanzyyssz7g5pawxiqcnafwq3nvxpj9m"))))
       (build-system cmake-build-system)
       (native-inputs
        (list googletest))
@@ -3914,6 +3914,7 @@ (define-public gloo
       (arguments
        (list #:configure-flags #~'("-DBUILD_SHARED_LIBS=ON"
                                    "-DBUILD_TEST=1"
+                                   "-DCMAKE_CXX_STANDARD=17"
                                    #$@(if (this-package-input "rdma-core")
                                           #~("-DUSE_IBVERBS=ON")
                                           #~()))
@@ -3929,6 +3930,7 @@ (define-public gloo
 number of collective algorithms useful for machine learning applications.
 These include a barrier, broadcast, and allreduce.")
       (home-page "https://github.com/facebookincubator/gloo")
+      (supported-systems %64bit-supported-systems)
       (license license:bsd-3))))
 
 (define-public python-tensorly
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 19/24] gnu: cpp-httplib: Update to 0.16.0.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (17 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 18/24] gnu: gloo: Update to commit 81925d1 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 20/24] gnu: python-pytorch: Update to 2.4.0 David Elsing
                   ` (5 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/cpp.scm (cpp-httplib): Update to 0.16.0.
---
 gnu/packages/cpp.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6b46465abf..2c80bd8ba5 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1086,7 +1086,7 @@ (define-public cpp-httplib
   ;; header
   (package
     (name "cpp-httplib")
-    (version "0.12.5")
+    (version "0.16.0")
     (source
      (origin
        (method git-fetch)
@@ -1094,7 +1094,7 @@ (define-public cpp-httplib
              (url "https://github.com/yhirose/cpp-httplib")
              (commit (string-append "v" version))))
        (sha256
-        (base32 "1m1p6h1dsxg4kg5zziffb6xl8zgjbkw7gmgmmlnrhpl3bswam87n"))
+        (base32 "0n4ribq7c6lqj0hn50pdvy7wml62fqbgrgysb038fq1qc6xyw3np"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 20/24] gnu: python-pytorch: Update to 2.4.0.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (18 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 19/24] gnu: cpp-httplib: Update to 0.16.0 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:15 ` [bug#72471] [PATCH 21/24] gnu: python-torchvision: Update to 0.19.0 David Elsing
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

This also updates the qnnpack-pytorch package.

* gnu/packages/machine-learning.scm (%python-pytorch-version): Set to 2.4.0.
(%python-pytorch-src): Adjust hash accordingly.
[source]: Remove obsolete file deletions in snippet.
(python-pytorch)[arguments]<#:phases>: Disable telemetry and set Python
install directory.  Remove obsolete USE_FFMPEG, USE_OPENCV and
USE_PYTORCH_QNNPACK environment variables.
[native-inputs]: Remove python-typing-extensions.
[inputs]: Add brotli, cpp-httplib and zlib.  Remove qnnpack.  Use oneapi-dnnl,
qnnpack-pytorch and xnnpack for all systems.
[propagated-inputs]: Add onnx and python-typing-extensions.  Use cpuinfo for
all systems.
[supported-systems]: New field.
(python-pytorch-for-r-torch)[inputs]: Add qnnpack.
* gnu/packages/patches/python-pytorch-fix-codegen.patch: Adjust patch.
* gnu/packages/patches/python-pytorch-runpath.patch: Adjust patch.
* gnu/packages/patches/python-pytorch-system-libraries.patch: Adjust patch.
* gnu/packages/patches/python-pytorch-without-kineto.patch: Adjust patch.
---
 gnu/packages/machine-learning.scm             |  76 +++++------
 .../patches/python-pytorch-fix-codegen.patch  |  26 ++--
 .../patches/python-pytorch-runpath.patch      |  19 +--
 .../python-pytorch-system-libraries.patch     | 122 +++++++++---------
 .../python-pytorch-without-kineto.patch       |  10 +-
 5 files changed, 119 insertions(+), 134 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index b66071effc..822881f15a 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4466,7 +4466,7 @@ (define-public ideep-pytorch-for-r-torch
         (base32
          "0hdpkhcjry22fjx2zg2r48v7f4ljrclzj0li2pgk76kvyblfbyvm"))))))
 
-(define %python-pytorch-version "2.2.1")
+(define %python-pytorch-version "2.4.0")
 
 (define %python-pytorch-src
   (origin
@@ -4477,7 +4477,7 @@ (define %python-pytorch-src
     (file-name (git-file-name "python-pytorch" %python-pytorch-version))
     (sha256
      (base32
-      "03mm0pwwb5lxdsmmiw3cch9fijgjw81kmmc4ln9rlyazkm7l1r48"))
+      "18hdhzr12brj0b7ppyiscax0dbra30207qx0cckw78midfkcn7cn"))
     (patches (search-patches "python-pytorch-system-libraries.patch"
                              "python-pytorch-runpath.patch"
                              "python-pytorch-without-kineto.patch"
@@ -4505,14 +4505,6 @@ (define %python-pytorch-src
          delete-file
          '("aten/src/ATen/nnapi/nnapi_wrapper.cpp"
            "aten/src/ATen/nnapi/nnapi_wrapper.h"
-           "caffe2/mobile/contrib/ios/mpscnn/mpscnn_kernels.h"
-           "caffe2/proto/caffe2_legacy_pb2.pyi"
-           "caffe2/proto/caffe2_pb2.pyi"
-           "caffe2/proto/hsm_pb2.pyi"
-           "caffe2/proto/metanet_pb2.pyi"
-           "caffe2/proto/predictor_consts_pb2.pyi"
-           "caffe2/proto/prof_dag_pb2.pyi"
-           "caffe2/proto/torch_pb2.pyi"
            ;; These files contain just lists of floating point values and
            ;; might be as well hand-written.
            ;; "test/cpp/api/init_baseline.h"
@@ -4619,7 +4611,18 @@ (define-public python-pytorch
                   #$(this-package-native-input "pocketfft-cpp") "/include"))
                 (("#FP16_INCLUDE_DIR")
                  (string-append
-                  #$(this-package-input "fp16") "/include")))))
+                  #$(this-package-input "fp16") "/include"))
+                ;; Disable opentelemetry
+                ((".*(add_library|target_include_directories).*opentelemetry.*")
+                 ""))
+              (substitute* "torch/CMakeLists.txt"
+                ((".*opentelemetry.*") ""))
+              ;; Fix Python install directory
+              (substitute* "caffe2/CMakeLists.txt"
+                (("\\$\\{Python_SITELIB\\}")
+                 (string-append #$output "/lib/python"
+                                #$(version-major+minor (package-version python))
+                                "/site-packages")))))
           (add-before 'build 'use-system-libraries
             (lambda _
               (substitute* '("caffe2/serialize/crc.cc"
@@ -4641,9 +4644,7 @@ (define-public python-pytorch
                        name))
                     '("compat_bindings.cpp" "timer_callgrind_template.cpp")))
                 (("<callgrind.h>") "<valgrind/callgrind.h>"))
-              (setenv "USE_FFMPEG" "1")
               (setenv "USE_VULKAN" "1")
-              (setenv "USE_OPENCV" "1")
               ;; Tell 'setup.py' to let 'CMakeLists.txt' know that we
               ;; want to use "system libraries" instead of the bundled
               ;; ones.
@@ -4659,8 +4660,7 @@ (define-public python-pytorch
                           (or (%current-target-system)
                               (%current-system))
                           (package-transitive-supported-systems qnnpack)))
-                  (setenv "USE_QNNPACK" "0")
-                  (setenv "USE_PYTORCH_QNNPACK" "0"))))
+                  (setenv "USE_QNNPACK" "0"))))
           ;; PyTorch is still built with AVX2 and AVX-512 support selected at
           ;; runtime, but these dependencies require it (nnpack only for
           ;; x86_64).
@@ -4773,15 +4773,15 @@ (define-public python-pytorch
            python-pytest-xdist
            python-hypothesis
            python-types-dataclasses
-           python-typing-extensions
            shaderc
            valgrind))
     (inputs
      (append
       (list asmjit
+            brotli ; for cpp-httplib
             clog
+            cpp-httplib
             eigen
-            ffmpeg
             flatbuffers-next
             fmt
             foxi
@@ -4793,38 +4793,33 @@ (define-public python-pytorch
             googlebenchmark
             libuv
             miniz-for-pytorch
+            oneapi-dnnl
             openblas
-            opencv
             openmpi
+            openssl ; for cpp-httplib
             pthreadpool
             protobuf
             pybind11
+            ;; qnnpack
+            qnnpack-pytorch
             sleef
             tensorpipe
             vulkan-headers
             vulkan-loader
             vulkan-memory-allocator
+            xnnpack
+            zlib ; for cpp-httplib
             zstd)
-      ;; TODO: fix build on 32 bit systems once Rust is available.
-      (filter
-       (lambda (pkg)
-         (member (or (%current-target-system)
-                     (%current-system))
-                 (package-transitive-supported-systems pkg)))
-       (list oneapi-dnnl
-             qnnpack
-             qnnpack-pytorch
-             xnnpack))
       ;; nnpack requires AVX2 for x86_64-linux
-      (filter
-       (lambda (pkg)
-         (member (or (%current-target-system)
-                     (%current-system))
-                 '("armhf-linux" "aarch64-linux")))
-       (list nnpack))))
+      (if (equal? (or (%current-target-system)
+                      (%current-system))
+                  '("aarch64-linux"))
+          (list nnpack)
+          '())))
     (propagated-inputs
      (append
-      (list onnx ;propagated for its Python modules
+      (list cpuinfo
+            onnx ;propagated for its Python modules
             onnx-optimizer
             python-astunparse
             python-click
@@ -4841,15 +4836,11 @@ (define-public python-pytorch
             python-pyyaml
             python-requests
             python-sympy
-            python-typing-extensions)
-      (filter
-       (lambda (pkg)
-         (member (or (%current-target-system)
-                     (%current-system))
-                 (package-transitive-supported-systems pkg)))
-       (list cpuinfo))))
+            python-typing-extensions)))
     (home-page "https://pytorch.org/")
     (synopsis "Python library for tensor computation and deep neural networks")
+    ;; TODO: Support other 64-bit systems.
+    (supported-systems '("x86_64-linux" "aarch64-linux"))
     (description
      "PyTorch is a Python package that provides two high-level features:
 
@@ -4927,6 +4918,7 @@ (define-public python-pytorch-for-r-torch
        (replace "ideep-pytorch" ideep-pytorch-for-r-torch)))
     (inputs
      (modify-inputs (package-inputs python-pytorch)
+       (prepend qnnpack)
        (replace "qnnpack-pytorch" qnnpack-pytorch-for-r-torch)
        (replace "oneapi-dnnl" oneapi-dnnl-for-r-torch)
        (replace "xnnpack" xnnpack-for-r-torch)))
diff --git a/gnu/packages/patches/python-pytorch-fix-codegen.patch b/gnu/packages/patches/python-pytorch-fix-codegen.patch
index cb246b25de..b30094de09 100644
--- a/gnu/packages/patches/python-pytorch-fix-codegen.patch
+++ b/gnu/packages/patches/python-pytorch-fix-codegen.patch
@@ -6,7 +6,7 @@ is later corrected.  codegen_external.py is patched to avoid duplicate
 functions and add the static keyword as in the existing generated file.
 
 diff --git a/tools/gen_flatbuffers.sh b/tools/gen_flatbuffers.sh
-index cc0263dbbf..ac34e84b82 100644
+index cc0263d..ac34e84 100644
 --- a/tools/gen_flatbuffers.sh
 +++ b/tools/gen_flatbuffers.sh
 @@ -1,13 +1,13 @@
@@ -32,10 +32,10 @@ index cc0263dbbf..ac34e84b82 100644
       -c "$ROOT/torch/csrc/jit/serialization/mobile_bytecode.fbs"
  echo '// @generated' >> "$ROOT/torch/csrc/jit/serialization/mobile_bytecode_generated.h"
 diff --git a/torch/csrc/jit/tensorexpr/codegen_external.py b/torch/csrc/jit/tensorexpr/codegen_external.py
-index bc69b05162..0f8df81de3 100644
+index 5dcf1b2..0e20b0c 100644
 --- a/torch/csrc/jit/tensorexpr/codegen_external.py
 +++ b/torch/csrc/jit/tensorexpr/codegen_external.py
-@@ -20,9 +20,14 @@ def gen_external(native_functions_path, tags_path, external_path):
+@@ -21,9 +21,14 @@ def gen_external(native_functions_path, tags_path, external_path):
      native_functions = parse_native_yaml(native_functions_path, tags_path)
      func_decls = []
      func_registrations = []
@@ -51,7 +51,7 @@ index bc69b05162..0f8df81de3 100644
          args = schema.arguments
          # Only supports extern calls for functions with out variants
          if not schema.is_out_fn():
-@@ -62,7 +67,7 @@ def gen_external(native_functions_path, tags_path, external_path):
+@@ -63,7 +68,7 @@ def gen_external(native_functions_path, tags_path, external_path):
  
          # print(tensor_decls, name, arg_names)
          func_decl = f"""\
@@ -61,7 +61,7 @@ index bc69b05162..0f8df81de3 100644
      void** buf_data,
      int64_t* buf_ranks,
 diff --git a/torchgen/decompositions/gen_jit_decompositions.py b/torchgen/decompositions/gen_jit_decompositions.py
-index 7cfbb803f9..2e69bb1868 100644
+index 7a0024f..6b2445f 100644
 --- a/torchgen/decompositions/gen_jit_decompositions.py
 +++ b/torchgen/decompositions/gen_jit_decompositions.py
 @@ -1,8 +1,12 @@
@@ -88,12 +88,12 @@ index 7cfbb803f9..2e69bb1868 100644
      write_decomposition_util_file(str(upgrader_path))
  
 diff --git a/torchgen/operator_versions/gen_mobile_upgraders.py b/torchgen/operator_versions/gen_mobile_upgraders.py
-index dab1568580..55c58715fc 100644
+index 2907076..6866332 100644
 --- a/torchgen/operator_versions/gen_mobile_upgraders.py
 +++ b/torchgen/operator_versions/gen_mobile_upgraders.py
-@@ -2,10 +2,12 @@
- import os
+@@ -3,10 +3,12 @@ import os
  from enum import Enum
+ from operator import itemgetter
  from pathlib import Path
 +import sys
  from typing import Any, Dict, List
@@ -106,7 +106,7 @@ index dab1568580..55c58715fc 100644
  
  from torchgen.code_template import CodeTemplate
  from torchgen.operator_versions.gen_mobile_upgraders_constant import (
-@@ -262,7 +264,10 @@ def construct_register_size(register_size_from_yaml: int) -> str:
+@@ -263,7 +265,10 @@ def construct_register_size(register_size_from_yaml: int) -> str:
  def construct_version_maps(
      upgrader_bytecode_function_to_index_map: Dict[str, Any]
  ) -> str:
@@ -115,10 +115,10 @@ index dab1568580..55c58715fc 100644
 +        version_map = torch._C._get_operator_version_map()
 +    else:
 +        version_map = {}
-     sorted_version_map_ = sorted(version_map.items(), key=lambda item: item[0])  # type: ignore[no-any-return]
+     sorted_version_map_ = sorted(version_map.items(), key=itemgetter(0))  # type: ignore[no-any-return]
      sorted_version_map = dict(sorted_version_map_)
  
-@@ -378,7 +383,10 @@ def sort_upgrader(upgrader_list: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
+@@ -379,7 +384,10 @@ def sort_upgrader(upgrader_list: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
  
  
  def main() -> None:
@@ -131,12 +131,12 @@ index dab1568580..55c58715fc 100644
      for up in sorted_upgrader_list:
          print("after sort upgrader : ", next(iter(up)))
 diff --git a/torchgen/shape_functions/gen_jit_shape_functions.py b/torchgen/shape_functions/gen_jit_shape_functions.py
-index c6336a6951..34e394d818 100644
+index bdfd5c7..72b237a 100644
 --- a/torchgen/shape_functions/gen_jit_shape_functions.py
 +++ b/torchgen/shape_functions/gen_jit_shape_functions.py
 @@ -18,16 +18,20 @@ you are in the root directory of the Pytorch git repo"""
  if not file_path.exists():
-     raise Exception(err_msg)
+     raise Exception(err_msg)  # noqa: TRY002
  
 -spec = importlib.util.spec_from_file_location(module_name, file_path)
 -assert spec is not None
diff --git a/gnu/packages/patches/python-pytorch-runpath.patch b/gnu/packages/patches/python-pytorch-runpath.patch
index 2c1724cdb0..811de9e288 100644
--- a/gnu/packages/patches/python-pytorch-runpath.patch
+++ b/gnu/packages/patches/python-pytorch-runpath.patch
@@ -2,21 +2,8 @@ Libraries (such as 'libtorch_cpu.so') and executables (such as 'torch_shm_manage
 get installed, quite surprisingly, to 'lib/python3.8/site-packages/{bin,lib}'.
 Make sure RUNPATH matches that.
 
-diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt
-index 74836372..c8eb69d1 100644
---- a/caffe2/CMakeLists.txt
-+++ b/caffe2/CMakeLists.txt
-@@ -1910,7 +1910,7 @@ if(BUILD_PYTHON)
-   if(${BUILDING_WITH_TORCH_LIBS})
-     # site-packages/caffe2/python/caffe2_pybind11_state
-     # site-packages/torch/lib
--    set(caffe2_pybind11_rpath "${_rpath_portable_origin}/../../torch/lib")
-+    set(caffe2_pybind11_rpath $ORIGIN/../../torch/lib)
-   endif(${BUILDING_WITH_TORCH_LIBS})
- 
-   # Must also include `CMAKE_SHARED_LINKER_FLAGS` in linker flags for
 diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
-index acc95842..8f8fb7d7 100644
+index f1f2eb7..cb5caea 100644
 --- a/cmake/Dependencies.cmake
 +++ b/cmake/Dependencies.cmake
 @@ -4,7 +4,7 @@ if(APPLE)
@@ -29,10 +16,10 @@ index acc95842..8f8fb7d7 100644
  # Use separate rpaths during build and install phases
  set(CMAKE_SKIP_BUILD_RPATH  FALSE)
 diff --git a/functorch/CMakeLists.txt b/functorch/CMakeLists.txt
-index f2f32745..db21b656 100644
+index bdfa4bf..2a75e38 100644
 --- a/functorch/CMakeLists.txt
 +++ b/functorch/CMakeLists.txt
-@@ -21,7 +21,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE pybind::pybind11)
+@@ -26,7 +26,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE pybind::pybind11)
  
  set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY
        ${CMAKE_BINARY_DIR}/functorch)
diff --git a/gnu/packages/patches/python-pytorch-system-libraries.patch b/gnu/packages/patches/python-pytorch-system-libraries.patch
index 99f999f32f..025b3241a1 100644
--- a/gnu/packages/patches/python-pytorch-system-libraries.patch
+++ b/gnu/packages/patches/python-pytorch-system-libraries.patch
@@ -1,16 +1,14 @@
 Patch build files to also system libraries instead of bundled ones for the
 libraries not supported or working only by specifying USE_SYSTEM_LIBS.  This
 includes using the clog, cpuinfo, fbgemm, foxi, fp16, fxdiv, googletest,
-ideep, miniz, nnpack, oneapi-dnnl, pocketfft, pthreadpool, qnnpack,
+httlib, ideep, miniz, nnpack, oneapi-dnnl, pocketfft, pthreadpool,
 qnnpack-pytorch, tensorpipe, valgrind and xnnpack packages.
-For QNNPACK, two versions were bundled and are required: The upstream one and
-an internal fork (now in the package qnnpack-pytorch).
 
 diff --git a/aten/src/ATen/CMakeLists.txt b/aten/src/ATen/CMakeLists.txt
-index 2c2b967..5ac5fa6 100644
+index 0087dd9..0235fa1 100644
 --- a/aten/src/ATen/CMakeLists.txt
 +++ b/aten/src/ATen/CMakeLists.txt
-@@ -371,9 +371,9 @@ if(AT_NNPACK_ENABLED)
+@@ -419,9 +419,9 @@ if(AT_NNPACK_ENABLED)
    list(APPEND ATen_CPU_DEPENDENCY_LIBS nnpack) # cpuinfo is added below
  endif()
  
@@ -24,10 +22,10 @@ index 2c2b967..5ac5fa6 100644
  if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(s390x|ppc64le)$")
    list(APPEND ATen_CPU_DEPENDENCY_LIBS cpuinfo)
 diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt
-index 7483637..093de40 100644
+index 89c31fa..e6d9ef1 100644
 --- a/caffe2/CMakeLists.txt
 +++ b/caffe2/CMakeLists.txt
-@@ -111,9 +111,6 @@ if(NOT MSVC AND USE_XNNPACK)
+@@ -91,9 +91,6 @@ if(NOT MSVC AND USE_XNNPACK)
    if(NOT TARGET fxdiv)
      set(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
      set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
@@ -37,7 +35,7 @@ index 7483637..093de40 100644
    endif()
  endif()
  
-@@ -1055,7 +1052,6 @@ elseif(USE_CUDA)
+@@ -1075,7 +1072,6 @@ if(USE_XPU)
  endif()
  
  if(NOT MSVC AND USE_XNNPACK)
@@ -45,7 +43,17 @@ index 7483637..093de40 100644
  endif()
  
  # ==========================================================
-@@ -1396,6 +1392,7 @@ target_link_libraries(torch_cpu PUBLIC c10)
+@@ -1189,6 +1185,9 @@ endif()
+ target_include_directories(torch_cpu PRIVATE
+   ${TORCH_ROOT}/third_party/cpp-httplib)
+ 
++find_package(httplib REQUIRED)
++target_link_libraries(torch_cpu PUBLIC httplib::httplib)
++
+ install(DIRECTORY "${TORCH_SRC_DIR}/csrc"
+   DESTINATION ${TORCH_INSTALL_INCLUDE_DIR}/torch
+   FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp")
+@@ -1417,6 +1416,7 @@ target_link_libraries(torch_cpu PUBLIC c10)
  target_link_libraries(torch_cpu PUBLIC ${Caffe2_PUBLIC_DEPENDENCY_LIBS})
  target_link_libraries(torch_cpu PRIVATE ${Caffe2_DEPENDENCY_LIBS})
  target_link_libraries(torch_cpu PRIVATE ${Caffe2_DEPENDENCY_WHOLE_LINK_LIBS})
@@ -53,7 +61,7 @@ index 7483637..093de40 100644
  if(USE_MPI)
    target_link_libraries(torch_cpu PRIVATE MPI::MPI_CXX)
  endif()
-@@ -1653,7 +1650,7 @@ if(BUILD_STATIC_RUNTIME_BENCHMARK)
+@@ -1694,7 +1694,7 @@ if(BUILD_STATIC_RUNTIME_BENCHMARK)
    add_executable(static_runtime_bench "${STATIC_RUNTIME_BENCHMARK_SRCS}")
    add_executable(static_runtime_test "${STATIC_RUNTIME_TEST_SRCS}")
    target_link_libraries(static_runtime_bench torch_library benchmark)
@@ -61,8 +69,8 @@ index 7483637..093de40 100644
 +  target_link_libraries(static_runtime_test torch_library gtest_main gtest)
  endif()
  
- if(BUILD_TENSOREXPR_BENCHMARK)
-@@ -1680,7 +1677,7 @@ if(BUILD_MOBILE_TEST)
+ if(BUILD_MOBILE_BENCHMARK)
+@@ -1713,7 +1713,7 @@ if(BUILD_MOBILE_TEST)
    foreach(test_src ${ATen_MOBILE_TEST_SRCS})
      get_filename_component(test_name ${test_src} NAME_WE)
      add_executable(${test_name} "${test_src}")
@@ -71,7 +79,7 @@ index 7483637..093de40 100644
      target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
      target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
      target_include_directories(${test_name} PRIVATE ${ATen_CPU_INCLUDE})
-@@ -1701,7 +1698,7 @@ if(BUILD_TEST)
+@@ -1734,7 +1734,7 @@ if(BUILD_TEST)
          if(NOT MSVC)
            add_executable(${test_name}_${CPU_CAPABILITY} "${test_src}" ../aten/src/ATen/native/quantized/AffineQuantizerBase.cpp)
            # TODO: Get rid of c10 dependency (which is only needed for the implementation of AT_ERROR)
@@ -80,25 +88,25 @@ index 7483637..093de40 100644
            if(USE_FBGEMM)
              target_link_libraries(${test_name}_${CPU_CAPABILITY} fbgemm)
            endif()
-@@ -1715,7 +1712,7 @@ if(BUILD_TEST)
+@@ -1748,7 +1748,7 @@ if(BUILD_TEST)
            endif()
          else()
            add_executable(${test_name}_${CPU_CAPABILITY} "${test_src}")
--          target_link_libraries(${test_name}_${CPU_CAPABILITY} torch_library gtest_main)
-+          target_link_libraries(${test_name}_${CPU_CAPABILITY} torch_library gtest_main gtest)
+-          target_link_libraries(${test_name}_${CPU_CAPABILITY} torch_library sleef gtest_main)
++          target_link_libraries(${test_name}_${CPU_CAPABILITY} torch_library sleef gtest_main gtest)
          endif()
          target_include_directories(${test_name}_${CPU_CAPABILITY} PRIVATE $<INSTALL_INTERFACE:include>)
          target_include_directories(${test_name}_${CPU_CAPABILITY} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
-@@ -1732,7 +1729,7 @@ if(BUILD_TEST)
+@@ -1765,7 +1765,7 @@ if(BUILD_TEST)
    foreach(test_src ${Caffe2_CPU_TEST_SRCS})
      get_filename_component(test_name ${test_src} NAME_WE)
      add_executable(${test_name} "${test_src}")
 -    target_link_libraries(${test_name} torch_library gtest_main)
 +    target_link_libraries(${test_name} torch_library gtest_main gtest)
-     target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
-     target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
-     target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE})
-@@ -1795,7 +1792,7 @@ if(BUILD_TEST)
+     if(NOT MSVC)
+       target_link_libraries(${test_name} stdc++)
+     endif()
+@@ -1845,7 +1845,7 @@ if(BUILD_TEST)
      foreach(test_src ${Caffe2_VULKAN_TEST_SRCS})
        get_filename_component(test_name ${test_src} NAME_WE)
        add_executable(${test_name} "${test_src}")
@@ -120,10 +128,10 @@ index 1552b59..67e1a9a 100644
    ${CMAKE_CURRENT_SOURCE_DIR}/istream_adapter.cc
    ${CMAKE_CURRENT_SOURCE_DIR}/file_adapter.cc
 diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
-index acc9584..97275bf 100644
+index f1f2eb7..b4d2033 100644
 --- a/cmake/Dependencies.cmake
 +++ b/cmake/Dependencies.cmake
-@@ -283,7 +283,7 @@ endif()
+@@ -263,7 +263,7 @@ endif()
  # --- [ PocketFFT
  set(AT_POCKETFFT_ENABLED 0)
  if(NOT AT_MKL_ENABLED)
@@ -132,27 +140,7 @@ index acc9584..97275bf 100644
    if(NOT EXISTS "${POCKETFFT_INCLUDE_DIR}")
      message(FATAL_ERROR "pocketfft directory not found, expected ${POCKETFFT_INCLUDE_DIR}")
    elif(NOT EXISTS "${POCKETFFT_INCLUDE_DIR}/pocketfft_hdronly.h")
-@@ -489,19 +489,6 @@ if(USE_QNNPACK)
-     set(QNNPACK_BUILD_TESTS OFF CACHE BOOL "")
-     set(QNNPACK_BUILD_BENCHMARKS OFF CACHE BOOL "")
-     set(QNNPACK_LIBRARY_TYPE "static" CACHE STRING "")
--    add_subdirectory(
--      "${QNNPACK_SOURCE_DIR}"
--      "${CONFU_DEPENDENCIES_BINARY_DIR}/QNNPACK")
--
--    # TODO: See https://github.com/pytorch/pytorch/issues/56285
--    if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
--      target_compile_options(qnnpack PRIVATE -Wno-deprecated-declarations)
--    endif()
--
--    # We build static versions of QNNPACK and pthreadpool but link
--    # them into a shared library for Caffe2, so they need PIC.
--    set_property(TARGET qnnpack PROPERTY POSITION_INDEPENDENT_CODE ON)
--    set_property(TARGET cpuinfo PROPERTY POSITION_INDEPENDENT_CODE ON)
- 
-     if(QNNPACK_CUSTOM_THREADPOOL)
-       target_compile_definitions(
-@@ -550,13 +537,6 @@ if(USE_PYTORCH_QNNPACK)
+@@ -458,15 +458,6 @@ if(USE_PYTORCH_QNNPACK)
        set(PYTORCH_QNNPACK_BUILD_TESTS OFF CACHE BOOL "")
        set(PYTORCH_QNNPACK_BUILD_BENCHMARKS OFF CACHE BOOL "")
        set(PYTORCH_QNNPACK_LIBRARY_TYPE "static" CACHE STRING "")
@@ -163,10 +151,12 @@ index acc9584..97275bf 100644
 -      # them into a shared library for Caffe2, so they need PIC.
 -      set_property(TARGET pytorch_qnnpack PROPERTY POSITION_INDEPENDENT_CODE ON)
 -      set_property(TARGET cpuinfo PROPERTY POSITION_INDEPENDENT_CODE ON)
+-      # QNNPACK depends on gemmlowp headers
+-      target_include_directories(pytorch_qnnpack PRIVATE "${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
  
        if(PYTORCH_QNNPACK_CUSTOM_THREADPOOL)
          target_compile_definitions(
-@@ -728,11 +708,6 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST)
+@@ -653,11 +644,6 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST)
    # this shouldn't be necessary anymore.
    get_property(INC_DIR_temp DIRECTORY PROPERTY INCLUDE_DIRECTORIES)
    set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES "")
@@ -178,7 +168,7 @@ index acc9584..97275bf 100644
  
    # We will not need to test benchmark lib itself.
    set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable benchmark testing as we don't need it.")
-@@ -810,16 +785,6 @@ if(USE_FBGEMM)
+@@ -735,16 +721,6 @@ if(USE_FBGEMM)
      if(USE_ASAN)
        set(USE_SANITIZER "address,undefined" CACHE STRING "-fsanitize options for FBGEMM")
      endif()
@@ -195,7 +185,7 @@ index acc9584..97275bf 100644
    endif()
  
    if(USE_FBGEMM)
-@@ -979,7 +944,7 @@ if(NOT TARGET fp16 AND NOT USE_SYSTEM_FP16)
+@@ -812,7 +788,7 @@ if(NOT TARGET fp16 AND NOT USE_SYSTEM_FP16)
      "${FP16_SOURCE_DIR}"
      "${CONFU_DEPENDENCIES_BINARY_DIR}/FP16")
  elseif(NOT TARGET fp16 AND USE_SYSTEM_FP16)
@@ -204,7 +194,7 @@ index acc9584..97275bf 100644
    set_target_properties(fp16 PROPERTIES LINKER_LANGUAGE C)
  endif()
  list(APPEND Caffe2_DEPENDENCY_LIBS fp16)
-@@ -1362,7 +1327,6 @@ if(USE_DISTRIBUTED AND USE_TENSORPIPE)
+@@ -1159,7 +1135,6 @@ if(USE_DISTRIBUTED AND USE_TENSORPIPE)
  
      # Tensorpipe uses cuda_add_library
      torch_update_find_cuda_flags()
@@ -212,7 +202,7 @@ index acc9584..97275bf 100644
  
      list(APPEND Caffe2_DEPENDENCY_LIBS tensorpipe)
      if(USE_CUDA)
-@@ -1529,7 +1493,6 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX)
+@@ -1288,7 +1263,6 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX)
        set_target_properties(onnx_proto PROPERTIES CXX_STANDARD 17)
      endif()
    endif()
@@ -220,7 +210,7 @@ index acc9584..97275bf 100644
  
    add_definitions(-DONNX_NAMESPACE=${ONNX_NAMESPACE})
    if(NOT USE_SYSTEM_ONNX)
-@@ -1560,7 +1523,7 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX)
+@@ -1319,7 +1293,7 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX)
      endif()
      set_property(TARGET onnx_proto PROPERTY IMPORTED_LOCATION ${ONNX_PROTO_LIBRARY})
      message("-- Found onnx: ${ONNX_LIBRARY} ${ONNX_PROTO_LIBRARY}")
@@ -229,7 +219,7 @@ index acc9584..97275bf 100644
    endif()
    include_directories(${FOXI_INCLUDE_DIRS})
    list(APPEND Caffe2_DEPENDENCY_LIBS foxi_loader)
-@@ -1739,9 +1702,8 @@ if(NOT INTERN_BUILD_MOBILE)
+@@ -1476,9 +1450,8 @@ if(NOT INTERN_BUILD_MOBILE)
    endif()
    if(USE_MKLDNN)
      include(${CMAKE_CURRENT_LIST_DIR}/public/mkldnn.cmake)
@@ -237,10 +227,10 @@ index acc9584..97275bf 100644
 +    if(DNNL_FOUND)
        set(AT_MKLDNN_ENABLED 1)
 -      include_directories(AFTER SYSTEM ${MKLDNN_INCLUDE_DIR})
-       if(BUILD_CAFFE2_OPS)
-         list(APPEND Caffe2_DEPENDENCY_LIBS caffe2::mkldnn)
-       endif(BUILD_CAFFE2_OPS)
-@@ -1796,7 +1758,7 @@ endif()
+     else()
+       message(WARNING "MKLDNN could not be found.")
+       caffe2_update_option(USE_MKLDNN OFF)
+@@ -1530,7 +1503,7 @@ endif()
  #
  set(TEMP_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
  set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE)
@@ -249,7 +239,7 @@ index acc9584..97275bf 100644
  
  # Disable compiler feature checks for `fmt`.
  #
-@@ -1805,7 +1767,6 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt)
+@@ -1539,7 +1512,6 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt)
  # CMAKE_CXX_FLAGS in ways that break feature checks. Since we already know
  # `fmt` is compatible with a superset of the compilers that PyTorch is, it
  # shouldn't be too bad to just disable the checks.
@@ -299,10 +289,10 @@ index 8793562..9f8fa3d 100644
 -  ${MKLDNN_LIBRARIES})
 +  DNNL::dnnl)
 diff --git a/setup.py b/setup.py
-index 81f3c6c..3251cab 100644
+index 9ec41cd..1f505fe 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -482,13 +482,9 @@ def build_deps():
+@@ -494,13 +494,9 @@ def build_deps():
      # Windows has very poor support for them.
      sym_files = [
          "tools/shared/_utils_internal.py",
@@ -384,10 +374,10 @@ index 5c89748..ef84c57 100644
  endif()
  
 diff --git a/test/cpp/tensorexpr/CMakeLists.txt b/test/cpp/tensorexpr/CMakeLists.txt
-index 012471d..d39b625 100644
+index 179270c..72f5582 100644
 --- a/test/cpp/tensorexpr/CMakeLists.txt
 +++ b/test/cpp/tensorexpr/CMakeLists.txt
-@@ -54,7 +54,7 @@ target_include_directories(tutorial_tensorexpr PRIVATE ${ATen_CPU_INCLUDE})
+@@ -51,7 +51,7 @@ target_include_directories(tutorial_tensorexpr PRIVATE ${ATen_CPU_INCLUDE})
  # pthreadpool header. For some build environment we need add the dependency
  # explicitly.
  if(USE_PTHREADPOOL)
@@ -396,3 +386,15 @@ index 012471d..d39b625 100644
  endif()
  if(USE_CUDA)
    target_compile_definitions(test_tensorexpr PRIVATE USE_CUDA)
+diff --git a/torch/CMakeLists.txt b/torch/CMakeLists.txt
+index 10a44af..33e2df4 100644
+--- a/torch/CMakeLists.txt
++++ b/torch/CMakeLists.txt
+@@ -81,7 +81,6 @@ set(TORCH_PYTHON_LINK_LIBRARIES
+     Python::Module
+     pybind::pybind11
+     opentelemetry::api
+-    httplib
+     shm
+     fmt::fmt-header-only
+     ATEN_CPU_FILES_GEN_LIB)
diff --git a/gnu/packages/patches/python-pytorch-without-kineto.patch b/gnu/packages/patches/python-pytorch-without-kineto.patch
index f956316866..896e11dcc2 100644
--- a/gnu/packages/patches/python-pytorch-without-kineto.patch
+++ b/gnu/packages/patches/python-pytorch-without-kineto.patch
@@ -1,12 +1,12 @@
 Even when building without Kineto, the <ActivityType.h> header is still
 imported and the ActivityType type is used. This patch was copied from
-https://github.com/pytorch/pytorch/pull/111048.
+https://github.com/pytorch/pytorch/pull/111048 and adapted.
 
 diff --git a/torch/csrc/profiler/kineto_shim.h b/torch/csrc/profiler/kineto_shim.h
-index e92cbf00..68985ab7 100644
+index 7a3b788..7f49d18 100644
 --- a/torch/csrc/profiler/kineto_shim.h
 +++ b/torch/csrc/profiler/kineto_shim.h
-@@ -12,7 +12,51 @@
+@@ -12,7 +12,55 @@
  #undef USE_KINETO
  #endif
  
@@ -48,6 +48,10 @@ index e92cbf00..68985ab7 100644
 +    MTIA_CCP_EVENTS, // MTIA ondevice CCP events
 +    HPU_OP, // HPU host side runtime event
 +    XPU_RUNTIME, // host side xpu runtime events
++    MTIA_WORKLOADD,
++
++    PRIVATEUSE1_RUNTIME,
++    PRIVATEUSE1_DRIVER,
 +
 +    ENUM_COUNT, // This is to add buffer and not used for any profiling logic. Add your new type before it.
 +    OPTIONAL_ACTIVITY_TYPE_START = CUDA_SYNC,
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 21/24] gnu: python-torchvision: Update to 0.19.0.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (19 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 20/24] gnu: python-pytorch: Update to 2.4.0 David Elsing
@ 2024-08-04 22:15 ` David Elsing
  2024-08-04 22:16 ` [bug#72471] [PATCH 22/24] gnu: python-lightning-utilities: Update to 0.11.6 David Elsing
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:15 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (python-torchvision): Update to 0.19.0.
[arguments]: Add 'setenv' phase for finding libjpeg-turbo.
[inputs]: Add ffmpeg.
---
 gnu/packages/machine-learning.scm | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 822881f15a..006e31892c 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -5330,7 +5330,7 @@ (define-public python-torchmetrics
 (define-public python-torchvision
   (package
     (name "python-torchvision")
-    (version "0.17.1")
+    (version "0.19.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -5340,7 +5340,7 @@ (define-public python-torchvision
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "094jz0ryzh0yjxf687r61r482fdh3bax8ix2csghraps0z1sns1b"))
+                "15zyq2k4x9yapx7qfghhslznz1mwybhf086pirsr98c4l891sp1r"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -5348,10 +5348,21 @@ (define-public python-torchvision
                   (delete-file-recursively "ios")))))
     (build-system pyproject-build-system)
     (arguments
-     (list #:tests? #false)) ;the test suite is expensive and there is no easy
-                             ;way to subset it.
+     (list
+      ;; The test suite is expensive and there is no easy way to subset it.
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'setenv
+            (lambda _
+              (let ((jpegdir #$(this-package-input "libjpeg-turbo")))
+                (setenv "TORCHVISION_INCLUDE"
+                        (string-append jpegdir "/include/"))
+                (setenv "TORCHVISION_LIBRARY"
+                        (string-append jpegdir "/lib/"))))))))
     (inputs
-     (list libpng
+     (list ffmpeg
+           libpng
            libjpeg-turbo))
     (propagated-inputs
      (list python-numpy
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 22/24] gnu: python-lightning-utilities: Update to 0.11.6.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (20 preceding siblings ...)
  2024-08-04 22:15 ` [bug#72471] [PATCH 21/24] gnu: python-torchvision: Update to 0.19.0 David Elsing
@ 2024-08-04 22:16 ` David Elsing
  2024-08-04 22:16 ` [bug#72471] [PATCH 23/24] gnu: python-torchmetrics: Update to 1.4.1 David Elsing
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:16 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (python-lightning-utilities): Update to
0.11.6.
[source] Adjust URI.
[build-system]: Move to pyproject-build-system.
---
 gnu/packages/machine-learning.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 006e31892c..85db721ebd 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -5040,14 +5040,14 @@ (define-public python-lightning-cloud
 (define-public python-lightning-utilities
   (package
     (name "python-lightning-utilities")
-    (version "0.8.0")
+    (version "0.11.6")
     (source (origin
               (method url-fetch)
-              (uri (pypi-uri "lightning-utilities" version))
+              (uri (pypi-uri "lightning_utilities" version))
               (sha256
                (base32
-                "084pn8fizxrcn1699jb8x2jsg4wcx01l65bwxpgnq0kzqp3rapcf"))))
-    (build-system python-build-system)
+                "016zikn39apig3y6xyipw34w0w02c73z483radddbf68ivpjgz3r"))))
+    (build-system pyproject-build-system)
     (propagated-inputs (list python-importlib-metadata python-packaging
                              python-typing-extensions))
     (native-inputs (list python-coverage))
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 23/24] gnu: python-torchmetrics: Update to 1.4.1.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (21 preceding siblings ...)
  2024-08-04 22:16 ` [bug#72471] [PATCH 22/24] gnu: python-lightning-utilities: Update to 0.11.6 David Elsing
@ 2024-08-04 22:16 ` David Elsing
  2024-08-04 22:16 ` [bug#72471] [PATCH 24/24] gnu: python-pytorch-lightning: Update to commit 2064887 David Elsing
  2024-09-06  9:54 ` bug#72471: [PATCH 00/24] Update PyTorch and dependencies Ludovic Courtès
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:16 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (python-torchmetrics): Update to 1.4.1.
[source]: Switch to GitHub repository.
[arguments]: New field.
[propagated-inputs]: Add python-lightning-utilities.
[home-page]: Update URL.
---
 gnu/packages/machine-learning.scm | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 85db721ebd..5449e884d5 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -5281,17 +5281,25 @@ (define-public python-pytorch-lightning
 (define-public python-torchmetrics
   (package
     (name "python-torchmetrics")
-    (version "0.11.4")
+    (version "1.4.1")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "torchmetrics" version))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Lightning-AI/torchmetrics")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "150lcy6c20n42rwxl4d3m1b8s4js9ddds5wh3685vmjdnha5mr0z"))))
+                "0371kx2fpp46rlhzkafa7397kp1lirgykpzk9g12kxsqypb67v1l"))))
     (build-system pyproject-build-system)
+    (arguments
+     (list
+      ;; Tests require many additional dependencies
+      #:tests? #f))
     (propagated-inputs
      (list python-numpy python-packaging python-pytorch
-           python-typing-extensions))
+           python-typing-extensions
+           python-lightning-utilities))
     (native-inputs
      (list python-cloudpickle
            python-coverage
@@ -5311,7 +5319,7 @@ (define-public python-torchmetrics
            python-scipy
            python-types-protobuf
            python-types-setuptools))
-    (home-page "https://github.com/Lightning-AI/metrics")
+    (home-page "https://github.com/Lightning-AI/torchmetrics")
     (synopsis "Machine learning metrics for PyTorch applications")
     (description "TorchMetrics is a collection of 100+ PyTorch metrics
 implementations and an easy-to-use API to create custom metrics.  It offers:
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#72471] [PATCH 24/24] gnu: python-pytorch-lightning: Update to commit 2064887.
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (22 preceding siblings ...)
  2024-08-04 22:16 ` [bug#72471] [PATCH 23/24] gnu: python-torchmetrics: Update to 1.4.1 David Elsing
@ 2024-08-04 22:16 ` David Elsing
  2024-09-06  9:54 ` bug#72471: [PATCH 00/24] Update PyTorch and dependencies Ludovic Courtès
  24 siblings, 0 replies; 26+ messages in thread
From: David Elsing @ 2024-08-04 22:16 UTC (permalink / raw)
  To: 72471; +Cc: David Elsing

* gnu/packages/machine-learning.scm (python-pytorch-lightning): Update to
commit 2064887.
[source]: Update URL.
[arguments]<#:tests-flags>: Skip additional failing tests.
<#:phases>: Adjust 'patch-version-detection' phase.
---
 gnu/packages/machine-learning.scm | 249 ++++++++++++++++--------------
 1 file changed, 130 insertions(+), 119 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 5449e884d5..73bb520ffc 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -5157,126 +5157,137 @@ (define-public python-inquirer
     (license license:expat)))
 
 (define-public python-pytorch-lightning
-  (package
-    (name "python-pytorch-lightning")
-    (version "2.0.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/Lightning-AI/lightning")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1w4lajiql4y5nnhqf6i5wii1mrwnhp5f4bzbwdzb5zz0d0lysb1i"))))
-    (build-system pyproject-build-system)
-    (arguments
-     (list
-      #:test-flags
-      '(list "-m" "not cloud and not tpu" "tests/tests_pytorch"
-             ;; we don't have onnxruntime
-             "--ignore=tests/tests_pytorch/models/test_onnx.py"
-
-             ;; We don't have tensorboard, so we skip all those tests that
-             ;; require it for logging.
-             "--ignore=tests/tests_pytorch/checkpointing/test_model_checkpoint.py"
-             "--ignore=tests/tests_pytorch/loggers/test_all.py"
-             "--ignore=tests/tests_pytorch/loggers/test_logger.py"
-             "--ignore=tests/tests_pytorch/loggers/test_tensorboard.py"
-             "--ignore=tests/tests_pytorch/models/test_cpu.py"
-             "--ignore=tests/tests_pytorch/models/test_hparams.py"
-             "--ignore=tests/tests_pytorch/models/test_restore.py"
-             "--ignore=tests/tests_pytorch/profilers/test_profiler.py"
-             "--ignore=tests/tests_pytorch/trainer/flags/test_fast_dev_run.py"
-             "--ignore=tests/tests_pytorch/trainer/logging_/test_eval_loop_logging.py"
-             "--ignore=tests/tests_pytorch/trainer/logging_/test_train_loop_logging.py"
-             "--ignore=tests/tests_pytorch/trainer/properties/test_loggers.py"
-             "--ignore=tests/tests_pytorch/trainer/properties/test_log_dir.py"
-             "--ignore=tests/tests_pytorch/trainer/test_trainer.py"
-
-             ;; This needs internet access
-             "--ignore=tests/tests_pytorch/helpers/test_models.py"
-             "--ignore=tests/tests_pytorch/helpers/test_datasets.py"
-             "--ignore=tests/tests_pytorch/helpers/datasets.py"
-
-             ;; We have no legacy checkpoints
-             "--ignore=tests/tests_pytorch/checkpointing/test_legacy_checkpoints.py"
-
-             ;; TypeError: _FlakyPlugin._make_test_flaky() got an unexpected keyword argument 'reruns'
-             "--ignore=tests/tests_pytorch/models/test_amp.py"
-             "--ignore=tests/tests_pytorch/profilers/test_profiler.py"
-
-             "--ignore=tests/tests_pytorch/graveyard/test_legacy_import_unpickler.py"
-
-             "-k"
-             (string-append
-              ;; We don't have tensorboard
-              "not test_property_logger"
-              " and not test_cli_logger_shorthand"
-              ;; Something wrong with Flaky
-              " and not test_servable_module_validator_with_trainer"))
-      #:phases
-      '(modify-phases %standard-phases
-         (add-after 'unpack 'patch-version-detection
-           (lambda _
-             ;; We do have pytorch 1.13.1, but the version comparison fails.
-             (substitute* "src/lightning/fabric/utilities/imports.py"
-               (("_TORCH_GREATER_EQUAL_1_13 =.*")
-                "_TORCH_GREATER_EQUAL_1_13 = True\n"))))
-         (add-before 'build 'pre-build
-           (lambda _ (setenv "PACKAGE_NAME" "lightning")))
-         (add-after 'install 'pre-build-pytorch
-           (lambda _
-             ;; pyproject-build-system only tolerates unicycles.
-             (for-each delete-file (find-files "dist" "\\.whl"))
-             (setenv "PACKAGE_NAME" "pytorch")))
-         (add-after 'pre-build-pytorch 'build-pytorch
-           (assoc-ref %standard-phases 'build))
-         (add-after 'build-pytorch 'install-pytorch
-           (assoc-ref %standard-phases 'install))
-         (add-before 'check 'pre-check
-           (lambda _
-             ;; We don't have Tensorboard
-             (substitute* "tests/tests_pytorch/test_cli.py"
-               ((" TensorBoardLogger\\(\".\"\\)") "")))))))
-    (propagated-inputs
-     (list python-arrow
-           python-beautifulsoup4
-           python-croniter
-           python-dateutils
-           python-deepdiff
-           python-fastapi-for-pytorch-lightning
-           python-fsspec
-           python-inquirer
-           python-jsonargparse
-           python-lightning-cloud
-           python-lightning-utilities
-           python-numpy
-           python-packaging
-           python-pytorch
-           python-pyyaml
-           python-starsessions-for-pytorch-lightning
-           python-torchmetrics
-           python-torchvision
-           python-tqdm
-           python-traitlets
-           python-typing-extensions))
-    (native-inputs
-     (list python-aiohttp
-           python-cloudpickle
-           python-coverage
-           python-flaky
-           python-pympler
-           python-pytest
-           python-psutil
-           python-requests-mock
-           python-scikit-learn))
-    (home-page "https://lightning.ai/")
-    (synopsis "Deep learning framework to train, deploy, and ship AI products")
-    (description
-     "PyTorch Lightning is just organized PyTorch; Lightning disentangles
+  (let ((commit "2064887b12dd934a5f9a2bf45897f29e3bfc74d1")
+        (revision "0"))
+    (package
+      (name "python-pytorch-lightning")
+      (version (git-version "2.3.3" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/Lightning-AI/pytorch-lightning")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1pfmwgzh21i21i4ixank488615q7j8nkvlxd82kmmam97gsd6krg"))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list
+        #:test-flags
+        '(list "-m" "not cloud and not tpu" "tests/tests_pytorch"
+               ;; we don't have onnxruntime
+               "--ignore=tests/tests_pytorch/models/test_onnx.py"
+
+               ;; We don't have tensorboard, so we skip all those tests that
+               ;; require it for logging.
+               "--ignore=tests/tests_pytorch/checkpointing/test_model_checkpoint.py"
+               "--ignore=tests/tests_pytorch/loggers/test_all.py"
+               "--ignore=tests/tests_pytorch/loggers/test_logger.py"
+               "--ignore=tests/tests_pytorch/loggers/test_tensorboard.py"
+               "--ignore=tests/tests_pytorch/loggers/test_wandb.py"
+               "--ignore=tests/tests_pytorch/models/test_cpu.py"
+               "--ignore=tests/tests_pytorch/models/test_hparams.py"
+               "--ignore=tests/tests_pytorch/models/test_restore.py"
+               "--ignore=tests/tests_pytorch/profilers/test_profiler.py"
+               "--ignore=tests/tests_pytorch/test_cli.py"
+               "--ignore=tests/tests_pytorch/trainer/flags/test_fast_dev_run.py"
+               "--ignore=tests/tests_pytorch/trainer/logging_/test_eval_loop_logging.py"
+               "--ignore=tests/tests_pytorch/trainer/logging_/test_train_loop_logging.py"
+               "--ignore=tests/tests_pytorch/trainer/properties/test_loggers.py"
+               "--ignore=tests/tests_pytorch/trainer/properties/test_log_dir.py"
+               "--ignore=tests/tests_pytorch/trainer/test_trainer.py"
+
+               ;; This needs internet access
+               "--ignore=tests/tests_pytorch/helpers/test_models.py"
+               "--ignore=tests/tests_pytorch/helpers/test_datasets.py"
+               "--ignore=tests/tests_pytorch/helpers/datasets.py"
+
+               ;; We have no legacy checkpoints
+               "--ignore=tests/tests_pytorch/checkpointing/test_legacy_checkpoints.py"
+
+               ;; TypeError: _FlakyPlugin._make_test_flaky() got an unexpected
+               ;; keyword argument 'reruns'
+               "--ignore=tests/tests_pytorch/models/test_amp.py"
+               "--ignore=tests/tests_pytorch/utilities/test_all_gather_grad.py"
+
+               ;; Requires CUDA
+               "--ignore=tests/tests_pytorch/plugins/precision/test_bitsandbytes.py"
+
+               "-k"
+               (string-append
+                ;; We don't have tensorboard
+                "not test_property_logger"
+                " and not test_cli_logger_shorthand"
+                ;; Wrong module appears in sys.modules
+                " and not test_patch_legacy_imports_unified"
+                ;; Missing log message
+                " and not test_should_stop_early_stopping_conditions_met"
+                " and not test_fit_loop_done_log_messages"
+                ;; Something wrong with Flaky
+                " and not test_servable_module_validator_with_trainer"))
+        #:phases
+        '(modify-phases %standard-phases
+           (add-after 'unpack 'patch-version-detection
+             (lambda _
+               ;; We do have pytorch 2.4.0, but the version comparison fails.
+               (substitute* "src/lightning/fabric/utilities/imports.py"
+                 (("_TORCH_GREATER_EQUAL_2_4 =.*")
+                  "_TORCH_GREATER_EQUAL_2_4 = True\n"))))
+           (add-before 'build 'pre-build
+             (lambda _ (setenv "PACKAGE_NAME" "lightning")))
+           (add-after 'install 'pre-build-pytorch
+             (lambda _
+               ;; pyproject-build-system only tolerates unicycles.
+               (for-each delete-file (find-files "dist" "\\.whl"))
+               (setenv "PACKAGE_NAME" "pytorch")))
+           (add-after 'pre-build-pytorch 'build-pytorch
+             (assoc-ref %standard-phases 'build))
+           (add-after 'build-pytorch 'install-pytorch
+             (assoc-ref %standard-phases 'install))
+           (add-before 'check 'pre-check
+             (lambda _
+               ;; We don't have Tensorboard
+               (substitute* "tests/tests_pytorch/test_cli.py"
+                 ((" TensorBoardLogger\\(\".\"\\)") "")))))))
+      (propagated-inputs
+       (list python-arrow
+             python-beautifulsoup4
+             python-croniter
+             python-dateutils
+             python-deepdiff
+             python-fastapi-for-pytorch-lightning
+             python-fsspec
+             python-inquirer
+             python-jsonargparse
+             python-lightning-cloud
+             python-lightning-utilities
+             python-numpy
+             python-packaging
+             python-pytorch
+             python-pyyaml
+             python-starsessions-for-pytorch-lightning
+             python-torchmetrics
+             python-torchvision
+             python-tqdm
+             python-traitlets
+             python-typing-extensions))
+      (native-inputs
+       (list python-aiohttp
+             python-cloudpickle
+             python-coverage
+             python-flaky
+             python-pympler
+             python-pytest
+             python-psutil
+             python-requests-mock
+             python-scikit-learn))
+      (home-page "https://lightning.ai/")
+      (synopsis "Deep learning framework to train, deploy, and ship AI products")
+      (description
+       "PyTorch Lightning is just organized PyTorch; Lightning disentangles
 PyTorch code to decouple the science from the engineering.")
-    (license license:asl2.0)))
+      (license license:asl2.0))))
 
 (define-public python-torchmetrics
   (package
-- 
2.45.1





^ permalink raw reply related	[flat|nested] 26+ messages in thread

* bug#72471: [PATCH 00/24] Update PyTorch and dependencies
  2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
                   ` (23 preceding siblings ...)
  2024-08-04 22:16 ` [bug#72471] [PATCH 24/24] gnu: python-pytorch-lightning: Update to commit 2064887 David Elsing
@ 2024-09-06  9:54 ` Ludovic Courtès
  24 siblings, 0 replies; 26+ messages in thread
From: Ludovic Courtès @ 2024-09-06  9:54 UTC (permalink / raw)
  To: David Elsing; +Cc: 72471-done

Hi David,

David Elsing <david.elsing@posteo.net> skribis:

> this patch series updates python-pytorch to version 2.4.0 and some of
> its dependencies and dependent packages.
>
> I noticed that on Linux, upstream does not support 32-bit architectures
> anyway, so I set supported-systems to x86_64-linux and aarch64-linux,
> but tested only the former.
>
> For onnx and onnx-optimizer, I referenced the patches in
> https://issues.guix.gnu.org/65630 and therefore added a "Co-authored-by"
> line for Andy Tai. Is that correct to do?

Yes.

> r-torch still depends on version 2.0.1 of PyTorch, so it is kept.

Makes sense.

I applied the whole series (thanks, ‘mumi am’!), rebased on top of
‘master’, and confirmed that r-torch and python-pytorch build fine on
x86_64-linux (since qa.guix is lagging behind).

Pushed as 571c605f17481e8c606c876e04129d99632bc2ec.

Thanks for all the work!

Ludo’.




^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2024-09-06 12:03 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-04 21:53 [bug#72471] [PATCH 00/24] Update PyTorch and dependencies David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 01/24] gnu: asmjit: Update to commit 062e69c David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 02/24] gnu: Remove python-typing-extensions-4.10 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 03/24] gnu: python-optree: Update to 0.11.0 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 04/24] gnu: flatbuffers-next: Update to 24.3.25 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 05/24] gnu: pthreadpool: Update to commit 560c60d David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 06/24] gnu: cpuinfo: Update to commit 05332fd David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 07/24] gnu: nnpack: Depend on python-peachpy only for x86_64 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 08/24] gnu: oneapi-dnnl: Update to 3.5.3 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 09/24] gnu: fbgemm: Update to 0.7.0 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 10/24] gnu: xnnpack: Update to commit 08f1489 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 11/24] gnu: Add xnnpack-for-r-torch David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 12/24] gnu: python-nbval: Update to 0.11.0 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 13/24] gnu: Add python-parameterized-next David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 14/24] gnu: Remove onnx-optimizer-for-torch2 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 15/24] gnu: Remove onnx-for-torch2 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 16/24] gnu: onnx: Update to 1.16.2 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 17/24] gnu: onnx-optimizer: Update to 0.3.19 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 18/24] gnu: gloo: Update to commit 81925d1 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 19/24] gnu: cpp-httplib: Update to 0.16.0 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 20/24] gnu: python-pytorch: Update to 2.4.0 David Elsing
2024-08-04 22:15 ` [bug#72471] [PATCH 21/24] gnu: python-torchvision: Update to 0.19.0 David Elsing
2024-08-04 22:16 ` [bug#72471] [PATCH 22/24] gnu: python-lightning-utilities: Update to 0.11.6 David Elsing
2024-08-04 22:16 ` [bug#72471] [PATCH 23/24] gnu: python-torchmetrics: Update to 1.4.1 David Elsing
2024-08-04 22:16 ` [bug#72471] [PATCH 24/24] gnu: python-pytorch-lightning: Update to commit 2064887 David Elsing
2024-09-06  9:54 ` bug#72471: [PATCH 00/24] Update PyTorch and dependencies Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).