diff options
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/local.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/machine-learning.scm | 29 | ||||
| -rw-r--r-- | gnu/packages/patches/foxi-fix-build.patch | 55 | 
3 files changed, 85 insertions, 0 deletions
| diff --git a/gnu/local.mk b/gnu/local.mk index 3b3d6b6bfa..53547b63d9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1237,6 +1237,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 ae54fe5bbf..deb2974e2e 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -4235,6 +4235,35 @@ rich objects from one process to another while using the fastest transport for  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: | 
