常见问题

1. DIOPI算子开发流程是怎样的?

2. 如何搭建DIOPI-impl开发环境?如果在自己的PC中开发,需要安装哪些包,cmakelist中include、lib路径需要修改哪些?

首先机器上要有芯片厂商的软件栈,配好环境变量后CMakelist中的include和lib路径第不用修改的,source完环境后可以直接编译。我们推荐使用conda管理python环境,具体安装的包可以在运行报错时,根据提示安装。

3. 代码的目录结构是怎样的?编译的命令是什么?编译的结果在哪里?

(1)代码目录结构

(2)编译指令 以寒武纪软件栈为例,先source对应环境, 然后使用如下指令进行编译, 请注意:对应的软件栈不同,则环境和编译选项也有所不同

(3)编译结果位置

4. 生成baseline有哪些环境要求?如何生成baseline并进行测试?生成的数据在哪里?如何查看数据的详细内容?

(1) 生成baseline的环境要求

(2) 如何生成baseline并进行测试?

第一步生成基准输入和输出数据,第二步验证适配的算子的正确性。

测试脚本运行命令(在./python目录下):

选项说明:

例如:

  1. 在 Nvidia 设备上生成基准输入和输出数据

  1. 在接入芯片设备上运行测试

(3) 生成的数据在哪里?

DIOPI-Test/python/data中,以pickle形式存储

(4)如何查看数据的详细内容? 有两种方式可以查看数据的详细内容

5. 如何测试添加的算子是否正确?测试命令是什么?测试结果如何看?如果测试结果不对如何查看更多详细内容?

在README中会有介绍算子测试方法,我们这里使用的是根据python/conformance/diopi_configs.py中描述的算子信息在Nvidia机器上生成算子输入以及算子的输出,并将其他芯片厂商的算子运算结果与Nvidia对比。

算子添加后,CI上会进行测试,算子是否正确可看CI日志。测试命令请见README。测试结果会在终端中打印出来。如果结果不正确,可以在python/conformance/utils.py中将default_cfg_dict[log_level] = DEBUG。这样会在python/error_report.csv中显示详细的错误信息。


无法找到问题

您可在项目中提交issue,将您遇到的问题告诉我们。