基本概念

BMNNSDK

算能原创深度学习开发工具包

NNToolchain

算能深度学习工具链包

BMCompiler

是一个面向算能TPU处理器研发的深度神经网络的优化编译器,可以将深度学习框架定义的各种深度神经网络转化为TPU上运行的指令流。

BMRuntime

匹配BMCompiler的运行时库,提供上层应用程序可编程调用的接口

TPU

算能面向深度学习领域推出的张量处理器

BM1682

算能第二代TPU

BM1684

算能第三代TPU

BMLang

算能张量编程语言

BMNetC

面向Caffe model的BMCompiler前端

BMNetT

面向TensorFlow model的BMCompiler前端

BMNetM

面向MxNet model的BMCompiler前端

BMNetP

面向PyTorch model的BMCompiler前端

BMNetD

面向Darknet model的BMCompiler前端

BMNetU

面向SOPHGO UFW model的BMCompiler前端

BMLang 基本介绍

BMLang是面向用户推出的针对SOPHON TPU的高级编程语言。 它的目的是让用户能很简单地针对深度学习算子进行编程,并高性能地实现在SOPHON TPU上。

BMLang不是一种独立的编程语言,它基于当前的C++语言,用户不需要过多额外的学习。 这意味着用户需要使用BMLang C++ API来编辑C++代码,然后将BMLang C++编译成SOPHON TPU可以运行的格式, 再通过NNToolchain中提供的BMRuntime库运行在SOPHON TPU芯片中。

BMLang有以下特性:

  • 基于张量的编程模型。

  • 与SOPHON TPU硬件信息解耦合,开发时无需了解硬件架构。

  • SOPHON TPU用户开发自定义DL算子的首选推荐。

BMLang当前适用场景:

  • 在现有SDK中BMNet模型编译器插件的基础上开发用户自定义算子。

  • 对用户自研深度学习框架或者用户自研INT8/FLOAT深度学习模型的支持。

  • 针对程序中的后处理算法、非DL算法Function加速的开发。

版本

BMLang的目标平台是BM1682, BM1684。

文档

描述

版本

v1.0

作者

SOPHGO

日期

2020.10

更新历史

历史更新信息如下:

版本

功能增加

支持的TPU型号

BMLang v1.0

用户开发文档首次发布

BM1682, BM1684