* gnu/packages/machine-learning.scm (twm): New variable
---
gnu/packages/machine-learning.scm | 71 +++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
Toggle diff (109 lines)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 4ed32a8792..d6a3770228 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -80,6 +80,7 @@ (define-module (gnu packages machine-learning)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jupyter)
+ #:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
@@ -88,6 +89,7 @@ (define-module (gnu packages machine-learning)
#:use-module (gnu packages ninja)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages onc-rpc)
+ #:use-module (gnu packages opencl)
#:use-module (gnu packages parallel)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -99,6 +101,7 @@ (define-module (gnu packages machine-learning)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages rocm)
#:use-module (gnu packages rpc)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
@@ -108,6 +111,7 @@ (define-module (gnu packages machine-learning)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
+ #:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
@@ -4412,3 +4416,70 @@ (define-public dmlc-dlpack
(license license:asl2.0)))
+(define-public tvm
+ (package
+ (name "tvm")
+ (version "0.12.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apache/tvm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0h26203sz1z7rxb12lfgzbwb9brfh61i3psjags0dqjz3wsb0s8f"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #false ; tests do not build in this release so do not build or tun them
+ ;#:test-target "test"
+ #:configure-flags #~(list "--trace"
+ "-DUSE_OPENCL=ON"
+ "-DUSE_VULKAN=ON" ;TODO; now not building due to missing vta-hw
+ "-DUSE_OPENCL_ENABLE_HOST_PTR=ON"
+ "-DINSTALL_DEV=ON"
+ ;"-DUSE_GTEST=ON" ; TODO: enable tests in future releases
+ (string-append "-DDLPACK_PATH="
+ (assoc-ref %build-inputs
+ "dmlc-dlpack")
+ "/include")
+ (string-append "-DDMLC_PATH="
+ (assoc-ref %build-inputs
+ "dmlc-core")
+ "/include")
+ (string-append "-DRANG_PATH="
+ (assoc-ref %build-inputs
+ "rang")
+ "/include"))
+ #:phases '(modify-phases %standard-phases
+ (add-after 'unpack 'enable-cpptest-build
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("set_target_properties\\(cpptest PROPERTIES EXCLUDE_FROM_ALL 1\\)")
+ "")))))))
+ (inputs (list dmlc-core
+ dmlc-dlpack
+ libedit
+ libxml2
+ opencl-clhpp
+ opencl-headers
+ rang
+ zlib
+ mesa
+ mesa-opencl
+ spirv-headers
+ spirv-tools
+ vulkan-headers ;TODO; now not building due to missing vta-hw
+ vulkan-loader))
+ (native-inputs (list googletest
+ (module-ref (resolve-interface '(gnu packages debug))
+ 'libbacktrace) python pkg-config))
+ (home-page "https://tvm.apache.org/")
+ (synopsis
+ "End to End Machine Learning Compiler Framework for CPUs, GPUs and accelerators")
+ (description
+ "Apache TVM is a compiler stack for deep learning systems. It is designed
+to close the gap between the productivity-focused deep learning frameworks,
+and the performance- and efficiency-focused hardware backends. TVM works with
+deep learning frameworks to provide end to end compilation to different backends")
+ (license license:asl2.0)))
--
2.40.1