news 2026/5/9 21:02:41

CANN/sip FFT2D操作示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/sip FFT2D操作示例

信号处理加速库FFT2DOperation C++ Demo

【免费下载链接】sip本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库,基于华为Ascend AI处理器,专门为信号处理领域而设计。项目地址: https://gitcode.com/cann/sip

介绍

该目录下为信号处理加速库FFT2DOperation C++调用示例。

功能说明

  • 算子功能:执行批量2D快速傅里叶变换。

  • 计算公式: $$ X[k,l] = \sum_{m=0}^{M-1} \sum_{n=0}^{N-1} x[m,n] \cdot e^{-j2\pi (km/M + ln/N)} $$

    其中:

    • $x[m,n]$ 为输入二维时域信号(复数矩阵)
    • $X[k,l]$ 为输出二维频域信号(复数矩阵)
    • $M \times N$ 为信号尺寸
    • $k = 0, 1, \dots, M-1$, $l = 0, 1, \dots, N-1$

使用说明

环境配置

  • 配置CANN环境变量

    source [CANN安装路径]/set_env.sh

    默认:source /usr/local/Ascend/ascend-toolkit/set_env.sh

SiP编译

  • 用户应进入SiP根目录,执行如下指令进行信号处理加速库的编译,并设置加速库环境变量。

    cd ${SiP_root_path} bash build.sh source output/set_env.sh

    特别说明:

    • 上述编译方式仅支持编译通过git下载的加速库,以zip压缩包方式下载的加速库不支持该编译方式;
    • 由于编译过程需要联网下载依赖库,因此编译环境需要联网;
    • 该编译过程包括获取ascend-boost-comm(昇腾分布式通信加速库)组件并编译该组件,和编译信号加速库两个步骤。更多命令介绍可查看SiP仓库build.sh文件。
  • 更多编译命令说明请参考编译与构建

运行demo

  • 进入example目录并执行构建脚本。

    cd ${示例所在目录} bash build.sh

额外说明

示例中生成的数据不代表实际场景,可根据具体使用场景进行数据修改。

产品支持情况

适用于Atlas A2/A3 训练系列产品、Atlas 800I A2 推理产品、Atlas A3 推理系列产品。

场景说明

提供示例代码分别对应不同场景,编译运行时需要根据具体场景对应更改build脚本:

  • example_acl_fft_c2c_2d.cpp

    【注】:默认编译脚本可编译运行该示例。

    输入

    TensorNameDataTypeDataFormatShapeValue
    fftTypeasdFftTypend[1]ASCEND_FFT_C2C
    inputcomplex64nd[batch, Nfft1, Nfft2]-

    输出

    TensorNameDataTypeDataFormatShapeValue
    outcomplex64nd[batch, Nfft1, Nfft2]-

  • example_acl_fft_c2r_2d.cpp

    【注】:将编译脚本中的 example_acl_fft_c2c_2d.cpp 替换为 example_acl_fft_c2r_2d.cpp 后,替换后的编译脚本可编译运行。

    输入

    TensorNameDataTypeDataFormatShapeValue
    fftTypeasdFftTypend[1]ASCEND_FFT_C2R
    inputcomplex64nd[batch, Nfft1, Nfft2 / 2 + 1]-

    输出

    TensorNameDataTypeDataFormatShapeValue
    outfloat32nd[batch, Nfft1, Nfft2]-

  • example_acl_fft_r2c_2d.cpp

    【注】:将编译脚本中的 example_acl_fft_c2c_2d.cpp 替换为 example_acl_fft_r2c_2d.cpp 后,替换后的编译脚本可编译运行。

    输入

    TensorNameDataTypeDataFormatShapeValue
    fftTypeasdFftTypend[1]ASCEND_FFT_R2C
    inputfloat32nd[batch, Nfft1, Nfft2]-

    输出

    TensorNameDataTypeDataFormatShapeValue
    outcomplex64nd[batch, Nfft1, Nfft2 / 2 + 1]-

【免费下载链接】sip本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库,基于华为Ascend AI处理器,专门为信号处理领域而设计。项目地址: https://gitcode.com/cann/sip

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 21:00:25

TMS320DM6467引导模式详解与配置指南

1. TMS320DM6467引导模式概述 在嵌入式系统开发中,引导加载程序(Bootloader)是系统启动过程中最关键的组件之一。作为TI公司推出的一款高性能数字媒体系统级芯片(DMSoC),TMS320DM6467提供了丰富多样的引导模式选择,为不同应用场景下的系统启动…

作者头像 李华
网站建设 2026/5/9 20:59:22

taotoken平台openai兼容api的python调用基础教程

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken平台OpenAI兼容API的Python调用基础教程 1. 准备工作:获取API密钥与模型ID 开始编写代码前,你需要…

作者头像 李华
网站建设 2026/5/9 20:57:43

OpenClaw交易框架的智能进化:脉冲神经网络与智能体编排实战

1. 项目概述:OpenClaw Mechanicus 补丁包 如果你正在使用 OpenClaw 这个开源的交易自动化框架,并且觉得它的功能虽然强大,但离一个完整的、可编排的、具备智能决策能力的交易系统还有一段距离,那么 JoeSzeles 的这个 openclaw-m…

作者头像 李华
网站建设 2026/5/9 20:55:55

Web 3.0技术融合:区块链、AI与边缘计算的协同架构与实践

1. 项目概述:当Web 3.0的蓝图遇上三大技术支柱 最近和几个做基础设施和分布式应用的朋友聊得比较多,大家都有一个共识:现在谈Web 3.0,如果还只停留在“去中心化应用”或者“加密货币”的层面,那格局就有点小了。真正的…

作者头像 李华
网站建设 2026/5/9 20:55:55

GCC编译器智能增强:基于LLM的编译错误自然语言解释工具chatgcc

1. 项目概述:当GCC编译器“学会”聊天 如果你是一名C/C开发者,或者任何需要与编译器打交道的程序员,那么“编译错误”这个词一定让你又爱又恨。爱的是,它精准地指出了代码中的问题;恨的是,它那冰冷、晦涩、…

作者头像 李华
网站建设 2026/5/9 20:55:53

Shopee大模型面试岗,我慌了!!

上周面Shopee的Agent开发实习二面,面完我整个人是懵的。不是因为面试官刁难,而是问的问题刚好卡在我知识的“自以为懂”和“真懂”之间。很多概念我平时挂在嘴边,但被追问到底层实现、管理细节的时候,就露馅了。我把这10个问题复盘…

作者头像 李华