source: general/genlib/fftw.xml@ eede1a3

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 eede1a3 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 3 years ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

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