Skip to content
This repository has been archived by the owner on Jun 8, 2023. It is now read-only.

Releases: DeepLink-org/DIOPI-PROTO

v0.1.0

06 Apr 07:38
2b0edbe
Compare
Choose a tag to compare

Release Note

DeepLink-DIOPI v0.1.0 Release Notes

大家好!我们很高兴的宣布DeepLink-DIOPI v0.1.0版本正式发布!
DeepLink-DIOPI是一套设备无关接口体系,作为芯片于深度学习框架适配的“桥梁”。旨在训练框架和人工智能芯片之间定义一套计算契约,良好的函数抽象使得上(框架)下(芯片)两层在适配工程实施时能有效地解耦。基于这套契约,芯片开发者可以将下层芯片适配的工作复用到不同的训练框架(Pytorch、Parrots等)的适配中去,降低芯片+框架的适配成本,保障算子实现正确性。在这个版本中,我们开源了三个仓库,分别是:DIOPI-PROTO、DIOPI-IMPL、DIOPI-TEST。

版本号

v0.1.0

核心功能

  1. 提供120+个标准算子接口,覆盖OpenMMLab的Top30流行模型。涵盖了分类、检测、分割及姿态估计等多个领域深度学习模型所需训练算子。
  2. 框架层面支持多种训练框架(包括Pytorch、Parrots等),硬件层面支持多种国产芯片(包括寒武纪、燧原和天数等),是训练框架和硬件适配的“桥梁”
  3. 提供标准测试套件,为硬件芯片实现的算子库提供调试验证功能。

应用行业

  1. 对硬件行业
    • 实现软硬件解耦,根本性的破除生态壁垒
    • 一次适配即可兼容国际和国产框架,建立开放兼容的新生态
  2. 对框架行业
    • 实现软硬件解耦,专心框架的性能优化
    • 一次适配即可支持多家优秀国产AI芯片
  3. 对应用行业
    • 实现主流框架与芯片高效适配,极大降低算力使用门槛,激活算力使用需求
    • 融入Torch 软件大生态,海量的优秀算法框架,让模型训练更简单
    • 打破算力和框架的垄断,选择更丰富,实现算力要素多样化

仓库介绍

DeepLink-DIOPI仓库说明和构造如下表所示:

仓库 DIOPI-PROTO DIOPI-IMPL DIOPI-TEST
说明 包含标准算子接口 DIOPI 定义的头文件,它包含了操作接口和算子接口 是厂商用户基于 DIOPI PROTO 进行算子实现时的一个参考实现。该参考实现以 CUDA 为例,展示了调用 kernel 和实用库(cuDNN)两种方式如何实现算子 一套标准测试套件,支持没有训练框架的情况下验证算子适配正确性
组成
  • diopirt
  • functions
  • impl/cuda
  • impl/torch
  • impl/camb
  • impl/camb_pytorch
  • 非算子测试
  • 算子测试
  • 模型算子测试
  • 文档

    diopi_v3.1.0

    29 Dec 05:45
    Compare
    Choose a tag to compare

    DIOPI-V3.1.0-Release-Note

    前言

    标准算子接口(Device-Independent Operator Interface, DIOPI)是一套设备无关接口体系,作为芯片于深度学习框架适配的“桥梁”,根本性实现软硬件解耦,破除生态壁垒,遵守此标准可以实现主流框架与芯片高效适配,极大降低算力使用门槛,减少技术阻力,从而打破算力和框架的垄断,实现算力要素多样化。

    版本号

    v3.1.0

    发版日期

    2022.12.30

    新增接口

    新增框架侧所需的:

    1. diopiGetVendorName
    2. diopiGetImplVersion
    3. diopiGetLastErrorString

    新增功能

    框架支持

    • 新增SenseParrots框架支持

    芯片支持

    • 新增英伟达芯片支持和3款国产芯片支持

    其他

    1. 新增42个算子实现,共计119个算子实现,覆盖OpenMMLab的Top30流行模型
    2. 一致性测试新增 filter_type, models 功能参数

    优化部分

    1. 优化了scalar的创建与传递以保证不同数据类型scalar测试
    2. 优化函数接口定义中reduction参数传参方式
    3. 优化max_pool等算子测例以兼容不同硬件对于index的定义
    4. 优化DIOPI_API宏以增加导出为弱符号的功能

    修复问题

    1. 修复设备商反馈及迭代过程发现的Bug
    2. 修复dropout接口没有计算反向所需中间变量
    3. 修复topk/unique/等输出可能不唯一的情况下的测例
    4. 修复常量Tensor的传参方式
    5. 修复index_put接口以允许不同数量的index

    文档更新

    • 新增40个算子的API文档(API文档-V1.1.0)

    注意事项

    20221121

    21 Nov 07:42
    Compare
    Choose a tag to compare
    add backward op def of linear and cross_entropy, add fill def

    20221111

    21 Nov 07:45
    Compare
    Choose a tag to compare
    fix dropout