{
"Split": {
"cpu_supported": true,
"npu_supported": false,
"gpu_supported": true,
"replacement": "Slices",
"strategy": "split_to_slices",
"description": "将Split算子替换为多个Slice算子",
"notes": "NPU不支持Split算子,需要拆分为多个Slice算子实现相同功能"
},
"Mod": {
"cpu_supported": true,
"npu_supported": false,
"gpu_supported": true,
"replacement": "Sub+Mul+Div",
"strategy": "mod_to_sub_mul_div",
"description": "将Mod算子替换为等价计算子图",
"notes": "NPU不支持Mod算子,使用数学等价替换: a % b = a - b * floor(a / b)"
},
"Expand": {
"cpu_supported": false,
"npu_supported": true,
"gpu_supported": true,
"replacement": "Tile",
"strategy": "expand_to_tile",
"description": "将Expand算子替换为Tile算子",
"notes": "CPU不支持Expand算子,可替换为Tile算子"
},
"OneHot": {
"cpu_supported": true,
"npu_supported": false,
"gpu_supported": true,
"replacement": "Gather+Cast",
"strategy": "onehot_to_gather",
"description": "将OneHot算子替换为Gather算子",
"notes": "NPU不支持OneHot算子"
},
"TopK": {
"cpu_supported": true,
"npu_supported": false,
"gpu_supported": true,
"replacement": "Sort+Slice",
"strategy": "topk_to_sort_slice",
"description": "将TopK算子替换为Sort+Slice组合",
"notes": "NPU不支持TopK算子"
},
"Where": {
"cpu_supported": true,
"npu_supported": false,
"gpu_supported": true,
"replacement": "Mul+Add",
"strategy": "where_to_mul_add",
"description": "将Where算子替换为Mul+Add组合",
"notes": "NPU不支持Where算子,可使用条件表达式转换为数学运算"
},
"NonZero": {
"cpu_supported": true,
"npu_supported": false,
"gpu_supported": true,
"replacement": null,
"strategy": null,
"description": "NonZero算子暂无直接替换方案",
"notes": "建议使用CPU运行包含此算子的模型部分"
},
"ScatterND": {
"cpu_supported": true,
"npu_supported": false,
"gpu_supported": true,
"replacement": null,
"strategy": null,
"description": "ScatterND算子暂无直接替换方案",
"notes": "建议使用CPU运行包含此算子的模型部分"
},
"GatherND": {
"cpu_supported": true,
"npu_supported": false,
"gpu_supported": true,
"replacement": null,
"strategy": null,
"description": "GatherND算子暂无直接替换方案",
"notes": "建议使用CPU运行包含此算子的模型部分"
}
}