Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Ascend/DrivingSDK

Repository files navigation

Driving SDK

简介

Driving SDK是基于昇腾NPU平台开发的适用于自动驾驶场景,机器人具身智能VLA及世界模型的算子和模型加速库,提供了一系列高性能的算子和模型加速接口,支持PyTorch框架。

未来规划

📅未来规划会动态刷新在DrivingSDK RoadMap中,欢迎大家通过此链接进行互动并提出诉求

加入我们

为了交流开发经验、分享使用心得、及时获取项目更新,我们创建了DrivingSDK官方微信群。

无论你是正在使用这个项目,还是有奇思妙想,都欢迎加入👋

最新消息

  • [Dec. 09, 2025]: 🚀 DrivingSDK仓中Spconv3d算子支持channel大于等于128并优化显存
  • [Dec. 05, 2025]: 🚀 DrivingSDK仓中submSparseConv3d性能优化
  • [Nov. 20, 2025]: 🚀 DrivingSDK仓支持Pi0.5模型
  • [Nov. 20, 2025]: 🚀 DrivingSDK仓支持FBOcc模型
  • [Nov. 13, 2025]: 🚀 DrivingSDK仓支持Cosmos-drive-dreams模型
  • [Nov. 10, 2025]: 🚀 DrivingSDK仓中scatter_add算子性能优化
  • [Nov. 07, 2025]: 🚀 DrivingSDK仓支持cosmos-predict2模型
  • [Oct. 28, 2025]: 🚀 DrivingSDK仓支持VGGT模型
  • [Oct. 28, 2025]: 🚀 DrivingSDK仓支持GROOT-N1.5模型

版本说明

配套关系

DrivingSDK算子支持的CPU架构,Python,PyTorch和torch_npu版本对应关系如下:

Gitcode分支 CPU架构 支持的Python版本 支持的PyTorch版本 支持的torch_npu版本
master x86&aarch64 Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.1.0 v2.1.0
Python3.9.x,Python3.10.x,Python3.11.x 2.6.0 v2.6.0
Python3.9.x,Python3.10.x,Python3.11.x 2.7.1 v2.7.1
Python3.9.x,Python3.10.x,Python3.11.x 2.8.0 v2.8.0
branch_v7.3.0 x86&aarch64 Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.1.0 v2.1.0
Python3.9.x,Python3.10.x,Python3.11.x 2.6.0 v2.6.0
Python3.9.x,Python3.10.x,Python3.11.x 2.7.1 v2.7.1
Python3.9.x,Python3.10.x,Python3.11.x 2.8.0 v2.8.0
branch_v7.2.RC1 x86&aarch64 Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.1.0 v2.1.0-7.2.0
Python3.9.x,Python3.10.x,Python3.11.x 2.6.0 v2.6.0-7.2.0
Python3.9.x,Python3.10.x,Python3.11.x 2.7.1 v2.7.1-7.2.0
Python3.9.x,Python3.10.x,Python3.11.x 2.8.0 v2.8.0-7.2.0
branch_v7.1.RC1 x86&aarch64 Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.1.0 v2.1.0-7.1.0
Python3.9.x,Python3.10.x,Python3.11.x 2.5.1 v2.5.1-7.1.0
Python3.9.x,Python3.10.x,Python3.11.x 2.6.0 v2.6.0-7.1.0
branch_v7.0.RC1 x86&aarch64 Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.1.0 v2.1.0-7.0.0
Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.3.1 v2.3.1-7.0.0
Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.4.0 v2.4.0-7.0.0
Python3.9.x,Python3.10.x,Python3.11.x 2.5.1 v2.5.1-7.0.0
branch_v6.0.0 x86&aarch64 Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.1.0 v2.1.0-6.0.0
Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.3.1 v2.3.1-6.0.0
Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.4.0 v2.4.0-6.0.0
branch_v6.0.0-RC3 x86&aarch64 Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.1.0 v2.1.0-6.0.rc3
Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.3.1 v2.3.1-6.0.rc3
Python3.8.x,Python3.9.x,Python3.10.x,Python3.11.x 2.4.0 v2.4.0-6.0.rc3
branch_v6.0.0-RC2 x86&aarch64 Python3.7.x(>=3.7.5),Python3.8.x,Python3.9.x,Python3.10.x 1.11.0 v1.11.0-6.0.rc2
Python3.8.x,Python3.9.x,Python3.10.x 2.1.0 v2.1.0-6.0.rc2
Python3.8.x,Python3.9.x,Python3.10.x 2.2.0 v2.2.0-6.0.rc2
Python3.8.x,Python3.9.x,Python3.10.x 2.3.1 v2.3.1-6.0.rc2
branch_v6.0.0-RC1 x86&aarch64 Python3.7.x(>=3.7.5),Python3.8.x,Python3.9.x,Python3.10.x 1.11.0 v1.11.0-6.0.rc1
Python3.8.x,Python3.9.x,Python3.10.x 2.1.0 v2.1.0-6.0.rc1
Python3.8.x,Python3.9.x,Python3.10.x 2.2.0 v2.2.0-6.0.rc1

环境部署

容器安装

