about summary refs log tree commit diff
path: root/gn/packages/machine-learning.scm
diff options
context:
space:
mode:
authorEfraim Flashner2020-05-31 12:51:45 -0500
committerEfraim Flashner2020-05-31 12:51:45 -0500
commitc43d167ecdfe83de6c81f5718ccf21380f40c3b7 (patch)
tree7108819b8d0ee140a6074a2de37a488e7667a2f4 /gn/packages/machine-learning.scm
parentc2cbcf1d42e547fa90b4ca3555a696b73d99ef9d (diff)
downloadguix-bioinformatics-c43d167ecdfe83de6c81f5718ccf21380f40c3b7.tar.gz
gn: ratspub: Use optimized tensorflow library
Diffstat (limited to 'gn/packages/machine-learning.scm')
-rw-r--r--gn/packages/machine-learning.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gn/packages/machine-learning.scm b/gn/packages/machine-learning.scm
new file mode 100644
index 0000000..dc9156a
--- /dev/null
+++ b/gn/packages/machine-learning.scm
@@ -0,0 +1,33 @@
+(define-module (gn packages machine-learning)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (gnu packages machine-learning))
+
+(define-public tensorflow-native
+  (package
+    (inherit tensorflow)
+    (name "tensorflow-native")
+    (arguments
+     (substitute-keyword-arguments (package-arguments tensorflow)
+       ;((#:substitutable? _ #f) #f)
+       ;((#:phases phases)
+       ; `(modify-phases ,phases
+       ;    (add-after 'unpack 'hardcode-multicore-usage
+       ;      (lambda _
+       ;        (substitute* "tensorflow/core/protobuf/config.proto"
+       ;          ;(("num_threads = 1") "num_threads = 28") ; 56/2 for penguin2
+       ;          ;(("intra_op_parallelism_threads = 2")
+       ;          ; "intra_op_parallelism_threads = 0")
+       ;          ;(("inter_op_parallelism_threads = 5")
+       ;          ; "inter_op_parallelism_threads = 0")
+       ;          )
+       ;        #t))))
+       ((#:configure-flags flags)
+        `(cons
+           "-Dtensorflow_OPTIMIZE_FOR_NATIVE_ARCH=ON"
+           (delete "-Dtensorflow_OPTIMIZE_FOR_NATIVE_ARCH=OFF"
+                   ,flags)))))))
+
+(define-public tensowflow-native-instead-of-tensorflow
+  (package-input-rewriting/spec `(("tensorflow" . ,(const tensorflow-native)))))