source: general/genlib/fftw.xml@ 2d3c8d3

10.0 10.1 11.0 11.1 11.2 11.3 12.0 8.4 9.0 9.1 kea ken/inkscape-core-mods lazarus lxqt plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 2d3c8d3 was 2d3c8d3, checked in by Ken Moffat <ken@…>, 5 years ago

fftw: Change Command Explanations markup to parameter instead of optional, remove no-longer-used disable-static, add explanation for long double.

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

  • Property mode set to 100644
File size: 9.7 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 <parameter>--enable-shared</parameter>: Use shared libs
153 instead of static libs.
154 </para>
155
156 <para>
157 <parameter>--enable-threads</parameter>: 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 <parameter>--enable-float</parameter>: 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 <para>
172 <parameter>--enable-long-double</parameter>: This enables building the
173 library that uses higher precision long-double floating point arithmetic.
174 The library will be called <filename
175 class="libraryfile">libfftw3l.so</filename>.
176 </para>
177
178 </sect2>
179
180 <sect2 role="content">
181 <title>Contents</title>
182
183 <segmentedlist>
184 <segtitle>Installed Programs</segtitle>
185 <segtitle>Installed Libraries</segtitle>
186 <segtitle>Installed Directories</segtitle>
187
188 <seglistitem>
189 <seg>
190 fftw-wisdom and fftw-wisdom-to-conf
191 </seg>
192 <seg>
193 libfftw3.so, libfftw3_threads.so, libfftw3f.so,
194 libfftw3f_threads.so, libfftw3l.so and libfftw3l_threads.so
195 </seg>
196 <seg>
197 None
198 </seg>
199 </seglistitem>
200 </segmentedlist>
201
202 <variablelist>
203 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
204 <?dbfo list-presentation="list"?>
205 <?dbhtml list-presentation="table"?>
206
207 <varlistentry id="fftw-wisdom">
208 <term><command>fftw-wisdom</command></term>
209 <listitem>
210 <para>
211 is a utility to generate FFTW wisdom files, which contain saved
212 information about how to optimally compute (Fourier) transforms of
213 various sizes.
214 </para>
215 <indexterm zone="fftw fftw-wisdom">
216 <primary sortas="b-fftw-wisdom">fftw-wisdom</primary>
217 </indexterm>
218 </listitem>
219 </varlistentry>
220
221 <varlistentry id="fftw-wisdom-to-conf">
222 <term><command>fftw-wisdom-to-conf</command></term>
223 <listitem>
224 <para>
225 is a utility to generate C configuration routines from FFTW wisdom
226 files, where the latter contain saved information about how to
227 optimally compute (Fourier) transforms of various sizes.
228 </para>
229 <indexterm zone="fftw fftw-wisdom-to-conf">
230 <primary sortas="b-fftw-wisdom-to-conf">fftw-wisdom-to-conf</primary>
231 </indexterm>
232 </listitem>
233 </varlistentry>
234
235 <varlistentry id="libfftw3">
236 <term><filename class="libraryfile">libfftw3.so</filename></term>
237 <listitem>
238 <para>
239 is the Fast Fourier Transform library
240 </para>
241 <indexterm zone="fftw libfftw3">
242 <primary sortas="c-libfftw3">libfftw3.so</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry id="libfftw3_threads">
248 <term><filename class="libraryfile">libfftw3_threads.so</filename></term>
249 <listitem>
250 <para>
251 is the threaded Fast Fourier Transform library
252 </para>
253 <indexterm zone="fftw libfftw3_threads">
254 <primary sortas="c-libfftw3_threads">libfftw3_threads.so</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
259 <varlistentry id="libfftw3f">
260 <term><filename class="libraryfile">libfftw3f.so</filename></term>
261 <listitem>
262 <para>
263 is the floating-point Fast Fourier Transform library
264 </para>
265 <indexterm zone="fftw libfftw3f">
266 <primary sortas="c-libfftw3f">libfftw3f.so</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="libfftw3f_threads">
272 <term><filename class="libraryfile">libfftw3f_threads.so</filename></term>
273 <listitem>
274 <para>
275 is the threaded floating-point Fast Fourier Transform library
276 </para>
277 <indexterm zone="fftw libfftw3f_threads">
278 <primary sortas="c-libfftw3f_threads">libfftw3f_threads.so</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry id="libfftw3l">
284 <term><filename class="libraryfile">libfftw3l.so</filename></term>
285 <listitem>
286 <para>
287 is the long double Fast Fourier Transform library
288 </para>
289 <indexterm zone="fftw libfftw3l">
290 <primary sortas="c-libfftw3l">libfftw3l.so</primary>
291 </indexterm>
292 </listitem>
293 </varlistentry>
294
295 <varlistentry id="libfftw3l_threads">
296 <term><filename class="libraryfile">libfftw3l_threads.so</filename></term>
297 <listitem>
298 <para>
299 is the threaded long double Fast Fourier Transform library
300 </para>
301 <indexterm zone="fftw libfftw3l_threads">
302 <primary sortas="c-libfftw3l_threads">libfftw3l_threads.so</primary>
303 </indexterm>
304 </listitem>
305 </varlistentry>
306
307 </variablelist>
308
309 </sect2>
310
311</sect1>
Note: See TracBrowser for help on using the repository browser.