---
title: FFT公共接口
description: "功能描述：注册FFT句柄。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/SiP/SIP_API_0028.html
sourcePath: /source/zh/canncommercial/900/API/SiP/SIP_API_0028.html
indexId: 87b0ea07d9c4354dc094f8c8e4ddf2ea1600c7c5f329e08399f0594d107017a955
---
# FFT公共接口

#### asdFftCreate

功能描述：注册FFT句柄。

函数原型：AspbStatus asdFftCreate(asdFftHandle &handle)

参数说明：

| 参数名称 | Input/Output | 类型 | 描述 |
| --- | --- | --- | --- |
| handle | Input | asdFftHandle | asdFftCreate接口的句柄。 |


#### asdFftSetStream

功能描述：绑定NPU执行流。

函数原型：AspbStatus asdFftSetStream(asdFftHandle handle, void *stream)

参数说明：

| 参数名称 | Input/Output | 类型 | 描述 |
| --- | --- | --- | --- |
| handle | Input | asdFftHandle | asdFftSetStream接口的句柄。 |
| stream | Input | void\* | 流对象。 |


#### asdFftGetWorkspaceSize

功能描述：计算当前plan下的FFT执行流需要的workspace的大小。

函数原型：AspbStatus asdFftGetWorkspaceSize(asdFftHandle handle, size_t &workSize)

参数说明：

| 参数名称 | Input/Output | 类型 | 描述 |
| --- | --- | --- | --- |
| handle | Input | asdFftHandle | asdFftGetWorkspaceSize接口的句柄。 |
| workSize | Input | size\_t | 所需的工作空间大小。 |


#### asdFftSetWorkspace

功能描述：配置当前handle绑定的FFT计算过程所需的workspace。

函数原型：AspbStatus asdFftSetWorkspace(asdFftHandle handle, void *workspace)

参数说明：

| 参数名称 | Input/Output | 类型 | 描述 |
| --- | --- | --- | --- |
| handle | Input | asdFftHandle | asdFftSetWorkspace接口的句柄。 |
| workspace | Input | void \* | 指向工作空间的指针。 |


#### asdFftSynchronize

功能描述：同步NPU状态。

函数原型：AspbStatus asdFftSynchronize(asdFftHandle handle)

参数说明：

| 参数名称 | Input/Output | 类型 | 描述 |
| --- | --- | --- | --- |
| handle | Input | asdFftHandle | asdFftSynchronize接口的句柄。 |


#### asdFftGetType

功能描述：返回当前handle绑定FFT计算的类型。包括ASCEND_FFT_C2C、ASCEND_FFT_C2R、ASCEND_FFT_R2C。

函数原型：AspbStatus asdFftGetType(asdFftHandle handle, asdFftType &fftType)

参数说明：

| 参数名称 | Input/Output | 类型 | 描述 |
| --- | --- | --- | --- |
| handle | Input | asdFftHandle | asdFftGetType接口的句柄。 |
| fftType | Input | asdFftType | 用于接收FFT类型的值。 |


#### asdFftDestroy

功能描述：销毁句柄并释放句柄占用的空间。

函数原型：AspbStatus asdFftDestroy(asdFftHandle handle)

参数说明：

| 参数名称 | Input/Output | 类型 | 描述 |
| --- | --- | --- | --- |
| handle | Input | asdFftHandle | asdFftDestroy接口的句柄。 |


若需使用FFT算子，需先创建句柄，调用对应算子的plan接口初始化该句柄对应的算子配置并进行绑定，再调用FFT公共接口“asdFftGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器，然后调用“asdFftSetWorkspace”给对应的plan设置需要workspaces，最后调用FFT算子接口执行计算。计算完需要对plan进行销毁，以免造成内存泄漏。
