source: general/genlib/fftw.xml@ bf565e06

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 xry111/llvm18 xry111/xf86-video-removal
Last change on this file since bf565e06 was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 18 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

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