1、通过jit_compile来进行算子调用控制 (不同的模型对推理的时间影响巨大)
昇腾pytorch代码地址:
https://gitee.com/ascend/pytorch
jit_compile true:走的是GEIR,进行了在线编译,可以用到的算子包含了 ascendC 、tbe、tik、aicpu一系列算子,对于tbe、tik等没有对应.o的算子可以进行在线编译。与此同时,如果一个算子只有aclop的适配,就算关了jit_compile走的也是GEIR,这是因为我们调用aclop还是,opapi是通过分支进行区分的
jit_compile false :走的是aclnn,这个时候没有进行算子的在线编译,而是在我们的cann算子库里面使用的编译好的.o 文件, 也就是只可以调用到由ascendC 实现的算子
注:上述截图是需要先对pytorch 进行编译,pytorch 是相当于torch 的插件
2、 告警The torch.cuda.DoubleTensor is replaced with torch.npu.FloatTensor cause the double type is not supported now 不影响结果正确性,double不支持,默认使用float类型
The torch.cuda.DoubleTensor is replaced with torch.npu.FloatTensor cause the double type is not supported now · Issue #IAWHWZ · Ascend/pytorch - Gitee.com
3、构建日志配置
#----------应用类日志-----------
#设置全局应用类日志级别 0->DEBUG 1->INFO 2->WARNING
export ASCEND_GLOBAL_LOG_LEVEL=3
#设置各模块应用类日志级别
export ASCEND_MODULE_LOG_LEVEL=TBE=2:ASCENDCL=2:DRV=0:GE=2
#是否开启EVENT日志 1->开启 0->关闭
export ASCEND_GLOBAL_EVENT_ENABLE=1
#日志打屏 1->开启 0->关闭,日志落盘
export ASCEND_SLOG_PRINT_TO_STDOUT=1
#Device侧应用类日志回传到Host侧的延时时间
export ASCEND_LOG_DEVICE_FLUSH_TIMEOUT=5000
#plog和device-id日志目录下能够存储的单个进程回传的日志文件数量
export ASCEND_HOST_LOG_FILE_NUM=20#------------图编译-------------
#打印模型转换过程中各个阶段的图描述信息 3->只显示节点关系的精简版dump
export DUMP_GE_GRAPH=3
#控制dump图的个数 3->dump最后的生成图
export DUMP_GRAPH_LEVEL=3export GIT_SSL_NO_VERIFY=true
4、Warning: tiling offset out of range, index: 32 表明使用了在线编译
Warning: tiling offset out of range, index: 32 · Issue #IA4S4K · Ascend/pytorch - Gitee.com