当前位置: 首页 > article >正文

CANN/cann-recipes-infer:在昇腾Atlas A2/A3环境上适配SANA-Video模型的推理

在昇腾Atlas A2/A3环境上适配SANA-Video模型的推理【免费下载链接】cann-recipes-infer本项目针对LLM与多模态模型推理业务中的典型模型、加速算法提供基于CANN平台的优化样例项目地址: https://gitcode.com/cann/cann-recipes-inferSANA-Video模型是一个多模态视频生成模型提供了文生视频功能。本项目旨在提供 SANA-Video 模型的 Atlas A2/A3 适配版本为开发者开展相关 NPU 迁移工作提供参考。本项目基于NPU主要完成以下优化点具体内容可至NPU SANA-Video模型推理优化实践查看转换1×1 conv2d为matmul计算提升性能调换时序conv2d的hw轴提升性能支持NPU npu_rotary_mul融合算子支持NPU npu_rms_norm融合算子支持NPU npu_fusion_attention融合算子执行样例本样例支持昇腾Atlas A2/A3环境的单机单卡推理和单机多卡DP推理。使用一站式平台的用户可直接跳转 「一站式平台的快速启动」章节。CANN环境准备1.安装CANN软件包本样例的编译执行依赖CANN开发套件包cann-toolkit与CANN二进制算子包cann-kernels支持的CANN软件版本为CANN 8.5.0。请从软件包下载地址下载Ascend-cann-toolkit_{version}_linux-{arch}.run和Ascend-cann-{soc}-ops_{version}_linux-{arch}.run软件包并参考CANN安装文档进行安装。2.安装Ascend Extension for PyTorchtorch_npuAscend Extension for PyTorchtorch_npu为支撑PyTorch框架运行在NPU上的适配插件本样例支持的Ascend Extension for PyTorch版本为torch-npu 7.1.0.post17支持的Torch版本为torch 2.6.0请从Ascend Extension for PyTorch插件下载并安装torch与torch_npu安装包。建议在conda环境中安装conda create -n sana python3.10 conda activate sana依赖安装本仓库依赖 SANA-Video 的开源代码。 首先在项目目录拉取SANA-Video源代码git clone https://github.com/NVlabs/Sana.git进入到源代码目录cd Sana切换到指定版本git checkout 08c656c3回到原目录cd ..拉取本仓库代码git clone https://gitcode.com/cann/cann-recipes-infer.git将Sana仓库的代码以非覆盖模式复制到本项目目录下cp -rn Sana/* cann-recipes-infer/models/sana-video/说明models/sana-video现在只保留 NPU patch 层、入口脚本与文档绝大部分diffusion/源码来自上游 Sana。推理入口会在导入上游模块前自动执行patches.apply_all()patches/__init__.py中包含NPU适配 patch包括patch_triton_rms_norm_import()和patch_wan_rotary_npu()patches/npu_patches.py中包含优化相关 patch并通过apply_npu_optimization_patches()统一应用。安装依赖cd cann-recipes-infer/models/sana-video pip install -e . pip uninstall -y opencv-python pip install opencv-python-headless4.8.0.76说明依赖中的mmengine会引入opencv-python本样例需要opencv-python-headless4.8.0.76因此需切换为 headless 版本。编译安装mmcv库(注意1.x分支才有Registry模块)git clone -b 1.x https://github.com/open-mmlab/mmcv.git cd mmcv MMCV_WITH_OPS1 FORCE_NPU1 python setup.py install cd ..模型权重普通infer.sh默认使用本地离线权重路径运行前需准备以下文件或目录并按实际存放位置修改config/2b_480p_single.yaml权重类型YAML 字段默认相对路径说明DiT / transformermodel_args.model_path./SANA-Video_2B_480p/checkpoints/SANA_Video_2B_480p.pthSANA-Video 主模型权重VAEmodel_args.vae.vae_pretrained./SANA-Video_2B_480p/vae/Wan2.1_VAE.pthWanVAE 权重文本编码器model_args.text_encoder.text_encoder_name./gemma-2-2b-it本地 Gemma HuggingFace 目录需包含config.json、tokenizer 文件和模型权重权重可从 SANA-Video_2B_480p 和 gemma-2-2b-it 下载后放置到上述目录。infer_platform.sh面向一站式平台场景会使用config/2b_480p_single_platform.yaml和脚本内的WEIGHTS_DIR自动下载/定位权重。快速启动本样例通过bash infer.sh拉起推理参数集中在config/*.yaml维护启动器使用accelerate。1. 配置 CANN 环境变量执行推理前先完成 CANN 环境变量配置参考 Ascend 社区source /usr/local/Ascend/ascend-toolkit/set_env.sh注意PYTHONPATH不会也不应全局设置项目根路径mm_function.sh会在accelerate子进程中按需注入避免影响 CANN TBE 编译器的内置 Python 解释器。2. 选择推理配置config/目录下已预置以下 YAMLYAML 文件卡数启动器适用场景2b_480p_single.yaml1acceleratemixed_precision: bf16SANA-Video 2B 480p 单卡文生视频本地离线权重2b_480p_single_a8w8.yaml1acceleratemixed_precision: bf16SANA-Video 2B 480p 做mxfp_a8w8单卡文生视频2b_480p_single_a4w4.yaml1acceleratemixed_precision: bf16SANA-Video 2B 480p 做mxfp_a4w4单卡文生视频(部分回退a8w8)2b_480p_single_platform.yaml1python 直接拉起一站式平台专用模板由infer_platform.sh读取并生成临时本地权重配置YAML 中的关键字段launcher: accelerate launcher_args: mixed_precision: bf16 # 透传 accelerate launch --mixed_precisionbf16 env_vars: DISABLE_XFORMERS: 1 # 屏蔽 xformers走 NPU 融合算子 HF_HUB_OFFLINE: 1 # 普通 infer.sh 默认离线运行 TRANSFORMERS_OFFLINE: 1 HF_DATASETS_OFFLINE: 1 model_args: config: configs/sana_video_config/Sana_2000M_480px_AdamW_fsdp.yaml model_path: ./checkpoints/SANA_Video_2B_480p.pth vae.vae_pretrained: ./vae/Wan2.1_VAE.pth text_encoder.text_encoder_name: ./gemma-2-2b-it txt_file: asset/samples/video_prompts_samples.txt cfg_scale: 6 motion_score: 30 flow_shift: 8 work_dir: output/sana_t2v_video_results model.fp32_attention: False # 用字符串 Falseargparse 侧按字面量接收 quant_type: bf16 # 8bit量化:a8w8 4bit量化:a4w43. 修改推理输入根据需要修改 YAML 中model_args下的字段YAML 字段含义config推理使用的配置文件上游 Sana 的 YAMLmodel_path推理使用的 DiT / transformer 权重文件路径vae.vae_pretrained推理使用的 VAE 权重文件路径text_encoder.text_encoder_name推理使用的文本编码器普通离线配置中填写本地 Gemma HuggingFace 目录txt_file推理使用的文本提示词文件cfg_scale提示词对齐强度motion_score运动强度分数flow_shift流偏移参数用于调整扩散模型去噪时间步work_dir生成视频输出路径model.fp32_attentionattn 是否使用 fp32 精度推理时置False以提升性能quant_type量化配置可选 bf16 / a8w8 / a4w4透传规则适用于所有字段YAML 类型命令行效果字符串/数字--key value布尔true--keyflag布尔false忽略列表--key v1 v2 …加引号字符串False--key False用于 pyrallis/Hydra 类解析器4. 拉起推理bash infer.sh拉起过程会自动解析 YAML 中的world_size、master_port、entry_script、env_vars、launcher_args、model_args设置通用 NPU 优化环境变量PYTORCH_NPU_ALLOC_CONF、TASK_QUEUE_ENABLE、CPU_AFFINITY_CONF、TOKENIZERS_PARALLELISM及 HCCL 通信配置在res/YYYYMMDD/model_name/下自动创建日志目录并将推理输出tee到log_timestamp.log调用accelerate launch --num_processesworld_size --num_machines1 --main_process_portmaster_port --mixed_precisionbf16 inference_video_scripts/inference_sana_video.py model_args。如需切换到多卡 DP可将 YAML 中的world_size调整为目标卡数mm_function.sh会自动转换为accelerate --num_processes。一站式平台的快速启动本章节面向使用一站式平台的用户平台已预置完整的 CANN 环境按以下步骤即可在单卡上完成 SANA-Video 文生视频推理。1. 安装 Miniconda 并创建 Python 环境若当前环境未预装 conda在用户目录下安装 Miniconda无需 root 权限wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh -O /tmp/miniconda.sh bash /tmp/miniconda.sh -b -p $HOME/miniconda3 source $HOME/miniconda3/etc/profile.d/conda.sh echo source $HOME/miniconda3/etc/profile.d/conda.sh ~/.bashrc # 永久生效说明x86_64 机器将命令中的aarch64替换为x86_64。创建并激活 Python 环境conda create -n sana python3.10 -y --override-channels -c conda-forge conda activate sana2. 修改infer_platform.sh中的两处路径打开infer_platform.sh按本机实际情况修改「User configuration」段的两个路径WEIGHTS_DIR/mnt/workspace/gitCode/cann/models # 权重与 HF cache 的存放目录 CANN_SET_ENV/home/developer/Ascend/ascend-toolkit/set_env.sh # 平台 CANN 的 set_env.sh3. 一键拉起推理cd cann-recipes-infer/models/sana-video bash infer_platform.sh前置条件已完成 §1conda 环境已激活。脚本本身会依次完成source CANN 环境脚本 → 安装 torch / torch_npu → 合入上游 Sana 源码 → 安装项目依赖与 NPU mmcv → 通过 hf-mirror 下载权重 → 生成指向本地权重的临时 YAML → 调用 python 启动单卡推理。各步骤均幂等已完成的环节会自动跳过。说明infer_platform.sh不直接读取普通离线配置2b_480p_single.yaml而是读取2b_480p_single_platform.yaml作为平台模板再按WEIGHTS_DIR生成临时 YAML。普通infer.sh与一站式平台启动互不影响。生成结果位于output/sana_t2v_video_results/vis/*.mp4一条 prompt 对应一个 mp4。性能数据本样例在Atlas A2/A3的推理性能如下表所示| 规格| 单步时延(s) | Diffusion sampling总时长(s) | |--|--| --| | 480p81f | 2.75 | 132 |本样例在 Atlas A5 的推理性能如下表所示 |量化方式 | 规格| 单步时延(s) | Diffusion sampling总时长(s) | 整网耗时(s) | |--|--|--|--| -- | |bf16| 480p81f | 1.67 | 83.5 | 90.44 | |8bit| 480p81f | 1.46 | 73 | 79.38 | |4bit| 480p81f | 1.43 | 71.5 | 77.92 |【免费下载链接】cann-recipes-infer本项目针对LLM与多模态模型推理业务中的典型模型、加速算法提供基于CANN平台的优化样例项目地址: https://gitcode.com/cann/cann-recipes-infer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/cann-recipes-infer:在昇腾Atlas A2/A3环境上适配SANA-Video模型的推理

