SuperAPI AI 工具集

ai-for-science-ai4s-basic

部署与运维

查看项目

更新于 10-15 17:19

技能介绍

用途:为 AI for Science 模型提供从 CUDA 到昇腾 NPU 的通用迁移流程,适用于 PyTorch、TensorFlow、vLLM 等框架项目,迁移后需生成模型专属迁移 Skill 以复用。

前置条件:Ascend910 系列(至少 1 卡);openEuler/Ubuntu/KylinOS;CANN≥8.0;Python 3.8–3.10;PyTorch 与 CANN 版本匹配;torch_npu 与 PyTorch 版本一致。

主要能力与流程:0)常用技巧与环境初始化,如 export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3、source /usr/local/Ascend/ascend-toolkit/set_env.sh、npu-smi info、torch_npu 校验、华为镜像源与 numpy 1.26.4、日志变量;1)环境检查与代码分析,识别框架并搜索 CUDA 特有 API、依赖与分布式模式;2)自动迁移注入,在入口 import torch_npu 与 from torch_npu.contrib import transfer_to_npu;3)手动处理 get_device_properties().major、get_device_capability、AMP、mem_get_info 等;4)DP 改 DDP、backend 由 nccl 改 hccl 及 torchrun 启动;5)TensorFlow/vLLM 等兼容;6).cu 文件改写、CPU fallback 或跳过编译;7)Flash Attention 用 torch_npu.npu_fusion_attention,PyG 扩展库须源码编译;8)按 README 或最小推理验证,注意 fp64 自动降级与随机种子;9)生成专属 Skill 至 ~/.kernelcat/skills/<model-name>/SKILL.md。

限制:JAX 当前不直接支持;triton、bitsandbytes 等需改写或禁用;昇腾不支持 DP,必须改 DDP;CPU fallback 仅适合非热点路径;具体收费与平台信息暂未提供。