3 个不稳定版本

0.1.1-alpha2021 年 2 月 23 日
0.1.0 2018 年 9 月 27 日
0.0.0 2018 年 5 月 18 日

#275科学

Apache-2.0

200KB
4K SLoC

TVM

此包提供对 TVM 的 Rust 风格 API。代码在 稳定的 Rust 上运行,并针对 rustc 1.47 进行测试。

API 文档可在此找到 这里

此包提供什么?

此包的目的是提供对 TVM 编译器和运行时 API 的绑定。首先,使用任何主要框架(如 PyTorchApache MXNetTensorFlow)训练您的 深度学习 模型。然后使用 TVM 在支持的设备(如 CPU、GPU、OpenCL 和专用加速器)上构建和部署优化的模型工件。

Rust 绑定由几个包组成

  • tvm 包,它公开了编译器和运行时的 Rust 绑定。
  • tvm_macros 包,它提供了生成 TVM 数据结构的非安全模板代码的宏。
  • tvm_rt 包,它公开了 TVM 运行时 API 的 Rust 绑定。
  • 提供原始绑定和与 TVM C++ 库链接的 [tvm_sys] 包。
  • 实现 TVM 图运行时的 Rust 版本的 [tvm_graph_rt] 包。

这些crate最近进行了重构,与之前的绑定相比,反映了一种截然不同的哲学,同时大大增加了对更多TVM API的支持,包括暴露所有编译器内部结构。

这些crate仍在开发中,不应被视为稳定,但欢迎和鼓励贡献和使用。如果您想讨论设计问题,请查看我们的Discourse 论坛,并报告bug请查看我们的GitHub 仓库

安装

请按照TVM 安装说明,执行以下命令:export TVM_HOME=/path/to/tvm 并将 libtvm_runtime 添加到您的 LD_LIBRARY_PATH

注意: 要运行端到端示例和测试,需要将 tvmtopi 添加到您的 PYTHONPATH,或者当单独安装时,Anaconda环境会自动完成此操作。

依赖项

~6–18MB
~250K SLoC