在昇腾Atlas A2/A3环境上适配SANA-Video模型的推理 【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-infer SANA-Video模型是一…...

CANN/ge SetInitParam函数文档

SetInitParam 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前…...

Q2夏季热门选品指南——Shopee东南亚站点适用

看了TikTokShop东南亚发的Q2的选品指南,感觉咱们做Shopee虾皮的也可以用,分享一下,大家可以也可以参考看看效果怎么样。Q2就是4-6月这个期间,夏季东南亚肯定是温度很高的,而且这期间节假日多,所以眼镜防晒这…...

Blender骨骼次级动画插件WiggleBone:原理、参数与实战指南

1. 项目概述与核心价值如果你在寻找一个能让你在3D建模或游戏开发中,为骨骼动画添加“灵魂”的工具,那么detomon/wigglebone这个项目绝对值得你花时间深入研究。简单来说,它是一个为 Blender 设计的插件,专门用来模拟骨骼的次级动…...

3个关键步骤:用Video DownloadHelper CoApp彻底解决视频下载难题

3个关键步骤:用Video DownloadHelper CoApp彻底解决视频下载难题 【免费下载链接】vdhcoapp Companion application for Video DownloadHelper browser add-on 项目地址: https://gitcode.com/gh_mirrors/vd/vdhcoapp 还在为无法下载网页视频而烦恼吗&#x…...

