Skip to content

Releases: DeepLink-org/DIOPI

v0.3.0 Release Note

29 Apr 03:56
28bbbf4
Compare
Choose a tag to compare

Release Note

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

版本号

v0.3.0

新增功能

  • 对齐Pytorch 2.1,支持一款芯片的融合算子;
  • 支持1款芯片上的transformer-llama7B推理,InternLM-llama7B训练;
  • 支持1款芯片上的InternLM-Nova70B千卡训练,性能达到A100的80%;并支持transformer-llama7B推理、alpaca-lora-llama7B微调、InternLM-InternLM7B训练。

功能优化

  • diopi test 测试覆盖率提升至50%;
  • 大模型算子功能测试与测例完善。

文档

v0.2.2 Release Notes

28 Feb 05:57
03056c2
Compare
Choose a tag to compare

Release Note

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

版本号

v0.2.2

新增功能

  • 添加mmcv diopi测试;
  • 支持算子多级调用;
  • 支持3款芯片上的LLaMA 7B推理,2款芯片上的LLaMA 65B 推理;
  • 支持2款芯片上的InternLM 7B、65B推理和训练;

功能优化

  • diopi ci 生成数据的gen_data优化,不必每次运行ci都重新生成, (ci时间能缩短1半,磁盘占用能减少90%);
  • diopi test功能以及模块优化;

文档

v0.2.0

06 Jul 05:55
0490042
Compare
Choose a tag to compare

Release Note

DIOPI v0.2.0 Release Notes

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

版本号

v0.2.0

新增功能

  1. 新增20+个标准算子接口及对应测试用例,包括ceil、polar等,新增llama模型的算子测例。
  2. 增加adaptor功能,可以对算子接口所支持的dtype、layout以及转换规则进行配置,根据配置完成算子调用前的自动转换。
  3. 新增80+接口定义注释,说明接口定义、参数含义等信息。
  4. 一致性测试增加对复数算子测试的支持。

功能优化

  1. 优化一致性测试不通过时的报错信息提示,方便定位算子问题。
  2. 合并DIOPI-PROTO,DIOPI-IMPL与DIOPI-TEST三个组件仓库为DIOPI仓库,方便开发者代码贡献代码。并将组件更名:
    • “DIOPI-IMPL” -> "impl"
    • “DIOPI-PROTO” -> "proto"
    • “DIOPI-TEST” -> "diopi_test"
  3. 优化一致性测试对于scalar类型参数的测例,测试float和int类型。

功能修复

  1. 修复一致性测试未对输入数据进行测试的bug。
  2. 修复测试包含inplace测例的算子时,未测试反向过程的bug。
  3. 修复一致性测试中某些算子特殊输入的测例问题,包括baddbmm、clamp等算子。

文档

v0.1.0

10 May 05:38
b3e6ac3
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
  • 非算子测试
  • 算子测试
  • 模型算子测试
  • 文档