fft URL
2016-07-27 16:54
405 查看
Download | GitHub | Mailing List | Benchmark | Features | Documentation | FAQ | Links | Feedback |
from: http://www.fftw.org/
Introduction
FFTW is a Csubroutine library for computing the discrete Fourier transform (DFT)in one or more dimensions, of arbitrary input size, and of both realand complex data (as well as of even/odd data, i.e.the discretecosine/sine transforms or DCT/DST). We believe that FFTW,which is
free software, should become the
FFT library of choice for mostapplications.
The latest official release of FFTW is version 3.3.4,available from
our download page. Version3.3 introduced support for the AVX x86 extensions, adistributed-memory implementation on top of MPI, and a Fortran 2003API. Version 3.3.1 introduced support for the ARM
Neonextensions. See the
release notes formore information.
The FFTW package was developed at
MIT by
Matteo Frigo and
Steven G. Johnson.
Our benchmarks,performed on on a variety of platforms, show that FFTW's performanceis typically superior to that of other publicly available FFTsoftware, and is even competitive with vendor-tuned
codes. Incontrast to vendor-tuned codes, however, FFTW's performance isportable: the same program will perform well on mostarchitectures without modification. Hence the name, "FFTW," whichstands for the somewhat whimsical title of "Fastest
FourierTransform in the West."
Subscribe tothe
fftw-announcemailing list to receive release announcements (or use the web feed
).
Features
FFTW 3.3.4 is the latest official version of FFTW (refer to therelease notes to find out what is new). Here is a list of some of FFTW's more interesting features:
Speed. (Supports SSE/SSE2/Altivec, since version3.0. Version 3.3.1 supports AVX and ARM Neon.)
Both one-dimensional and multi-dimensional transforms.
Arbitrary-size transforms. (Sizes with small prime factors arebest, but FFTW uses O(N log N) algorithms even for prime sizes.)
Fast transforms of purely real input or output data.
Transforms of real even/odd data: the
discrete cosine transform(DCT) and the
discrete sine transform (DST), types I-IV. (Version 3.0 or later.)
Efficient handling of multiple, strided transforms. (This lets youdo things like transform multiple arrays at once, transform onedimension of a multi-dimensional array, or transform one field of amulti-component array.)
Parallel transforms: parallelizedcode for platforms with
SMP machines with some flavorof
threads(e.g. POSIX) or
OpenMP. An
MPI version for distributed-memory transforms isalso available in FFTW 3.3.
Portable to any platform with a C compiler.
Documentation in HTML and other formats.
Both C and Fortran interfaces.
Freesoftware, released under the GNU General Public License (GPL, see
FFTW license).(Non-free licenses may also be purchased from
MIT, for users who do not want their programs protected bythe GPL.
Contact us for details.) (See also the
FAQ.)
If you are still usingFFTW 2.x, please note that FFTW 2.x was last updated in 1999and it is obsolete. Please upgrade to FFTW 3.x. The API of FFTW 3.xis
incompatible with that of FFTW 2.x, for reasons ofperformance and generality (seethe
FAQorthe
manual).
Documentation
First, read the FFTW Frequently Asked Questionsdocument.Manual: HTML or
PDF.
manpages:the
fftw-wisdom and
fftw-wisdom-to-conf utilities.
For general questions about Fourier transforms, see our
links to FFT-related resources. People often askus how to compute a subset of the FFT outputs, so we have posted ashort
discussion of pruned FFTs.
We benchmarked FFTW against many other FFT programs, in one tothree dimensions, on a variety of platforms. You can view the resultsfrom this benchmark, or download it to run on your own machine andcompiler, at the
benchFFT webpage.
An audio
interview of the FFTW authors is available from the RCE podcast program.
Downloading
Versions 3.3.4 and 2.1.5 of FFTW may bedownloaded from this site. Feel free to postFFTW on your own site, but be sure to tell us so that we can link toyour page and notify you of updates to the software.
Literature.
BibTeX file of FFTW references.The most current general paper about FFTW, and the preferred FFTWreference: Matteo Frigo and Steven G. Johnson,"The Design and Implementation ofFFTW3,"
Proceedings of the IEEE 93 (2),216–231 (2005). Invited paper, Special Issue on ProgramGeneration, Optimization, and Platform Adaptation.
[Link is toour preprint of published article; alsoin
Postscript. Official issueis
here.]
ImplementingFFTs in Practice, our chapter in the online book
Fast FourierTransforms edited by C. S. Burrus.
"A Fast Fourier Transform Compiler," byMatteo Frigo, in the Proceedings of the 1999 ACM SIGPLAN Conference onProgramming Language Design and Implementation(PLDI
'99), Atlanta,Georgia, May 1999. This paper describes the guts of the FFTW codeletgenerator. (Also in
Postscript.The
slides from the talk are alsoavailable.)
An earlier (and somewhat out of date) paper on FFTW was publishedin the 1998 ICASSP conference proceedings (vol. 3, pp. 1381-1384) withthe title
"FFTW: An Adaptive SoftwareArchitecture for the FFT" (also in
Postscript), by M. Frigo andS. G. Johnson.
An even older technical report is
"The Fastest Fourier Transform in the West,"MIT-LCS-TR-728 (September 1997) (also in
Postscript.).
You might also be interested in
"Cache-ObliviousAlgorithms," by M. Frigo, C. E. Leiserson, H. Prokop, andS. Ramachandran (FOCS '99).
The slides from the 7/28/98 talk"The Fastest Fourier Transform in the West," by M. Frigo, are alsoavailable, along with the
slides froma shorter 1/14/98 talk on the same subject by S. G. Johnson.
A paper on a new FFT algorithm that, following
James Van Buskirk,improves upon previous records for the arithmetic complexity of theDFT and related transforms, is: Steven G. Johnson and Matteo Frigo,"A modified split-radix FFT with fewerarithmetic
operations", IEEE Trans. Signal Processing55 (1), 111–119 (2007). Two preprints describing theapplication of the new algorithm to discrete cosine transforms are"Type-II/IIIDCT/DST
algorithms with reduced number of arithmetic operations"(March 2007) and "Type-IVDCT, DST, and MDCT algorithms with reduced numbers of arithmeticoperations"
(August 2007), by X. Shao and S. G. Johnson.
Awards
FFTW receivedthe1999J. H. Wilkinson Prize for Numerical Software, which is awardedevery four years to the software that "best addresses all phases ofthe preparation of high quality numerical software." Wilkinson was aseminal figure in modern numerical analysis as well
as a key proponentof the notion of reusable, common libraries for scientific computing,and we are especially honored to receive this award in his memory.
Our paper "A Fast Fourier Transform Compiler" (in PLDI 1999) receivedthe Most Influential PLDI Paper award in 2009.
Acknowledgements
We are grateful for the support of many people and companies,including Sun, Intel, the GNU project, and the Linux community.Please see theacknowledgementssection of our manual for a more complete list of those who helpedus. We are especially thankful to all of our users for theircontinuing support, feedback, and
interest in the development of FFTW.
Related Links
We have put together a list of links to otherinteresting sites with FFT-related code or information. This shouldbe helpful if you want to know more about Fourier transforms or if forsome reason FFTWdoesn't satisfy your needs.
Feedback
If you have comments, questions, or suggestions regarding FFTW, don'thesitate to email us atfftw@fftw.org.We support encrypted/signed email. Use
our public keys.
相关文章推荐
- hdu 1257 最少拦截系统(动态规划)
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- _.filter
- python自定义线程池
- java.lang.NoSuchMethodError: oracle.i18n.text.converter.CharacterConverterOGS.getInstance
- 操作Excel表格的功能类 ExcelReader
- spark关联源码及远程调试设置
- 从头开始基于Maven搭建SpringMVC+Mybatis项目(4)
- 天遥G10五模全智能鼠标强化软件 V14.12V02正式版
- Java笔记之socket中的SSL
- 找字符串中第一个只出现一次的字符
- Codeforces Round #301 (Div. 2) B. School Marks(贪心)
- 字串变换
- Android 事件分发机制(最新源码6.0分析)--childView
- vim常用命令
- Exception异常处理
- HAProxy Tips
- 从什么都不懂开始(二)——创建Project提交到Github需要做什么
- Mysql与Sql server在语法和关键字上的区别
- cifar代码