文档
注册

Tiling调测功能

功能介绍

Tiling是算子开发中独立且关键的部分,描述了昇腾AI处理器上算子的输入/输出数据切分、分块计算、多核并行等策略,以满足片上存储限制和计算pipeline的需求,最大化计算并行性和数据局部性(data locality OR data reuse),从而发挥硬件的极致性能。

对单算子执行Tiling调测时,根据Tiling so文件执行Tiling运算,生成Tiling bin文件。

目前仅标准自定义算子工程场景、ops_adv算子工程场景需要进行Tiling调测,其余场景不涉及。

使用方法(命令行)

  1. 完成环境搭建,并准备好输入/标杆数据文件。
  2. 执行如下命令进行Tiling调测,这里仅提供关键参数项,其他参数请参考Tiling调测参数按需配置。
    • 标准自定义算子场景
      ascendebug tiling --json-file ${op_config_json_file} --repo-type ${repo_type} --chip-version ${chip_version} --customize-path ${INSTALL_DIR}/opp/vendors/${vendor_name} --work-dir ${work_dir} ... {其他参数}  
    • ops_adv算子场景
      ascendebug tiling --json-file ${op_config_json_file} --repo-type ${repo_type} --chip-version ${chip_version} --repo-path ${repo_path} --work-dir ${work_dir} --recompile-tiling ... {其他参数}  

    Tiling调测涉及的所有参数可通过ascendebug tiling -hascendebug tiling --help查看。

  3. 查看调测产物。Tiling调测结果存放在--work-dir目录下,详细说明参见调测产物

使用方法(API)

  1. 完成环境搭建,并准备好输入/标杆数据文件。
  2. 完成调测前准备,通过create_debug_op接口构造DebugOp类实例对象debug_op。
  3. 构建算子信息。调用DebugOp类里input系列接口(如tensor_input、custom_input等),设置算子的输入、输出、属性值等信息。
  4. 创建调试对象并初始化工作空间。调用create_op_executor接口,创建调试对象op_executor,用户可传入${work_dir}参数手动设置工作空间。
  5. 执行Tiling计算。
    • 标准自定义算子场景:直接调用run_custom_tiling接口即可。
    • ops_adv算子场景:

      如需在本地调试Tiling代码,请使用方式1;如果Tiling无需调试,且Tiling so仅作为Kernel调试的输入,请使用方式2。

  6. 查看调测产物。Tiling调测结果存放在${work_dir}目录下,详细说明参见调测产物

调测产物

无论是命令行方式或API方式,Tiling调测结果存放在${root}/${work_dir}/tiling路径下,其中${root}表示当前操作路径,${work_dir}表示调测工作空间,默认为/debug_workspace/${op_type}目录,${op_type}为算子名。产物一般包含Tiling data bin文件(二进制)、结构体解析文件等,目录结构示例如下,结果文件的详细说明参见表1

├ ${op_type}(算子名)
├── tiling
│   ├── attrs.json
│   ├── inputs.json
│   ├── outputs.json
│   ├── tiling_data_tiling_key_2_block_dim_1_workspace_106258432.bin
│   ├── tiling_parse_result.json
│   ├── tiling_run_info.bin
表1 Tiling调测产物表

文件名

说明

attrs.json

根据算子属性、输入/输出信息生成的中间文件。

inputs.json

outputs.json

tiling_data_tiling_key_2_block_dim_24_workspace_106258432.bin

Tiling数据bin文件,供CPU和NPU调测使用。

说明:

文件名中“tiling_key_2_block_dim_24_workspace_106258432”表示tiling_key=2,block_num=24,workspace=106258432,这些信息可用于后续核函数编译和运行(比如--block-num取值为block_dim值)。

tiling_parse_result.json

对生成的Tiling数据bin文件解析,生成Tiling结构体文件,该文件展现了Tiling中每个数据的数据类型dtype和数值value。

tiling_run_info.bin

Tiling调测过程中的信息文件,包含block_dim、workspace大小以及tiling_key等信息。该文件关键信息已映射到Tiling数据bin文件名中。

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

当前产品无相关内容

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