用途:帮助用户把简单Vector类型的Triton算子从GPU迁移到昇腾NPU,覆盖迁移流程、代码转换与精度验证。
主要能力:提供语义分析模板、CUDA到NPU的API对照(如torch.cuda.is_available()改为torch.npu.is_available()、device='cuda'改为device='npu'、删除@torch.compile)、设备属性对照(NPU用vector_core_num,Ascend910为48)、错误分类处理(编译失败、coreDim超限、UB溢出、精度与性能问题)、精度验证方法,以及2D/3D网格到1D物理核心网格的任务分发优化。
使用方式:先分析源码语义,再安装依赖:pip uninstall triton;pip install triton-ascend;pip install torch-npu。随后做最小化迁移,只改设备并运行python test_your_kernel.py,按报错参考troubleshooting调整,最后做精度验证。
适用场景:简单Vector类算子、无复杂控制流、1D/2D网格的算子迁移与NPU性能优化。
限制:不支持存在编译错误的算子、复杂循环嵌套与条件分支、需特殊内存对齐的CV算子、依赖外部库或特殊runtime的算子。care_padding=False需在功能验证后再尝试,直接添加可能导致输出全为0或精度问题。