aboutsummaryrefslogtreecommitdiff
(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)))))