推荐基于Driving SDK容器配置环境。

裸机安装

前提条件

  1. 本项目依赖昇腾提供的torch_npu包和CANN包,需要先安装对应版本的torch_npu和CANN软件包,具体配套关系见Ascend Extension for PyTorch仓README。 请参考昇腾官方文档PyTorch框架训练环境准备
  2. 使用pip3 install -r requirements.txt 安装Python依赖,requirements.txt文件位于项目根目录下。
  3. 如果您需要编译ONNX插件,请安装protobuf-devel-3.14.0, 在centos 系统上可以执行yum install protobuf-devel-3-14.0,否则请将CMakePresets.json中的ENABLE_ONNX选项改为FALSE,CMakePresets.json文件位于项目根目录下。
  4. 建议您在准备好环境后,使用umask 0027将umask调整为0027,以保证文件权限正确。
  5. 建议您以非root用户身份执行以下操作。
  6. 使用gcc编译本仓时,推荐使用gcc 10.2版本。

发布包安装

当前并未正式发布whl包 ,请参考源码安装方式。

源码安装

  1. 克隆原始仓。

    git clone https://gitcode.com/Ascend/DrivingSDK.git
  2. 编译Driving SDK。

    注意:请在仓库根目录下执行编译命令

    bash ci/build.sh --python=3.8

    参数--python指定编译过程中使用的Python版本,支持 3.8 及以上版本,缺省值为 3.8。请参考编译指导获取更多编译细节。

    生成的whl包在DrivingSDK/dist目录下, 命名规则为mx_driving-1.0.0+git{commit_id}-cp{Python_version}-linux_{arch}.whl

  3. 安装Driving SDK。

    cd DrivingSDK/dist
    pip3 install mx_driving-1.0.0+git{commit_id}-cp{Python_version}-linux_{arch}.whl
    

    如需要保存安装日志,可在pip3 install命令后添加--log <PATH>参数,并对您指定的目录做好权限控制。

卸载

PyTorch 框架训练环境的卸载请参考昇腾官方文档Pytorch框架训练环境卸载

Driving SDK的卸载只需执行以下命令:

pip3 uninstall mx_driving

快速上手

import torch, torch_npu
from mx_driving import scatter_max
updates = torch.tensor([[2, 0, 1, 3, 1, 0, 0, 4], [0, 2, 1, 3, 0, 3, 4, 2], [1, 2, 3, 4, 4, 3, 2, 1]], dtype=torch.float32).npu()
indices = torch.tensor([0, 2, 0], dtype=torch.int32).npu()
out = updates.new_zeros((3, 8))
out, argmax = scatter_max(updates, indices, out)

特性介绍

目录结构及说明

.
├── kernels # 算子实现
│ ├── op_host
│ ├── op_kernel
│ └── CMakeLists.txt
├── onnx_plugin # onnx框架适配层
├── mx_driving
│ ├── __init__.py
│ ├── csrc # 加速库API适配层
│ └── ...
├── model_examples # 自动驾驶模型示例
│ └── BEVFormer # BEVFormer模型示例
├── ci # ci脚本
├── cmake # cmake脚本
├── CMakeLists.txt # cmake配置文件
├── CMakePresets.json # cmake配置文件
├── docs # 文档
| ├── api # 算子api调用文档
| └── ...
├── include # 头文件
├── LICENSE # 开源协议
├── OWNERS # 代码审查
├── README.md # 项目说明
├── requirements.txt # 依赖
├── scripts # 工程脚本
├── setup.py # whl打包配置
└── tests # 测试文件

算子清单

请参见算子清单

支持特性

  • 支持PyTorch 2.1.0,2.6.0,2.7.1,2.8.0(算子)
  • 支持ONNX模型转换,训推一体
  • 支持图模式

onnx转换om

转换前需要手动添加环境变量。

# 查看mx_driving安装路径
pip3 show mx_driving
export ASCEND_CUSTOM_OPP_PATH=xxx/site-packages/mx_driving/packages/vendors/customize/
export LD_LIBRARY_PATH=xxx/site-packages/mx_driving/packages/vendors/customize/op_api/lib/:$LD_LIBRARY_PATH

模型清单

Driving SDK仓提供了包括感知、规划、端到端、VLA等自动驾驶模型基于昇腾机器的实操案例。每个模型都有详细的使用指导,后续将持续增加和优化典型模型。使用过程中,若遇到报错问题,可查看自动驾驶模型FAQ自助解决,或在Issues中留言。如下列表中Released为Y的表示已经过测试验证,N的表示开发自验通过。

