guix-patches
[Top][All Lists]
Advanced

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

[bug#69591] [PATCH v4 21/32] gnu: Add foxi.


From: David Elsing
Subject: [bug#69591] [PATCH v4 21/32] gnu: Add foxi.
Date: Sat, 23 Mar 2024 22:05:00 +0000

* gnu/packages/machine-learning.scm (foxi): New variable.
* gnu/packages/patches/foxi-fix-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
 gnu/local.mk                              |  1 +
 gnu/packages/machine-learning.scm         | 29 ++++++++++++
 gnu/packages/patches/foxi-fix-build.patch | 55 +++++++++++++++++++++++
 3 files changed, 85 insertions(+)
 create mode 100644 gnu/packages/patches/foxi-fix-build.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e0fa9e1f78..15d9d50de7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1207,6 +1207,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/foobillard++-pkg-config.patch           \
   %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch    \
   %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch    \
+  %D%/packages/patches/foxi-fix-build.patch                    \
   %D%/packages/patches/fp16-implicit-double.patch              \
   %D%/packages/patches/fp16-system-libraries.patch             \
   %D%/packages/patches/fpc-reproducibility.patch               \
diff --git a/gnu/packages/machine-learning.scm 
b/gnu/packages/machine-learning.scm
index 1872ca9d30..5dc0a48b12 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4214,6 +4214,35 @@ (define-public tensorpipe
 the tensors contained therein.")
       (license license:bsd-3))))
 
+(define-public foxi
+  (let
+      ((commit "c278588e34e535f0bb8f00df3880d26928038cad")
+       (revision "0"))
+    (package
+      (name "foxi")
+      (version (git-version "1.4.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/houseroad/foxi";)
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0q3ssm5hmmvwfwx87mnnajbavzgpahybw6rpn8ysr9r095dwgq5a"))
+                (patches (search-patches "foxi-fix-build.patch"))))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+        ;; No tests
+        #:tests? #f))
+      (home-page "https://github.com/houseroad/foxi";)
+      (synopsis "ONNXIFI with Facebook Extension")
+      (description "ONNX Interface for Framework Integration is a 
cross-platform
+API for loading and executing ONNX graphs on optimized backends.  This package
+contains facebook extensions and is used by PyTorch.")
+      (license license:expat))))
+
 ;; Please also update python-torchvision when updating this package.
 (define-public python-pytorch
   (package
diff --git a/gnu/packages/patches/foxi-fix-build.patch 
b/gnu/packages/patches/foxi-fix-build.patch
new file mode 100644
index 0000000000..d82090ad38
--- /dev/null
+++ b/gnu/packages/patches/foxi-fix-build.patch
@@ -0,0 +1,55 @@
+Taken from https://github.com/houseroad/foxi/pull/25.
+
+diff --git a/foxi/onnxifi_dummy.c b/foxi/onnxifi_dummy.c
+index 2115af9..73e25fc 100644
+--- a/foxi/onnxifi_dummy.c
++++ b/foxi/onnxifi_dummy.c
+@@ -103,7 +103,10 @@ ONNXIFI_PUBLIC ONNXIFI_CHECK_RESULT onnxStatus 
ONNXIFI_ABI onnxInitGraph(
+     const void* onnxModel,
+     uint32_t weightCount,
+     const onnxTensorDescriptorV1* weightDescriptors,
+-    onnxGraph* graph) {
++    onnxGraph* graph,
++    uint32_t maxSeqLength,
++    void* deferredWeightReader) {
++
+   if (graph == NULL) {
+     return ONNXIFI_STATUS_INVALID_POINTER;
+   }
+@@ -215,6 +218,8 @@ ONNXIFI_PUBLIC ONNXIFI_CHECK_RESULT onnxStatus ONNXIFI_ABI
+ onnxWaitEventFor(onnxEvent event,
+                  uint32_t timeoutMs,
+                  onnxEventState* eventState,
+-                 onnxStatus* eventStatus) {
++                onnxStatus* eventStatus,
++                char* message,
++                size_t* messageLength) {
+   return ONNXIFI_STATUS_SUCCESS;
+ }
+\ No newline at end of file
+diff --git a/foxi/onnxifi_wrapper.c b/foxi/onnxifi_wrapper.c
+index 98a9325..abe1440 100644
+--- a/foxi/onnxifi_wrapper.c
++++ b/foxi/onnxifi_wrapper.c
+@@ -761,7 +761,9 @@ ONNXIFI_PUBLIC onnxStatus ONNXIFI_ABI onnxInitGraph(
+     const void* onnxModel,
+     uint32_t weightsCount,
+     const onnxTensorDescriptorV1* weightDescriptors,
+-    onnxGraph* graph)
++    onnxGraph* graph,
++    uint32_t maxSeqLength,
++    void* deferredWeightReader)
+ {
+   if (graph == NULL) {
+     return ONNXIFI_STATUS_INVALID_POINTER;
+@@ -797,7 +799,9 @@ ONNXIFI_PUBLIC onnxStatus ONNXIFI_ABI onnxInitGraph(
+     onnxModel,
+     weightsCount,
+     weightDescriptors,
+-    &graph_wrapper->graph);
++    &graph_wrapper->graph,
++    maxSeqLength,
++    deferredWeightReader);
+   switch (status) {
+     case ONNXIFI_STATUS_SUCCESS:
+     case ONNXIFI_STATUS_FALLBACK:
-- 
2.41.0






reply via email to

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