CANN/hixl HIXL接口文档

HIXL接口 【免费下载链接】hixl HIXL(Huawei Xfer Library)是一个灵活、高效的昇腾单边通信库,面向集群场景提供简单、可靠、高效的点对点数据传输能力。 项目地址: https://gitcode.com/cann/hixl 产品支持情况 产品是否支持Ascend …...

intel过来的xcode项目在M芯片电脑无法显示模拟器的问题日

直接修复 1. 打开项目 → 选中 Target → Build Settings 搜索: EXCLUDED_ARCHS 会看到: Debug / Release 下都有:arm64 或者:EXCLUDED_ARCHS[sdkiphonesimulator*] arm64 2. 删掉所有 arm64(关键) 把所有…...

ARM SIMDFP指令集:VMOV与VMMLA优化指南

1. ARM SIMD&FP指令集概述在现代处理器架构中,SIMD(单指令多数据)和FP(浮点)指令集是提升计算性能的关键技术。ARM架构从ARMv7开始引入NEON技术,到ARMv8进一步扩展为Advanced SIMD,为多媒体…...

20万奖金!昇腾 Model‑Agent 模型适配大赛邀你来战

由 AtomGit 与昇腾(Ascend)联合举办的昇腾 Model-Agent 模型适配大赛正式开启,面向所有 AI 开发者、高校团队、企业技术爱好者,用 Agent 解锁模型适配新效率,实战拿奖、共建生态一步到位! 🔗 报…...