Model 8p-Atlas 800T A2性能(FPS) 8p-竞品性能(FPS) Released
BEVDepth 32.29 22.11 Y
BEVDet 73.81 37.16 Y
BEVDet4D 7.04 5.59 Y
BevFormer 3.66 3.32 Y
BEVFusion 26.46 22.54 Y
CenterNet 1257.444 542 Y
CenterPoint(2D) 66.160 85.712 Y
CenterPoint(3D) 39.41 48.48 Y
Deformable-DETR 63 65 Y
DenseTNT 166 237 Y
DETR 122 126 Y
DETR3D 14.35 14.28 Y
Diffusion-Planner 5808.13 5304.32 Y
DiffusionDrive 28.43 30.53 Y
FBOCC 20.80 33.61 Y
FCOS-resnet 196 196 Y
FCOS3D 44.31 44.30 Y
FlashOCC 104.85 67.98 Y
GameFormer 7501.8 6400 Y
GameFormer-Planner 5319 5185 Y
LaneSegNet 18.0 23.75 Y
MapTR 34.85 33.2 Y
MapTRv2 23.03 21.91 Y
Mask2Former 26.03 28.42 Y
MatrixVT 46.19 36.89 Y
MultiPath++ 149.53 198.14 Y
OpenDWM 1.82 1.82 Y
OpenVLA 56.14 73.12 Y
PanoOcc 4.32 4.87 Y
Pi-0 116.36 136.17 Y
PivotNet 9.75 13.8 Y
PointPillar(2D) 70.79 60.75 Y
SalsaNext 197.2 241.6 Y
Sparse4D 70.59 65.75 Y
SparseDrive Stage1: 46.3
Stage2: 37.9
Stage1: 41.0
Stage2: 35.2
Y
StreamPETR 26.016 25.397 Y
SurroundOcc 7.59 7.78 Y
TPVFormer 6.69 10.32 Y
UniAD Stage1: 1.002
Stage2: 1.554
Stage1: 1.359
Stage2: 2.000
Y
DexVLA Stage2: 16.72
Stage3: 15.85
Stage2: 18.88
Stage3: 18.67
Y
GR00T-N1.5 337.35 276.38 Y
Pi-0.5 2335(A3) 1115(竞品H) Y
QCNet 75.29 94.11 Y
BEVNeXt Stage1: 16.568
Stage2: 7.572
Stage1: 36.643
Stage2: 11.651
N
Cosmos-Predict2 - - N
HiVT 645 652 N
HPTR 25.12 36.07 N
LMDrive 8.02 13.85 N
MagicDrive-V2 Stage1: 0.83 Stage1: 1.50 N
Panoptic-PolarNet 1.28 1.69 N
PointTransformerV3 11.92 35.56 N
Senna 1.376 1.824 N
VAD 4.121 7.048 N
VGGT 25.04 15.30 N
YoloV8 214.64 479.73 N
NWM 363.39 383.06 N
Cosmos-Drive-Dreams - - N
Cosmos-Transfer1 - - N
DinoV3 393.8 616.8 N

硬件配套

产品系列 产品型号
Atlas A2 训练系列产品 Atlas 800T A2 训练服务器
Atlas 900 A2 PoD 集群基础单元

软件生命周期说明

Driving SDK 分支维护策略

Driving SDK版本分支的维护阶段如下:

状态 时间 说明
计划 1-3 个月 计划特性
开发 3 个月 开发特性
维护 6-12 个月 合入所有已解决的问题并发布版本,针对不同的Driving SDK版本采取不同的维护策略,常规版本和长期支持版本维护周期分别为6个月和12个月
无维护 0-3 个月 合入所有已解决的问题,无专职维护人员,无版本发布
生命周期终止(EOL) N/A 分支不再接受任何修改

Driving SDK 版本维护策略

Driving SDK版本 维护策略 当前状态 发布时间 后续状态 EOL日期
v7.3.0 常规版本 维护 2025年12月30日 预计2026年06月30日起无维护
v7.2.RC1 常规版本 维护 2025年09月30日 预计2026年03月30日起无维护
v7.1.RC1 常规版本 维护 2025年06月30日 预计2025年12月30日起无维护
v7.0.RC1 常规版本 无维护 2025年03月30日 2025年9月30日起无维护
v6.0.0 常规版本 生命周期终止 2024年12月30日 2025年6月30日起无维护 2025年09月30日
v6.0.0-RC3 常规版本 生命周期终止 2024年09月30日 2025年3月30日起无维护 2025年06月30日
v6.0.0-RC2 常规版本 生命周期终止 2024年06月30日 2024年12月30日起无维护 2025年03月30日
v6.0.0-RC1 常规版本 生命周期终止 2024年03月30日 2024年9月30日起无维护 2024年12月30日

免责声明

致Driving SDK使用者

  1. Driving SDK提供的模型仅供您用于非商业目的。
  2. 对于各模型,Driving SDK平台仅提示性地向您建议可用于训练的数据集,华为不提供任何数据集,如您使用这些数据集进行训练,请您特别注意应遵守对应数据集的License,如您因使用数据集而产生侵权纠纷,华为不承担任何责任。
  3. 如您在使用Driving SDK模型过程中,发现任何问题(包括但不限于功能问题、合规问题),请在Gitcode提交issue,我们将及时审视并解决。

致数据集所有者

如果您不希望您的数据集在Driving SDK中的模型被提及,或希望更新Driving SDK中的模型关于您的数据集的描述,请在Gitcode提交issue,我们将根据您的issue要求删除或更新您的数据集描述。衷心感谢您对Driving SDK的理解和贡献。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 16

AltStyle によって変換されたページ (->オリジナル) /