TBE DSL简介
概述
TBE(Tensor Boost Engine)是基于TVM(Tensor Virtual Machine)的自定义算子开发框架。TVM是社区的开源项目,旨在将各算子的生成规则进一步抽象,将算子本身分成各个操作原语,在需要的时候加以组合。TVM会根据算子的计算过程的定义,使用Schedule技术和Codegen技术,生成对指定硬件的算子。
由于Schedule是描述在硬件上实现一个算子的计算过程,这需要较强的硬件知识。为了简化用户书写算子的难度,我们在TVM的基础上,简化了书写Schedule的难度,采用“Auto schedule”的概念,提供了一组Tensor Boost Engine API,来组合出算子的计算。用户通过使用API进行适当的组合定义一个算子的计算过程,把Schedule交给Auto schedule去完成。本文介绍在TVM基础上定义的TBE DSL API,用户可通过这些API来开发自己的算子。
TBE DSL API目前主要包括Math计算、Cast计算、NN计算、编译接口等。
接口总览
您可以在CANN软件安装后文件存储路径下的“python/site-packages/tbe/dsl/api.py”文件中查看接口定义。
接口分类 |
简介 |
---|---|
Math |
数学计算接口。 |
Cast |
取整计算接口,对输入Tensor中的每个元素按照一定的规则进行取整操作。 |
NN |
神经网络相关计算接口。 |
Tensor操作 |
对输入Tensor进行重新连接、切分等基础操作接口。 |
编译接口 |
编译调度接口。 |
接口使用说明
使用TBE DSL接口前需要参见完成CANN基础环境变量的配置。
父主题: TBE DSL API