Kubernetes存储深度解析与实践

Kubernetes存储深度解析与实践 Kubernetes存储概述 Kubernetes存储是容器化应用的核心组成部分,它为应用提供了持久化数据存储能力。本文将深入探讨Kubernetes存储的核心概念、存储类型和最佳实践。 Kubernetes存储核心概念 1. Volume与PersistentVolume apiVersion…...

CANN/metadef算子平铺构建

Build 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef 函数功能 根据之前的设置&#xff0c;构建TilingContext&#xff0c;返回一个ContextHolder<TilingContext>对象。 函数原型 ContextHolder<TilingC…...

Kubernetes网络模型深度解析与实践

Kubernetes网络模型深度解析与实践 Kubernetes网络概述 Kubernetes网络是容器编排的核心组成部分&#xff0c;它为Pod提供了稳定的网络标识和通信能力。本文将深入探讨Kubernetes网络模型的核心概念、网络插件和最佳实践。 Kubernetes网络核心概念 1. Pod网络模型 ┌───…...

如何用500KB开源工具彻底替代AWCC:AlienFX Tools终极控制指南

如何用500KB开源工具彻底替代AWCC&#xff1a;AlienFX Tools终极控制指南 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 厌倦了Alienware Command Cen…...

CANN/ge函数处理点API

FuncProcessPoint 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、TensorFl…...

开发者专属:用coding-plan打造高效技术学习与自律管理系统

1. 项目概述&#xff1a;一个为开发者量身定制的自律与成长工具如果你和我一样&#xff0c;是一名在代码世界里摸爬滚打的开发者&#xff0c;那你一定对“计划赶不上变化”这句话深有体会。今天想学个新框架&#xff0c;明天要重构旧代码&#xff0c;后天又被临时需求打断。一年…...

CANN hcomm通信内存激活接口

HcclCommActivateCommMemory 【免费下载链接】hcomm HCOMM&#xff08;Huawei Communication&#xff09;是HCCL的通信基础库&#xff0c;提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm [!NOTE]说明 本接口为试用接口&#xff0c;后续可…...

生态:智能体与环境的双向塑造 ——为什么超级进化只能是科幻

# 生态&#xff1a;智能体与环境的双向塑造 ## ——为什么超级进化只能是科幻**作者**&#xff1a;归来的星辰 **首发**&#xff1a;知乎&#xff08;2026年4月26日&#xff09; **协议**&#xff1a;CC BY-SA 4.0&#xff08;可自由转载、改编、商业化使用&#xff0c;但须保留…...

CANN/atvoss幂运算接口

Power 【免费下载链接】atvoss ATVOSS&#xff08;Ascend C Templates for Vector Operator Subroutines&#xff09;是一套基于Ascend C开发的Vector算子库&#xff0c;致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。 项目地址: https://…...

CANN / ops-nn GELU算子

aclnnGelu 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn &#x1f4c4; 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品…...

