source: general/genlib/fftw.xml@ be4e0ca

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.4 9.0 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since be4e0ca was be4e0ca, checked in by Ken Moffat <ken@…>, 5 years ago

fftw: Start a series of wording fixes by expanfding the Note.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@21216 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY fftw-download-http "http://www.fftw.org/fftw-&fftw-version;.tar.gz">
8 <!ENTITY fftw-download-ftp "ftp://ftp.fftw.org/pub/fftw/fftw-&fftw-version;.tar.gz ">
9 <!ENTITY fftw-md5sum "8aac833c943d8e90d51b697b27d4384d">
10 <!ENTITY fftw-size "3.9 MB">
11 <!ENTITY fftw-buildsize "57 MB (add 1 MB for tests)">
12 <!ENTITY fftw-time "1.6 SBU (using parallelism=4; add 1.9 SBU for tests)">
13]>
14
15<sect1 id="fftw" xreflabel="fftw-&fftw-version;">
16 <?dbhtml filename="fftw.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>fftw-&fftw-version;</title>
24
25 <indexterm zone="fftw">
26 <primary sortas="a-fftw">fftw</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to fftw</title>
31
32 <para>
33 FFTW is a C subroutine library for computing the discrete Fourier
34 transform (DFT) in one or more dimensions, of arbitrary input size, and
35 of both real and complex data (as well as of even/odd data, i.e. the
36 discrete cosine/sine transforms or DCT/DST).
37 </para>
38
39 &lfs84_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&fftw-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&fftw-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &fftw-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &fftw-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &fftw-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &fftw-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <para condition="html" role="usernotes">
76 User Notes: <ulink url="&blfs-wiki;/fftw"/>
77 </para>
78
79 </sect2>
80
81 <sect2 role="installation">
82 <title>Installation of fftw</title>
83
84 <note><para>We build fftw three times for different libraries in
85 different numerical precisions: the default double precision floating point,
86 the older 32-bit (single precision) version named float which sacrifices
87 precision for speed, and the long double which offers increased precision
88 at the cost of slower execution.</para></note>
89
90 <para>
91 The first build is for double precision arithmetic.
92 Install <application>fftw</application> by running the following commands:
93 </para>
94
95<screen><userinput>./configure --prefix=/usr \
96 --enable-shared \
97 --enable-threads \
98 --enable-sse2 \
99 --enable-avx &amp;&amp;
100make</userinput></screen>
101
102 <para>To test the results, issue: <command>make check</command>.
103 On 32-bit systems, the tests can take substantially longer than
104 they would on 64-bit machines.</para>
105
106 <para>
107 Now, as the <systemitem class="username">root</systemitem> user:
108 </para>
109
110<screen role="root"><userinput>make install</userinput></screen>
111
112 <para>Now build single precision:</para>
113
114<screen><userinput>make clean &amp;&amp;
115
116./configure --prefix=/usr \
117 --enable-shared \
118 --enable-threads \
119 --enable-sse2 \
120 --enable-avx \
121 --enable-float &amp;&amp;
122make</userinput></screen>
123
124 <para>
125 As the <systemitem class="username">root</systemitem> user:
126 </para>
127
128<screen role="root"><userinput>make install</userinput></screen>
129
130 <para>Finally, build long double precision:</para>
131
132<screen><userinput>make clean &amp;&amp;
133
134./configure --prefix=/usr \
135 --enable-shared \
136 --enable-threads \
137 --enable-long-double &amp;&amp;
138make</userinput></screen>
139
140 <para>
141 As the <systemitem class="username">root</systemitem> user:
142 </para>
143
144<screen role="root"><userinput>make install</userinput></screen>
145
146 </sect2>
147
148 <sect2 role="commands">
149 <title>Command Explanations</title>
150
151 <para>
152 <option>--enable-shared --disable-static</option>: Use shared libs
153 instead of static libs.
154 </para>
155
156 <para>
157 <option>--enable-threads</option>: This enables <filename
158 class="libraryfile"> libfftw3_threads.so</filename> to be compiled.
159 It is used by e.g. the <application>gimp</application> plugin from
160 <ulink url="http://gmic.eu/">G'MIC</ulink>.
161 </para>
162
163 <para>
164 <option>--enable-float</option>: This enables building the library that
165 uses single precision floating point arithmetic. It is faster but less
166 precise than the default double precision library. The library will be
167 called <filename class="libraryfile">libfftw3f.so</filename> needed by
168 <xref linkend="pulseaudio"/>.
169 </para>
170
171 </sect2>
172
173 <sect2 role="content">
174 <title>Contents</title>
175
176 <segmentedlist>
177 <segtitle>Installed Programs</segtitle>
178 <segtitle>Installed Libraries</segtitle>
179 <segtitle>Installed Directories</segtitle>
180
181 <seglistitem>
182 <seg>
183 fftw-wisdom and fftw-wisdom-to-conf
184 </seg>
185 <seg>
186 libfftw3.so, libfftw3_threads.so, libfftw3f.so,
187 libfftw3f_threads.so, libfftw3l.so and libfftw3l_threads.so
188 </seg>
189 <seg>
190 None
191 </seg>
192 </seglistitem>
193 </segmentedlist>
194
195 <variablelist>
196 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
197 <?dbfo list-presentation="list"?>
198 <?dbhtml list-presentation="table"?>
199
200 <varlistentry id="fftw-wisdom">
201 <term><command>fftw-wisdom</command></term>
202 <listitem>
203 <para>
204 is a utility to generate FFTW wisdom files, which contain saved
205 information about how to optimally compute (Fourier) transforms of
206 various sizes.
207 </para>
208 <indexterm zone="fftw fftw-wisdom">
209 <primary sortas="b-fftw-wisdom">fftw-wisdom</primary>
210 </indexterm>
211 </listitem>
212 </varlistentry>
213
214 <varlistentry id="fftw-wisdom-to-conf">
215 <term><command>fftw-wisdom-to-conf</command></term>
216 <listitem>
217 <para>
218 is a utility to generate C configuration routines from FFTW wisdom
219 files, where the latter contain saved information about how to
220 optimally compute (Fourier) transforms of various sizes.
221 </para>
222 <indexterm zone="fftw fftw-wisdom-to-conf">
223 <primary sortas="b-fftw-wisdom-to-conf">fftw-wisdom-to-conf</primary>
224 </indexterm>
225 </listitem>
226 </varlistentry>
227
228 <varlistentry id="libfftw3">
229 <term><filename class="libraryfile">libfftw3.so</filename></term>
230 <listitem>
231 <para>
232 is the Fast Fourier Transform library
233 </para>
234 <indexterm zone="fftw libfftw3">
235 <primary sortas="c-libfftw3">libfftw3.so</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
240 <varlistentry id="libfftw3_threads">
241 <term><filename class="libraryfile">libfftw3_threads.so</filename></term>
242 <listitem>
243 <para>
244 is the threaded Fast Fourier Transform library
245 </para>
246 <indexterm zone="fftw libfftw3_threads">
247 <primary sortas="c-libfftw3_threads">libfftw3_threads.so</primary>
248 </indexterm>
249 </listitem>
250 </varlistentry>
251
252 <varlistentry id="libfftw3f">
253 <term><filename class="libraryfile">libfftw3f.so</filename></term>
254 <listitem>
255 <para>
256 is the floating-point Fast Fourier Transform library
257 </para>
258 <indexterm zone="fftw libfftw3f">
259 <primary sortas="c-libfftw3f">libfftw3f.so</primary>
260 </indexterm>
261 </listitem>
262 </varlistentry>
263
264 <varlistentry id="libfftw3f_threads">
265 <term><filename class="libraryfile">libfftw3f_threads.so</filename></term>
266 <listitem>
267 <para>
268 is the threaded floating-point Fast Fourier Transform library
269 </para>
270 <indexterm zone="fftw libfftw3f_threads">
271 <primary sortas="c-libfftw3f_threads">libfftw3f_threads.so</primary>
272 </indexterm>
273 </listitem>
274 </varlistentry>
275
276 <varlistentry id="libfftw3l">
277 <term><filename class="libraryfile">libfftw3l.so</filename></term>
278 <listitem>
279 <para>
280 is the long double Fast Fourier Transform library
281 </para>
282 <indexterm zone="fftw libfftw3l">
283 <primary sortas="c-libfftw3l">libfftw3l.so</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="libfftw3l_threads">
289 <term><filename class="libraryfile">libfftw3l_threads.so</filename></term>
290 <listitem>
291 <para>
292 is the threaded long double Fast Fourier Transform library
293 </para>
294 <indexterm zone="fftw libfftw3l_threads">
295 <primary sortas="c-libfftw3l_threads">libfftw3l_threads.so</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 </variablelist>
301
302 </sect2>
303
304</sect1>
Note: See TracBrowser for help on using the repository browser.