source: general/genlib/fftw.xml@ bad2cbca

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.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 bad2cbca was d56e7df, checked in by Pierre Labastie <pieere@…>, 4 years ago

Format general libraries

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

  • Property mode set to 100644
File size: 9.9 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 &lfs91_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>
85 <para>
86 We build fftw three times for different libraries in different
87 numerical precisions: the default double precision floating point, the
88 older 32-bit (single precision) version named float which sacrifices
89 precision for speed, and the long double which offers increased
90 precision at the cost of slower execution.
91 </para>
92 </note>
93
94 <para>
95 The first build is for double precision arithmetic. Install
96 <application>fftw</application> by running the following commands:
97 </para>
98
99<screen><userinput>./configure --prefix=/usr \
100 --enable-shared \
101 --enable-threads \
102 --enable-sse2 \
103 --enable-avx &amp;&amp;
104make</userinput></screen>
105
106 <para>
107 To test the results, issue: <command>make check</command>.
108 On 32-bit systems, the tests can take substantially longer than
109 they would on 64-bit machines.
110 </para>
111
112 <para>
113 Now, as the <systemitem class="username">root</systemitem> user:
114 </para>
115
116<screen role="root"><userinput>make install</userinput></screen>
117
118 <para>
119 Now build single precision:
120 </para>
121
122<screen><userinput>make clean &amp;&amp;
123
124./configure --prefix=/usr \
125 --enable-shared \
126 --enable-threads \
127 --enable-sse2 \
128 --enable-avx \
129 --enable-float &amp;&amp;
130make</userinput></screen>
131
132 <para>
133 As the <systemitem class="username">root</systemitem> user:
134 </para>
135
136<screen role="root"><userinput>make install</userinput></screen>
137
138 <para>
139 Finally, build long double precision:
140 </para>
141
142<screen><userinput>make clean &amp;&amp;
143
144./configure --prefix=/usr \
145 --enable-shared \
146 --enable-threads \
147 --enable-long-double &amp;&amp;
148make</userinput></screen>
149
150 <para>
151 As the <systemitem class="username">root</systemitem> user:
152 </para>
153
154<screen role="root"><userinput>make install</userinput></screen>
155
156 </sect2>
157
158 <sect2 role="commands">
159 <title>Command Explanations</title>
160
161 <para>
162 <parameter>--enable-shared</parameter>: Use shared libs
163 instead of static libs.
164 </para>
165
166 <para>
167 <parameter>--enable-threads</parameter>: This enables <filename
168 class="libraryfile"> libfftw3_threads.so</filename> to be compiled.
169 It is used by e.g. the <application>gimp</application> plugin from
170 <ulink url="http://gmic.eu/">G'MIC</ulink>.
171 </para>
172
173 <para>
174 <parameter>--enable-float</parameter>: This enables building the library that
175 uses single precision floating point arithmetic. It is faster but less
176 precise than the default double precision library. The library will be
177 called <filename class="libraryfile">libfftw3f.so</filename> needed by
178 <xref linkend="pulseaudio"/>.
179 </para>
180
181 <para>
182 <parameter>--enable-long-double</parameter>: This enables building the
183 library that uses higher precision long-double floating point arithmetic.
184 The library will be called <filename
185 class="libraryfile">libfftw3l.so</filename>.
186 </para>
187
188 </sect2>
189
190 <sect2 role="content">
191 <title>Contents</title>
192
193 <segmentedlist>
194 <segtitle>Installed Programs</segtitle>
195 <segtitle>Installed Libraries</segtitle>
196 <segtitle>Installed Directories</segtitle>
197
198 <seglistitem>
199 <seg>
200 fftw-wisdom and fftw-wisdom-to-conf
201 </seg>
202 <seg>
203 libfftw3.so, libfftw3_threads.so, libfftw3f.so,
204 libfftw3f_threads.so, libfftw3l.so and libfftw3l_threads.so
205 </seg>
206 <seg>
207 None
208 </seg>
209 </seglistitem>
210 </segmentedlist>
211
212 <variablelist>
213 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
214 <?dbfo list-presentation="list"?>
215 <?dbhtml list-presentation="table"?>
216
217 <varlistentry id="fftw-wisdom">
218 <term><command>fftw-wisdom</command></term>
219 <listitem>
220 <para>
221 is a utility to generate FFTW wisdom files, which contain saved
222 information about how to optimally compute (Fourier) transforms of
223 various sizes.
224 </para>
225 <indexterm zone="fftw fftw-wisdom">
226 <primary sortas="b-fftw-wisdom">fftw-wisdom</primary>
227 </indexterm>
228 </listitem>
229 </varlistentry>
230
231 <varlistentry id="fftw-wisdom-to-conf">
232 <term><command>fftw-wisdom-to-conf</command></term>
233 <listitem>
234 <para>
235 is a utility to generate C configuration routines from FFTW wisdom
236 files, where the latter contain saved information about how to
237 optimally compute (Fourier) transforms of various sizes.
238 </para>
239 <indexterm zone="fftw fftw-wisdom-to-conf">
240 <primary sortas="b-fftw-wisdom-to-conf">fftw-wisdom-to-conf</primary>
241 </indexterm>
242 </listitem>
243 </varlistentry>
244
245 <varlistentry id="libfftw3">
246 <term><filename class="libraryfile">libfftw3.so</filename></term>
247 <listitem>
248 <para>
249 is the Fast Fourier Transform library.
250 </para>
251 <indexterm zone="fftw libfftw3">
252 <primary sortas="c-libfftw3">libfftw3.so</primary>
253 </indexterm>
254 </listitem>
255 </varlistentry>
256
257 <varlistentry id="libfftw3_threads">
258 <term><filename class="libraryfile">libfftw3_threads.so</filename></term>
259 <listitem>
260 <para>
261 is the threaded Fast Fourier Transform library.
262 </para>
263 <indexterm zone="fftw libfftw3_threads">
264 <primary sortas="c-libfftw3_threads">libfftw3_threads.so</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
269 <varlistentry id="libfftw3f">
270 <term><filename class="libraryfile">libfftw3f.so</filename></term>
271 <listitem>
272 <para>
273 is the single-precision Fast Fourier Transform library, described
274 as <quote>float</quote> for historic reasons.
275 </para>
276 <indexterm zone="fftw libfftw3f">
277 <primary sortas="c-libfftw3f">libfftw3f.so</primary>
278 </indexterm>
279 </listitem>
280 </varlistentry>
281
282 <varlistentry id="libfftw3f_threads">
283 <term><filename class="libraryfile">libfftw3f_threads.so</filename></term>
284 <listitem>
285 <para>
286 is the threaded single-precision Fast Fourier Transform library.
287 </para>
288 <indexterm zone="fftw libfftw3f_threads">
289 <primary sortas="c-libfftw3f_threads">libfftw3f_threads.so</primary>
290 </indexterm>
291 </listitem>
292 </varlistentry>
293
294 <varlistentry id="libfftw3l">
295 <term><filename class="libraryfile">libfftw3l.so</filename></term>
296 <listitem>
297 <para>
298 is the long double Fast Fourier Transform library.
299 </para>
300 <indexterm zone="fftw libfftw3l">
301 <primary sortas="c-libfftw3l">libfftw3l.so</primary>
302 </indexterm>
303 </listitem>
304 </varlistentry>
305
306 <varlistentry id="libfftw3l_threads">
307 <term><filename class="libraryfile">libfftw3l_threads.so</filename></term>
308 <listitem>
309 <para>
310 is the threaded long double Fast Fourier Transform library.
311 </para>
312 <indexterm zone="fftw libfftw3l_threads">
313 <primary sortas="c-libfftw3l_threads">libfftw3l_threads.so</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 </variablelist>
319
320 </sect2>
321
322</sect1>
Note: See TracBrowser for help on using the repository browser.