Introduction

Overview

The BMNNSDK(BitMain Neural Network SDK)is the BitMain’s proprietary deep learning SDK based on BM AI chip, with its powerful tools, you can deploy the deep learning application in the runtime environment on compatible neural network compute device like the Bitmain sophon Neural Network Stick(NNS) or Edge Developer Board(EDB), and deliver the maximum inference throughput and efficiency.

BMNNSDK include BMNet and BMRuntime, BMNet is the deep neural network compiler for TPU processor, it can effectively map the neural network algorithm to the TPU instruction. BMRuntime provides a set of programming interfaces through library, which abstract away the details of underlying hardware implementations, it makes the power of TPU become easily accessible to application via a simple set of C/C++ APIs.

The following diagram shows the typical workflow for development with the BMNNSDK

Typical workflow for development

Compilation:

BMNNSDK has two kinds of compilation, the first one is to use BMNet compiler provided by bitmain to compile and deploy. The other one, implement the BM kernel or the kernel on CPU, which is not supported by TPU.

Development:

We provide developers with Linux package or compressed package for development, which integrated the tools and libraries required for BMNNSDK, developers can use it to develop the deep learning application.

Deployment:

The compiled network and the deep learning application can be deployed through BMRuntime after integrated. In the deployed process, you can use the BMNet inference engine API interface for programming.

Note that network training job does not utilize the BMNNSDK, and not support on NNS and EDB

Documentation Overview

Get Started

Instructions for basic installation of the Neural Network Stick(NNS) and the Edge Developer Board(EDB) with BMNNSDK and the basic linux environment. The basic function test is also involved to confirm the developer environment works well or not.

BMNNSDK Introduction

Documentation for frameworks, architecture, installation and function testing of BMNNSDK, as well as include the programming model of BMNNSDK.

Frameworks

Instructions for compiling Caffe networks for use with the BMNNSDK.

Toolkit

Documentations for the tools we delivered to developer, include BMNet compiler, BM_ONNC_Compiler and Quantization tool.

BMNNSDK APIs

Documentation for the BMNNSDK API.

Support

Notifications, discussions and support information.