创建算子

构建算子开发工程

根据msopgenop.json创建算子开发标准工程

op.json示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[
{
"op": "AddCustom",
"input_desc": [
{
"name": "x",
"param_type": "required",
"format": [
"ND",
"ND",
"ND"
],
"type": [
"fp16",
"float",
"int32"
]
},
{
"name": "y",
"param_type": "required",
"format": [
"ND",
"ND",
"ND"
],
"type": [
"fp16",
"float",
"int32"
]
}
],
"output_desc": [
{
"name": "z",
"param_type": "required",
"format": [
"ND",
"ND",
"ND"
],
"type": [
"fp16",
"float",
"int32"
]
}
]
}
]

命令行如下

1
msopgen gen -i softmax.json -c ai_core-Ascend310B -lan cpp -out .

msopgen:CANN,Python工具包中的一个生成算子的工具
gen:生成模式
-i:input json文件的路径,需要执行用户具有此路径的可读权限。
-c:–compute_unit 算子的计算单元,格式为ai_core-{soc version},soc-version为Ascend310B,官方说是310B4但是测试过310B4用不了。
-lan:–language 算子编码语言,默认为python
-out:–output 输出的路径,一般就为.,当前文件夹生成一个算子名称的文件夹。
更多参数参考官方文档

创建.run包

1
2
chmod +x build.sh
./build.sh