[PATCH 0/3] Add Apache Twm and dependencies

  • Open
  • quality assurance status badge
Details
One participant
  • Andy Tai
Owner
unassigned
Submitted by
Andy Tai
Severity
normal
A
A
Andy Tai wrote on 10 Jun 2023 09:10
(address . guix-patches@gnu.org)(name . Andy Tai)(address . atai@atai.org)
cover.1686380735.git.atai@atai.org
*** BLURB HERE ***

Andy Tai (3):
gnu: Add rang
gnu: Add dmlc-dlpack
gnu: Add twm

gnu/packages/cpp.scm | 21 +++++++
gnu/packages/machine-learning.scm | 95 +++++++++++++++++++++++++++++++
2 files changed, 116 insertions(+)


base-commit: e8f9fb3e03ea8fee0e13f13706a6b16414f74a7b
--
2.40.1
A
A
Andy Tai wrote on 10 Jun 2023 09:12
[PATCH 1/3] gnu: Add rang
(address . 63991@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
131e421ab2af24ac4382c8d845ca223fad9de39a.1686380735.git.atai@atai.org
* gnu/packages/cpp.scm (rang): New variable
---
gnu/packages/cpp.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 365b15a3b9..4965ae69e2 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -2548,3 +2548,24 @@ (define-public ftxui
@item No dependencies.
@end itemize")
(license license:expat)))
+
+(define-public rang
+ (package
+ (name "rang")
+ (version "3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/agauniyal/rang")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0x2fp7zjjivgxblvx1j0qphn4ln6jq42x7xr757fywm3k03y7bil"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f)) ; no tests
+ (home-page "https://agauniyal.github.io/rang/")
+ (synopsis "Header only terminal c++ library")
+ (description
+ "Rang is a Minimal, Header only Modern c++ library for terminal goodies.")
+ (license license:asl2.0)))
--
2.40.1
A
A
Andy Tai wrote on 10 Jun 2023 09:12
[PATCH 2/3] gnu: Add dmlc-dlpack
(address . 63991@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
33d6ff99a3580f99d25333da94140dadd291e8cb.1686380735.git.atai@atai.org
* gnu/packages/machine-learning.scm (dmlc-dlpack): New variable
---
gnu/packages/machine-learning.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index c9bc5e8b68..4ed32a8792 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4388,3 +4388,27 @@ (define-public oneapi-dnnl
"OneAPI Deep Neural Network Library (oneDNN) is a cross-platform
performance library of basic building blocks for deep learning applications.")
(license license:asl2.0)))
+
+
+(define-public dmlc-dlpack
+ (package
+ (name "dmlc-dlpack")
+ (version "0.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dmlc/dlpack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jmfvdrx8dn9b0ksm04ixha0jnrk35ip796qg98kfz6g7niw5ir1"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f)) ; no tests
+ (home-page "https://dmlc.github.io/dlpack/latest")
+ (synopsis "Open In Memory Tensor Structure")
+ (description
+ "DLPack is an open in-memory tensor structure for sharing tensors among frameworks")
+ (license license:asl2.0)))
+
+
--
2.40.1
A
A
Andy Tai wrote on 10 Jun 2023 09:12
[PATCH 3/3] gnu: Add twm
(address . 63991@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
7b442ca1d189ba2b76f54f4e07bb8dc8e498a6ce.1686380735.git.atai@atai.org
* 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
A
A
Andy Tai wrote on 17 Jun 2023 07:45
[PATCH v2 1/3] gnu: Add rang
(address . 63991@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
fcb90cbfeb603bce8f86f7cbe90fc6d4e8b1b52b.1686980668.git.atai@atai.org
* gnu/packages/cpp.scm (rang): New variable
---
gnu/packages/cpp.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 39a34c20dd..3d43a0c999 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -2553,3 +2553,24 @@ (define-public ftxui
@item No dependencies.
@end itemize")
(license license:expat)))
+
+(define-public rang
+ (package
+ (name "rang")
+ (version "3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/agauniyal/rang")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0x2fp7zjjivgxblvx1j0qphn4ln6jq42x7xr757fywm3k03y7bil"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f)) ; no tests
+ (home-page "https://agauniyal.github.io/rang/")
+ (synopsis "Header only terminal c++ library")
+ (description
+ "Rang is a Minimal, Header only Modern c++ library for terminal goodies.")
+ (license license:asl2.0)))

base-commit: 998d89ba20121e87664129890a805c91061baaa7
--
2.40.1
A
A
Andy Tai wrote on 17 Jun 2023 07:45
[PATCH v2 2/3] gnu: Add dmlc-dlpack
(address . 63991@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
16d1ba48cab9b74bb9a39560606409008b68d02e.1686980668.git.atai@atai.org
* gnu/packages/machine-learning.scm (dmlc-dlpack): New variable
---
gnu/packages/machine-learning.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 927b531cf2..ac115fc2ad 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4584,3 +4584,27 @@ (define-public oneapi-dnnl
"OneAPI Deep Neural Network Library (oneDNN) is a cross-platform
performance library of basic building blocks for deep learning applications.")
(license license:asl2.0)))
+
+
+(define-public dmlc-dlpack
+ (package
+ (name "dmlc-dlpack")
+ (version "0.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dmlc/dlpack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jmfvdrx8dn9b0ksm04ixha0jnrk35ip796qg98kfz6g7niw5ir1"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f)) ; no tests
+ (home-page "https://dmlc.github.io/dlpack/latest")
+ (synopsis "Open In Memory Tensor Structure")
+ (description
+ "DLPack is an open in-memory tensor structure for sharing tensors among frameworks")
+ (license license:asl2.0)))
+
+
--
2.40.1
A
A
Andy Tai wrote on 17 Jun 2023 07:45
[PATCH v2 3/3] gnu: Add tvm
(address . 63991@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
c15ccc7c660f261f2c7771c0e96656fc7f0b19f4.1686980668.git.atai@atai.org
* gnu/packages/machine-learning.scm (tvm): 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 ac115fc2ad..4bc599373d 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)
@@ -4608,3 +4612,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
?