source: general/genlib/fftw.xml@ 7796938

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 7796938 was 7796938, checked in by Ken Moffat <ken@…>, 5 years ago

fftw: Correct short descriptions of libfftw3f variants.

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

  • Property mode set to 100644
File size: 9.8 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 single-precision Fast Fourier Transform library, described
264 as 'float' for historic reasons
265 </para>
266 <indexterm zone="fftw libfftw3f">
267 <primary sortas="c-libfftw3f">libfftw3f.so</primary>
268 </indexterm>
269 </listitem>
270 </varlistentry>
271
272 <varlistentry id="libfftw3f_threads">
273 <term><filename class="libraryfile">libfftw3f_threads.so</filename></term>
274 <listitem>
275 <para>
276 is the threaded single-precision Fast Fourier Transform library
277 </para>
278 <indexterm zone="fftw libfftw3f_threads">
279 <primary sortas="c-libfftw3f_threads">libfftw3f_threads.so</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="libfftw3l">
285 <term><filename class="libraryfile">libfftw3l.so</filename></term>
286 <listitem>
287 <para>
288 is the long double Fast Fourier Transform library
289 </para>
290 <indexterm zone="fftw libfftw3l">
291 <primary sortas="c-libfftw3l">libfftw3l.so</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="libfftw3l_threads">
297 <term><filename class="libraryfile">libfftw3l_threads.so</filename></term>
298 <listitem>
299 <para>
300 is the threaded long double Fast Fourier Transform library
301 </para>
302 <indexterm zone="fftw libfftw3l_threads">
303 <primary sortas="c-libfftw3l_threads">libfftw3l_threads.so</primary>
304 </indexterm>
305 </listitem>
306 </varlistentry>
307
308 </variablelist>
309
310 </sect2>
311
312</sect1>
Note: See TracBrowser for help on using the repository browser.