gnu: Add foxi.
* 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.master
parent
35f4f33138
commit
3ef0b4e402
|
@ -1237,6 +1237,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/foobillard++-pkg-config.patch \
|
%D%/packages/patches/foobillard++-pkg-config.patch \
|
||||||
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
|
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
|
||||||
%D%/packages/patches/foomatic-filters-CVE-2015-8560.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-implicit-double.patch \
|
||||||
%D%/packages/patches/fp16-system-libraries.patch \
|
%D%/packages/patches/fp16-system-libraries.patch \
|
||||||
%D%/packages/patches/fpc-reproducibility.patch \
|
%D%/packages/patches/fpc-reproducibility.patch \
|
||||||
|
|
|
@ -4235,6 +4235,35 @@ rich objects from one process to another while using the fastest transport for
|
||||||
the tensors contained therein.")
|
the tensors contained therein.")
|
||||||
(license license:bsd-3))))
|
(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.
|
;; Please also update python-torchvision when updating this package.
|
||||||
(define-public python-pytorch
|
(define-public python-pytorch
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -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:
|
Reference in New Issue