Skip to content

DanieeelLiu/mlu-ops-ci

 
 

Repository files navigation

简介

MLU-OPS 提供基于寒武纪人工智能单元(MLU),使用 C 接口或者 Python 接口开发高性能算子的示例代码。 MLU-OPS 旨在通过提供示例代码,供开发者参考使用,可用于开发自定义算子,实现对应模型的计算。

MLU-OPS 提供了以下功能:

依赖条件

  • 操作系统:
    • 支持 x86_64 下 Ubuntu18.04、Ubuntu20.04、Centos7.6、Centos8.5、Kylin10
  • 寒武纪 MLU SDK:
    • 编译和运行时依赖 CNToolkit v3.6.1 或更高版本
  • 寒武纪 MLU 驱动:
    • 运行时依赖驱动 v5.10.15 或更高版本
  • 外部链接库:
    • libxml2-dev、libprotobuf-dev<=3.8.0、protobuf-compiler<=3.8.0、llvm-6.0-dev
  • Python环境:
    • 依赖Python-3.8.0版本

依赖环境准备

  • 获取 MLU-OPS 代码

    git clone https://github.com/Cambricon/mlu-ops.git
    cd mlu-ops
    git submodule update --init --recursive
  • 准备 CNToolkit 环境

    sudo apt-get install ./cntoolkit-x.x.x_ubuntuxx.xx_amd64.deb
    sudo apt-get update
    sudo apt-get install cncc cnas cnbin cndrv cnrt cnrtc
  • 准备 Python-3.8.0 环境

    wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
    tar -xvf Python-3.8.0.tgz
    cd Python-3.8.0
    make -j24 && make install
  • 准备 BANGPy 环境

    获取 BANGPy 最新版发布包:(https://cair.cambricon.com/)

    pip3.8 install bangpy-x.x.x-py3-none-any.whl
  • 准备链接库环境

    sudo apt-get update
    sudo apt-get install protobuf-compiler libxml2-dev libprotobuf-dev llvm-6.0-dev

开发、编译及测试

当前 C 接口(BANGC)、 Python 接口(BANGPy)算子开发、编译及测试相互独立

更多内容见 docs 目录下文档。

获取关于 BANG 语言基础和开发相关工具介绍的文档

可查看最新版 开发者文档

目录文件结构

目录/文件 描述
bangc-ops C 接口算子开发目录
bangpy-ops Python 接口算子开发目录
docker 存放 docker 打包脚本,提供 CI 构建环境。
docs 算子开发、测试、精度验收的说明文档。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.8%
  • C 8.7%
  • Python 4.3%
  • Shell 0.8%
  • CMake 0.3%
  • Dockerfile 0.1%