---
title: 函数说明
description: "快速傅里叶（Fast Fourier Transform）运算库，是快速计算序列的离散傅里叶变换（DFT）或其逆变换的方法，广泛应用于工程、科学和数学领域，将傅里叶变换计算需要的复杂度从O(n2)降到了O(n log n)，被IEEE科学与工程计算期刊列入20世纪十大算法。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0282.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0282.html
indexId: aa31fa407d55dfd680d874251d9ec9f161862dcf1a667b6b064bd1a917b50b1a67
---
# 函数说明

快速傅里叶（Fast Fourier Transform）运算库，是快速计算序列的离散傅里叶变换（DFT）或其逆变换的方法，广泛应用于工程、科学和数学领域，将傅里叶变换计算需要的复杂度从O(n2)降到了O(n log n)，被IEEE科学与工程计算期刊列入20世纪十大算法。

FFT（Fast Fourier Transform）库包含一系列快速傅里叶变换函数的接口标准，KML_FFT库包含以下六大类函数：

- plan函数：用于建立FFT变换的plan，plan使用完毕后需要通过调用kml_fft(f/h)_destroy_plan函数来释放。

  - C2C变换：复数形式到复数形式的FFT变换
  - R2C变换：实数形式到复数形式的FFT变换
  - C2R变换：复数形式到实数形式的FFT变换
  - R2R变换：实数形式到实数形式的FFT变换
- 变换执行函数：用于根据plan执行对应的FFT变换。
- 内存函数：内存分配、释放函数。
- 线程函数：线程初始化、资源释放相关函数。
- MPI Local Size函数：在进程间划分数据。
- MPI transposition函数：转置变换。

对于上述变换，KML_FFT库均支持：

- in-place变换（输入in与输出out是同一个指针），以及out-place变换。
- 单精度以及双精度：单精度函数以kml_fftf_为函数前缀，双精度函数以kml_fft_为函数前缀。其中，  单进程函数定义
和  多进程函数定义
的函数说明以双精度为例进行说明。

以下函数接口定义中，以下接口仅适用于Taishan 200 1280 V2和Taishan 200 2280 V2服务器。

- C Interface以“kml_ffth”开头的接口
- Fortran Interface以“RES = KML_FFTH”的接口
