TVM-FFI 集成方案 #556
Dayuxiaoshui
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
概述
GraphNet 中引入
tvm-ffi的集成方案。tvm-ffi提供了统一的张量表示和跨框架互操作能力,以及标准化的编译器 ABI 接口,能够显著简化 GraphNet 对不同编译器后端的集成和维护。TVM-FFI 简介
什么是 TVM-FFI
TVM-FFI (Foreign Function Interface) 是 Apache TVM 项目提出的开放应用二进制接口(ABI)和 FFI 标准,旨在解决机器学习系统生态割裂与互操作性难题。它通过定义稳定的 C ABI 和利用 DLPack 协议,实现了不同框架与底层编译器之间的高效连接。
核心特性
开放的 ABI 标准
零拷贝数据传递
统一的张量表示
Tensor和TensorView等统一的数据结构模块化设计
call_tvm_ffi原语用于调用符合 ABI 的函数技术原理
TVM-FFI 的核心技术栈包括:
解决的问题
在机器学习系统生态中,存在以下痛点:
TVM-FFI 通过统一的 ABI 和 FFI 标准,有效解决了这些问题。
GraphNet 简介
项目定位
GraphNet 是一个大规模深度学习计算图数据集和基准测试框架,旨在为张量编译器研究提供标准化的评估平台。它包含超过 2700 个从实际深度学习模型中提取的计算图,覆盖多种任务和框架,支持对张量编译器的优化能力进行公平、可复现的评估。
核心工作流程
GraphNet 的工作流程分为两个主要阶段:
计算图提取阶段
torch.compile捕获 FX Graphmodel.py)编译器测试阶段
当前架构
GraphNet 采用统一的后端接口设计:
已支持的后端:
registry_backend注册当前挑战
在支持多种编译器的过程中,GraphNet 面临以下问题:
参考资料
Beta Was this translation helpful? Give feedback.
All reactions