Releases: DeepLink-org/DIOPI
v0.3.0 Release Note
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
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
Release Note
DIOPI v0.2.0 Release Notes
大家好!我们很高兴的宣布DIOPI v0.2.0版本正式发布!
DIOPI是一套设备无关接口体系,作为芯片于深度学习框架适配的“桥梁”。旨在训练框架和人工智能芯片之间定义一套计算契约,良好的函数抽象使得上(框架)下(芯片)两层在适配工程实施时能有效地解耦。基于这套契约,芯片开发者可以将下层芯片适配的工作复用到不同的训练框架(Pytorch、Parrots等)的适配中去,降低芯片+框架的适配成本,保障算子实现正确性。
版本号
v0.2.0
新增功能
- 新增20+个标准算子接口及对应测试用例,包括ceil、polar等,新增llama模型的算子测例。
- 增加adaptor功能,可以对算子接口所支持的dtype、layout以及转换规则进行配置,根据配置完成算子调用前的自动转换。
- 新增80+接口定义注释,说明接口定义、参数含义等信息。
- 一致性测试增加对复数算子测试的支持。
功能优化
- 优化一致性测试不通过时的报错信息提示,方便定位算子问题。
- 合并DIOPI-PROTO,DIOPI-IMPL与DIOPI-TEST三个组件仓库为DIOPI仓库,方便开发者代码贡献代码。并将组件更名:
- “DIOPI-IMPL” -> "impl"
- “DIOPI-PROTO” -> "proto"
- “DIOPI-TEST” -> "diopi_test"
- 优化一致性测试对于scalar类型参数的测例,测试float和int类型。
功能修复
- 修复一致性测试未对输入数据进行测试的bug。
- 修复测试包含inplace测例的算子时,未测试反向过程的bug。
- 修复一致性测试中某些算子特殊输入的测例问题,包括baddbmm、clamp等算子。
文档
v0.1.0
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
核心功能
- 提供120+个标准算子接口,覆盖OpenMMLab的Top30流行模型。涵盖了分类、检测、分割及姿态估计等多个领域深度学习模型所需训练算子。
- 框架层面支持多种训练框架(包括Pytorch、Parrots等),硬件层面支持多种国产芯片(包括寒武纪、燧原和天数等),是训练框架和硬件适配的“桥梁”
- 提供标准测试套件,为硬件芯片实现的算子库提供调试验证功能。
应用行业
- 对硬件行业:
- 实现软硬件解耦,根本性的破除生态壁垒
- 一次适配即可兼容国际和国产框架,建立开放兼容的新生态
- 对框架行业:
- 实现软硬件解耦,专心框架的性能优化
- 一次适配即可支持多家优秀国产AI芯片
- 对应用行业:
- 实现主流框架与芯片高效适配,极大降低算力使用门槛,激活算力使用需求
- 融入Torch 软件大生态,海量的优秀算法框架,让模型训练更简单
- 打破算力和框架的垄断,选择更丰富,实现算力要素多样化
仓库介绍
DeepLink-DIOPI仓库说明和构造如下表所示:
仓库 | DIOPI-PROTO | DIOPI-IMPL | DIOPI-TEST |
---|---|---|---|
说明 | 包含标准算子接口 DIOPI 定义的头文件,它包含了操作接口和算子接口 | 是厂商用户基于 DIOPI PROTO 进行算子实现时的一个参考实现。该参考实现以 CUDA 为例,展示了调用 kernel 和实用库(cuDNN)两种方式如何实现算子 | 一套标准测试套件,支持没有训练框架的情况下验证算子适配正确性 |
组成 |