文档
注册

msProf json配置文件说明

编写算子的定义json文件,配置参数的具体说明请参考表1表2

例如,json配置文件的命名为add_test.json,开发者可基于该模板修改测试数据及其他配置参数。
{
  "kernel_name": "add_custom",
  "kernel_path": "./add_custom.o",
  
  "blockdim": 8,
  "mode": "ca",
  "device_id": 0,
  "magic": "RT_DEV_BINARY_MAGIC_ELF_AIVEC",
  "test_cases": [
    {
      "case_name": "Test_AddCustom_001",
      "param_desc": [
        {
          "param_type": "input",
          "type": "float16",
          "shape": [
            8,
            2048
          ],
          "data_path": "./input_x.bin",
          "name": "x"
        },
        {
          "param_type": "input",
          "type": "float16",
          "shape": [
            8,
            2048
          ],
          "data_path": "./input_y.bin",
          "name": "y"
        },
        {
          "param_type": "output",
          "type": "float16",
          "shape": [
            8,
            2048
          ],
          "name": "z"
        },
        {
          "param_type": "workspace",
          "user_workspace_size": 4096
        },
        {
          "param_type": "tiling",
          "tiling_data_size": 8,
          "tiling_data_path": "./tiling.bin"
        }
      ]
    }
  ]
}
表1 json文件配置参数说明

参数名称

参数描述

类型

是否必选

kernel_name

核函数名称。

string

kernel_path

核函数二进制.o文件所在路径,可配置为绝对路径或者相对路径。

string

blockdim

核函数运行所需的核数,默认值:1。

int

mode

测试模式。

  • 上板:onboard
  • 性能仿真:ca

string

device_id

运行时使用昇腾AI处理器的ID,默认值:0。

int

magic

算子类型。
  • cube算子:RT_DEV_BINARY_MAGIC_ELF_AICUBE
  • vector算子:RT_DEV_BINARY_MAGIC_ELF_AIVEC
  • mix融合算子:RT_DEV_BINARY_MAGIC_ELF(仅Atlas A2训练系列产品/Atlas 800I A2推理产品支持配置)
说明:

Atlas 推理系列产品(Ascend 310P处理器)需配置为RT_DEV_BINARY_MAGIC_ELF。

string

test_cases

测试数据,支持列表,每个元素包含一个用例。详细说明可参考表2

说明:

算子上板或仿真调优时仅支持配置单个用例。

map

表2 test_case参数字段说明

参数

说明

类型

是否必选

case_name

-

-

测试用例的名称,需唯一。

string

param_desc

-

-

用例描述,支持列表,每个元素代表一个核函数参数。

string

-

param_type

input/output/workspace/tiling/fftsAddr

参数类型。

string

-

type

-

输入输出数据支持的数据类型,例如:uint8、int16、int32、float16、float32、float等。

说明:

“param_type”为input、output时必选。

string

-

shape

-

输入输出tensor支持的形状,所有输入输出tensor需支持相同数量的形状。

例如:

[8, 3, 256, 256]。

若输入非法的形状会报错,例如:[0]。

说明:

“param_type”为input、output时必选。

list

-

data_path

-

输入数据bin文件的路径。

说明:

“param_type”为input时必须输入data_path或value_range,且data_path优先级更高。

string

-

name

-

参数名称,需唯一。

说明:

“param_type”为input、output时必选。

string

-

user_workspace_size

-

用户设置的workspace_size大小。

说明:

“param_type”为workspace时必选。

int

-

tiling_data_size

-

tiling数据大小。

说明:

“param_type”为tiling时必选。

int

-

tiling_data_path

-

tiling数据bin文件所在路径。

说明:

“param_type”为tiling时必选。

string

-

data_size

-

fftsAddr的data_size大小。

说明:

“param_type”为fftsAddr时必选。

int

  • “output”中参数取值的个数都要与“input”一致,否则测试用例生成会失败。

    例如:“input”的type支持的类型个数2,则“output”的type支持的类型个数也需要为2。

    同理,所有inputx/outputx中的type、shape和value_range的取值个数也需要保持一致。

  • 一个算子所有“input”中参数取值的个数都要一致,否则测试用例生成会失败。

    所有“input”中的type、shape和value_range的取值个数也需要保持一致。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词