ascendebug提供了CompileNpuOptions类,用于存储NPU编译相关的可选配置项。
具体定义如下:
@dataclass class CompileNpuOptions(): dump_mode: str = "" simulator: bool = False pipe_all: bool = False syncall: bool = False task_ration: List[int] = field(default_factory=list) npu_compile_type: str = "opc" customize_tiling_so: str = "" compile_option: dict = field(default_factory=lambda: const_def.COMPILE_OPTION_MAP) memory_check: str = ""customize_tiling_socustomize_tiling_socustomize_tiling_so
关于类成员的详细说明请参见表1。
属性名 |
属性类型 |
默认值 |
属性说明 |
---|---|---|---|
dump_mode |
str |
"" |
printf/PRINTF/DumpTensor/DumpAccChkPoint/assert/时间戳打印功能的模式配置,与NpuCompileInfo.dump_mode配套使用。
|
simulator |
bool |
False |
是否开启仿真功能。默认关闭。
说明:
仅性能仿真调测场景的编译阶段才需开启本属性,否则影响后续执行过程。 |
pipe_all |
bool |
False |
是否开启PIPE_ALL功能。默认关闭。 |
syncall |
bool |
False |
硬同步功能的使能开关。一般适用于
说明:
该参数仅在ops_adv算子工程场景设置后生效,且npu_compile_type必须为ccec编译方式。 |
task_ration |
List[int] |
[] |
设置核函数运行时的block数分配方式,例如task_ration=[1, 0], 表示“1:0”的分配方式。
说明:
该参数仅在ops_adv算子工程场景设置后生效,且npu_compile_type必须为ccec编译方式。 |
npu_compile_type |
str |
opc |
设置NPU调试场景下Kernel.o文件的编译方式。
说明:
该参数仅在ops_adv算子工程场景支持ccec和opc两种编译方式。核函数直调工程场景默认使用ccec,标准自定义算子工程场景默认使用opc。 |
customize_tiling_so |
str |
"" |
是否使用指定tiling.so(绝对路径)来编译Kernel文件。
说明:
|
compile_option |
dict |
{"op_debug_config":[]} |
设置opc编译场景下的自定义选项。
说明:
该参数仅当npu_compile_type为opc编译时生效。 通过op_debug_config配置,支持配置多个选项(字符串),英文逗号分隔,配置示例如下: compile_npu_options = ascendebug.CompileNpuOptions(dump_mode='normal', npu_compile_type='opc', compile_option={"op_debug_config":["dump_cce","dump_bin"]})
|
memory_check |
str |
"" |
是否开启内存检测功能,与RunNpuOptions.memory_check配套使用。
说明:
|