输入配置
用户在使用Ascend C调测工具之前,需要提供算子输入数据及标杆数据,同时还需根据实际情况配置算子信息json文件,这些是后续各种调测功能的输入。
- 准备待测算子的输入数据和标杆数据(bin格式)。
支持采用工具随机生成的数据、自定义Python脚本生成的数据等作为输入/标杆数据,具体方法请参见输入数据和标杆数据准备。
- 获取算子json配置模板。通过工具一键生成标准自定义算子json配置文件模板,命令示例如下:
ascendebug json convert --binary-op-json ${custom_code_path}/build_out/op_kernel/binary/${chip_version}/gen/${op_type}_${hash}_param.json --converted-json ${op_config_json_file}
- --binary-op-json:指标准自定义算子工程中的算子信息库json文件。其中${custom_code_path} 表示标准自定义算子工程代码根目录,${op_type}表示算子名。
- --converted-json:指生成的算子信息json配置模板。
- 根据实际算子shape信息,修改步骤2中的算子json配置模板。这里以AddCustom算子的json配置为例,关键参数说明参见表1。
{ "op_type": "AddCustom", "data_script": "", "gen_data": false, "inputs": [ { "name": "x", "dtype": "int32", "format": "ND", "ignore": false, "shape": [32], "param_type": "required", "data_file": "x.bin" }, { "name": "y", "dtype": "int32", "format": "ND", "ignore": false, "shape": [32], "param_type": "required", "data_file": "y.bin" } ], "outputs": [ { "name": "z", "dtype": "int32", "format": "ND", "ignore": false, "shape": [32], "param_type": "required", "data_file": "z.bin" } ], "attrs": [ { "name": "mask", "dtype": "list_int", "value": [0,0] }, { "name": "repeatTimes", "dtype": "int", "value": 1 }, { "name": "dstBlkStride", "dtype": "int", "value": 1 }, { "name": "src0BlkStride", "dtype": "int", "value": 1 }, { "name": "src1BlkStride", "dtype": "int", "value": 1 }, { "name": "dstRepStride", "dtype": "int", "value": 8 }, { "name": "src0RepStride", "dtype": "int", "value": 8 }, { "name": "src1RepStride", "dtype": "int", "value": 8 }, { "name": "calCount", "dtype": "int", "value": 3 }, { "name": "memory", "dtype": "int", "value": 0 } ] }
表1 标准自定义算子工程的json配置说明 配置项
数据类型
参数说明
配置值建议
op_type
string
算子名。
与待调测算子严格匹配。
data_script
string
数据生成脚本(python),用于生成输入和标杆数据。
此处填写""。
gen_data
bool
是否根据data_script生成输入和标杆数据。
此处填写false。
inputs /
outputs
name
string
输入/输出的参数名。
模板自动生成,用户无需修改。
dtype
string
输入/输出的数据类型。
支持的数据类型有bool、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float16、float32、float64、bfloat16。
format
string
输入/输出的存储格式。
模板自动生成,用户无需修改。
shape
list
输入/输出的shape。
根据算子实际的shape填写,例如[24,20,144,8]。
ignore
bool
是否忽略该输入/输出。
模板自动生成,用户无需修改。
param_type
string
是否必选该输入/输出。
模板自动生成,用户无需修改。
data_file
string
- inputs场景下,指输入数据bin文件。
- outputs场景下,指标杆数据bin文件。
填写数据bin文件的绝对路径,例如 "/path/data.bin"。
attrs
name
string
算子的属性名。
模板自动生成,用户无需修改。
dtype
string
数据类型。
模板自动生成,用户无需修改。
value
可变
属性值。
用户根据实际情况填写。