source: general/genlib/fftw.xml@ adb0e74b

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 adb0e74b was adb0e74b, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Update description of fftw options

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

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