WeChatPad:解锁微信多设备协同,重塑移动办公边界

WeChatPad&#xff1a;解锁微信多设备协同&#xff0c;重塑移动办公边界 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 你是否曾在工作与生活之间疲于切换微信账号&#xff1f;是否因微信"手机和平板不…...

混合专家MoE没你想的那么玄乎:拆开GPT-4和DeepSeek V4的核心架构

上周跟一个朋友聊天&#xff0c;他说他在读 MoE 的论文&#xff0c;读了两天没太搞明白。我说你换个角度想——MoE 就像一家大型公司的组织架构。 传统的大模型就像一个全能型员工&#xff0c;一个人啥都得会。MoE 换了个思路&#xff1a;你不是要让一个人啥都会吗&#xff1f;…...

Video DownloadHelper CoApp终极指南:从零开始轻松下载网络视频

Video DownloadHelper CoApp终极指南&#xff1a;从零开始轻松下载网络视频 【免费下载链接】vdhcoapp Companion application for Video DownloadHelper browser add-on 项目地址: https://gitcode.com/gh_mirrors/vd/vdhcoapp Video DownloadHelper CoApp是Video Down…...

职场人的「深夜困境」:为什么我选择用AI社交平台倾诉

职场五年&#xff0c;我学会了一件事&#xff1a;白天把情绪藏好&#xff0c;晚上一个人消化。白天开会、汇报、对接客户&#xff0c;所有的情绪都要收着。到了晚上&#xff0c;躺在床上&#xff0c;脑子却停不下来。翻来覆去睡不着的时候&#xff0c;你会找谁&#xff1f;我试…...

CANN基础设施机器人使用指南

【免费下载链接】infrastructure 本仓库用于托管CANN社区基础设施团队的公开信息&#xff0c;包括不限于&#xff1a;会议日程&#xff0c;成员信息&#xff0c;服务文档和配置等信息 项目地址: https://gitcode.com/cann/infrastructure &#x1f680; CANN社区Bot用户…...

CANN/HCCL Ring集合通信算法

Ring 【免费下载链接】hccl 集合通信库&#xff08;Huawei Collective Communication Library&#xff0c;简称HCCL&#xff09;是基于昇腾AI处理器的高性能集合通信库&#xff0c;为计算集群提供高性能、高可靠的通信方案 项目地址: https://gitcode.com/cann/hccl 算法…...

【2026年最新】网安学习路线!最详细没有之一!看了这么多分享网安学习路线的一个详细的都没有!

零基础小白&#xff0c;到就业&#xff01;入门到入土的网安学习路线&#xff01; 在各大平台搜的网安学习路线都太粗略了。。。。看不下去了&#xff01; 我把自己报班的系统学习路线&#xff0c;整理拿出来跟大家分享了&#xff01; 建议的学习顺序&#xff1a; 一、网络安…...

数字电源控制技术:从效率优化到智能管理

1. 数字电源控制技术的革新突破在电力电子领域工作了十五年&#xff0c;我见证了电源技术从模拟控制到数字控制的革命性转变。2007年那场PCIM China展会上&#xff0c;Ericsson展示的数字控制POL稳压器让我至今记忆犹新——它用25.412.7mm的尺寸实现了20A输出&#xff0c;这个尺…...

Tekla 图纸还在人工调?一个项目浪费几十小时,自动调图到底能省多少时间

正文在钢结构深化行业&#xff0c;很多人都以为建模最耗时间。但真正做过项目的人都知道&#xff0c;模型完成之后&#xff0c;真正拖慢交付周期的&#xff0c;往往是图纸后处理。一个典型流程&#xff1a;建模完成 → 自动生成图纸 → 图纸员人工调图 → 校审 → 修改 → 出图…...

CANN工具SIG项目

tools SIG 【免费下载链接】community 本项目是CANN开源社区的核心管理仓库&#xff0c;包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息 项目地址: https://gitcode.com/cann/community 简介 欢迎来到tools SIG&#xff01;我们致力于构建模型压缩和…...

CANN/sip BLAS点积算子文档

Dot 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库&#xff0c;基于华为Ascend AI处理器&#xff0c;专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 产品支持情况 产品是否支持Atlas 200I/500 A2 推理产品At…...