Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2 | pj | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> |
2 | <HTML> |
||
3 | <HEAD> |
||
4 | <!-- This HTML file has been created by texi2html 1.52 |
||
5 | from fftw.texi on 18 May 1999 --> |
||
6 | |||
7 | <TITLE>FFTW - Footnotes</TITLE> |
||
8 | </HEAD> |
||
9 | <BODY TEXT="#000000" BGCOLOR="#FFFFFF"> |
||
10 | <H1>FFTW</H1> |
||
11 | <H2>For version 2.1.2, 18 May 1999</H2> |
||
12 | <P> |
||
13 | <P><HR><P> |
||
14 | <H3><A NAME="FOOT1" HREF="fftw_2.html#DOCF1">(1)</A></H3> |
||
15 | <P>The output for the |
||
16 | multi-dimensional rfftw is a more-conventional array of |
||
17 | <CODE>fftw_complex</CODE> values, but the format here permitted us greater |
||
18 | efficiency in one dimension. |
||
19 | <H3><A NAME="FOOT2" HREF="fftw_3.html#DOCF2">(2)</A></H3> |
||
20 | <P>The basic problem is the resolution of the clock: |
||
21 | FFTW needs to run for a certain time for the clock to be reliable. |
||
22 | <H3><A NAME="FOOT3" HREF="fftw_3.html#DOCF3">(3)</A></H3> |
||
23 | <P><CODE>fftwnd</CODE> actually may use some temporary |
||
24 | storage (hidden in the plan), but this storage space is only the size of |
||
25 | the largest dimension of the array, rather than being as big as the |
||
26 | entire array. (Unless you use <CODE>fftwnd</CODE> to perform one-dimensional |
||
27 | transforms, in which case the temporary storage required for in-place |
||
28 | transforms <EM>is</EM> as big as the entire array.) |
||
29 | <H3><A NAME="FOOT4" HREF="fftw_3.html#DOCF4">(4)</A></H3> |
||
30 | <P>The etymologically-correct spelling would be |
||
31 | <CODE>frftw_</CODE>, but it is hard to remember. |
||
32 | <H3><A NAME="FOOT5" HREF="fftw_4.html#DOCF5">(5)</A></H3> |
||
33 | <P>There is one exception: when performing |
||
34 | one-dimensional in-place transforms, the <CODE>out</CODE> parameter is always |
||
35 | ignored by the multi-threaded routines, instead of being used as a |
||
36 | workspace if it is non-<CODE>NULL</CODE> as in the uniprocessor routines. The |
||
37 | multi-threaded routines always allocate their own workspace (the size of |
||
38 | which depends upon the number of threads). |
||
39 | <H3><A NAME="FOOT6" HREF="fftw_4.html#DOCF6">(6)</A></H3> |
||
40 | <P>The 1D |
||
41 | transforms require much more communication. All the communication in |
||
42 | our FFT routines takes the form of an all-to-all communication: the |
||
43 | multi-dimensional transforms require two all-to-all communications (or |
||
44 | one, if you use <CODE>FFTW_TRANSPOSED_ORDER</CODE>), while the one-dimensional |
||
45 | transforms require <EM>three</EM> (or two, if you use scrambled input or |
||
46 | output). |
||
47 | <H3><A NAME="FOOT7" HREF="fftw_4.html#DOCF7">(7)</A></H3> |
||
48 | <P>An |
||
49 | FFT is particularly hard on communications systems, as it requires an |
||
50 | <EM>all-to-all</EM> communication, which is more or less the worst possible |
||
51 | case. |
||
52 | <H3><A NAME="FOOT8" HREF="fftw_5.html#DOCF8">(8)</A></H3> |
||
53 | <P>Technically, Fortran 77 identifiers are |
||
54 | not allowed to have more than 6 characters, nor may they contain |
||
55 | underscores. Any compiler that enforces this limitation doesn't deserve |
||
56 | to link to FFTW. |
||
57 | <H3><A NAME="FOOT9" HREF="fftw_6.html#DOCF9">(9)</A></H3> |
||
58 | <P>Each version of <CODE>cc</CODE> |
||
59 | seems to have its own magic incantation to get the fastest code most of |
||
60 | the time--you'd think that people would have agreed upon some |
||
61 | convention, e.g. "<CODE>-Omax</CODE>", by now. |
||
62 | <P><HR><P> |
||
63 | This document was generated on 18 May 1999 using the |
||
64 | <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> |
||
65 | translator version 1.52. (properly hacked by athena@theory.lcs.mit.edu)</P> |
||
66 | </BODY> |
||
67 | </HTML> |