~diresu/blender/blender-command-port

« back to all changes in this revision

Viewing changes to extern/fftw/NEWS

  • Committer: theeth
  • Date: 2008-10-14 16:52:04 UTC
  • Revision ID: vcs-imports@canonical.com-20081014165204-r32w2gm6s0osvdhn
copy back trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
FFTW 3.1.2
 
2
 
 
3
* Correct bug in configure script: --enable-portable-binary option was ignored!
 
4
  Thanks to Andrew Salamon for the bug report.
 
5
 
 
6
* Threads compilation fix on AIX: prefer xlc_r to cc_r, and don't use
 
7
  either if we are using gcc.  Thanks to Guy Moebs for the bug report.
 
8
 
 
9
* Updated FAQ to note that Apple gcc 4.0.1 on MacOS/Intel is broken,
 
10
  and suggest a workaround.  configure script now detects Core/Duo arch.
 
11
 
 
12
* Use -maltivec when checking for altivec.h.  Fixes Gentoo bug #129304,
 
13
  thanks to Markus Dittrich.
 
14
 
 
15
FFTW 3.1.1
 
16
 
 
17
* Performance improvements for Intel EMT64.
 
18
 
 
19
* Performance improvements for large-size transforms with SIMD.
 
20
 
 
21
* Cycle counter support for Intel icc and Visual C++ on x86-64.
 
22
 
 
23
* In fftw-wisdom tool, replaced obsolete --impatient with --measure.
 
24
 
 
25
* Fixed compilation failure with AIX/xlc; thanks to Joseph Thomas.
 
26
 
 
27
* Windows DLL support for Fortran API (added missing __declspec(dllexport)).
 
28
 
 
29
* SSE/SSE2 code works properly (i.e. disables itself) on older 386 and 486
 
30
  CPUs lacking a CPUID instruction; thanks to Eric Korpela.
 
31
 
 
32
FFTW 3.1
 
33
 
 
34
* Faster FFTW_ESTIMATE planner.
 
35
 
 
36
* New (faster) algorithm for REDFT00/RODFT00 (type-I DCT/DST) of odd size.
 
37
 
 
38
* "4-step" algorithm for faster FFTs of very large sizes (> 2^18).
 
39
 
 
40
* Faster in-place real-data DFTs (for R2HC and HC2R r2r formats).
 
41
 
 
42
* Faster in-place non-square transpositions (FFTW uses these internally
 
43
  for in-place FFTs, and you can also perform them explicitly using
 
44
  the guru interface).
 
45
 
 
46
* Faster prime-size DFTs: implemented Bluestein's algorithm, as well
 
47
  as a zero-padded Rader variant to limit recursive use of Rader's algorithm.
 
48
 
 
49
* SIMD support for split complex arrays.
 
50
 
 
51
* Much faster Altivec/VMX performance.
 
52
 
 
53
* New fftw_set_timelimit function to specify a (rough) upper bound to the
 
54
  planning time (does not affect ESTIMATE mode).
 
55
 
 
56
* Removed --enable-3dnow support; use --enable-k7 instead.
 
57
 
 
58
* FMA (fused multiply-add) version is now included in "standard" FFTW,
 
59
  and is enabled with --enable-fma (the default on PowerPC and Itanium).
 
60
 
 
61
* Automatic detection of native architecture flag for gcc.  New
 
62
  configure options: --enable-portable-binary and --with-gcc-arch=<arch>,
 
63
  for people distributing compiled binaries of FFTW (see manual).
 
64
 
 
65
* Automatic detection of Altivec under Linux with gcc 3.4 (so that
 
66
  same binary should work on both Altivec and non-Altivec PowerPCs).
 
67
 
 
68
* Compiler-specific tweaks/flags/workarounds for gcc 3.4, xlc, HP/UX,
 
69
  Solaris/Intel.
 
70
 
 
71
* Various documentation clarifications.
 
72
 
 
73
* 64-bit clean.  (Fixes a bug affecting the split guru planner on 
 
74
  64-bit machines, reported by David Necas.)
 
75
 
 
76
* Fixed Debian bug #259612: inadvertent use of SSE instructions on
 
77
  non-SSE machines (causing a crash) for --enable-sse binaries.
 
78
 
 
79
* Fixed bug that caused HC2R transforms to destroy the input in
 
80
  certain cases, even if the user specified FFTW_PRESERVE_INPUT.
 
81
 
 
82
* Fixed bug where wisdom would be lost under rare circumstances,
 
83
  causing excessive planning time.
 
84
 
 
85
* FAQ notes bug in gcc-3.4.[1-3] that causes FFTW to crash with SSE/SSE2.
 
86
 
 
87
* Fixed accidentally exported symbol that prohibited simultaneous
 
88
  linking to double/single multithreaded FFTW (thanks to Alessio Massaro).
 
89
 
 
90
* Support Win32 threads under MinGW (thanks to Alessio Massaro).
 
91
 
 
92
* Fixed problem with building DLL under Cygwin; thanks to Stephane Fillod.
 
93
 
 
94
* Fix build failure if no Fortran compiler is found (thanks to Charles
 
95
  Radley for the bug report).
 
96
 
 
97
* Fixed compilation failure with icc 8.0 and SSE/SSE2.  Automatic
 
98
  detection of icc architecture flag (e.g. -xW).
 
99
 
 
100
* Fixed compilation with OpenMP on AIX (thanks to Greg Bauer).
 
101
 
 
102
* Fixed compilation failure on x86-64 with gcc (thanks to Orion Poplawski).
 
103
 
 
104
* Incorporated patch from FreeBSD ports (FreeBSD does not have memalign,
 
105
  but its malloc is 16-byte aligned).
 
106
 
 
107
* Cycle-counter compilation fixes for Itanium, Alpha, x86-64, Sparc,
 
108
  MacOS (thanks to Matt Boman, John Bowman, and James A. Treacy for
 
109
  reports/fixes).  Added x86-64 cycle counter for PGI compilers,
 
110
  courtesy Cristiano Calonaci.
 
111
 
 
112
* Fix compilation problem in test program due to C99 conflict.
 
113
 
 
114
* Portability fix for import_system_wisdom with djgpp (thanks to Juan
 
115
  Manuel Guerrero).
 
116
 
 
117
* Fixed compilation failure on MacOS 10.3 due to getopt conflict.
 
118
 
 
119
* Work around Visual C++ (version 6/7) bug in SSE compilation;
 
120
  thanks to Eddie Yee for his detailed report.
 
121
 
 
122
Changes from FFTW 3.1 beta 2:
 
123
 
 
124
* Several minor compilation fixes.
 
125
 
 
126
* Eliminate FFTW_TIMELIMIT flag and replace fftw_timelimit global with
 
127
  fftw_set_timelimit function.  Make wisdom work with time-limited plans.
 
128
 
 
129
Changes from FFTW 3.1 beta 1:
 
130
 
 
131
* Fixes for creating DLLs under Windows; thanks to John Pavel for his feedback.
 
132
 
 
133
* Fixed more 64-bit problems, thanks to John Pavel for the bug report.
 
134
 
 
135
* Further speed improvements for Altivec/VMX.
 
136
 
 
137
* Further speed improvements for non-square transpositions.
 
138
 
 
139
* Many minor tweaks.
 
140
 
 
141
FFTW 3.0.1
 
142
 
 
143
* Some speed improvements in SIMD code.
 
144
 
 
145
* --without-cycle-counter option is removed.  If no cycle counter is found,
 
146
  then the estimator is always used.  A --with-slow-timer option is provided
 
147
  to force the use of lower-resolution timers.
 
148
 
 
149
* Several fixes for compilation under Visual C++, with help from Stefane Ruel.
 
150
 
 
151
* Added x86 cycle counter for Visual C++, with help from Morten Nissov.
 
152
 
 
153
* Added S390 cycle counter, courtesy of James Treacy.
 
154
 
 
155
* Added missing static keyword that prevented simultaneous linkage
 
156
  of different-precision versions; thanks to Rasmus Larsen for the bug report.
 
157
 
 
158
* Corrected accidental omission of f77_wisdom.f file; thanks to Alan Watson.
 
159
 
 
160
* Support -xopenmp flag for SunOS; thanks to John Lou for the bug report.
 
161
 
 
162
* Compilation with HP/UX cc requires -Wp,-H128000 flag to increase
 
163
  preprocessor limits; thanks to Peter Vouras for the bug report.
 
164
 
 
165
* Removed non-portable use of 'tempfile' in fftw-wisdom-to-conf script;
 
166
  thanks to Nicolas Decoster for the patch.
 
167
 
 
168
* Added 'make smallcheck' target in tests/ directory, at the request of
 
169
  James Treacy.
 
170
 
 
171
FFTW 3.0
 
172
 
 
173
Major goals of this release:
 
174
 
 
175
* Speed: often 20% or more faster than FFTW 2.x, even without SIMD (see below).
 
176
 
 
177
* Complete rewrite, to make it easier to add new algorithms and transforms.
 
178
 
 
179
* New API, to support more general semantics.
 
180
 
 
181
Other enhancements:
 
182
 
 
183
* SIMD acceleration on supporting CPUs (SSE, SSE2, 3DNow!, and AltiVec).
 
184
 (With special thanks to Franz Franchetti for many experimental prototypes
 
185
  and to Stefan Kral for the vectorizing generator from fftwgel.)
 
186
 
 
187
* True in-place 1d transforms of large sizes (as well as compressed
 
188
  twiddle tables for additional memory/cache savings).
 
189
 
 
190
* More arbitrary placement of real & imaginary data, e.g. including
 
191
  interleaved (as in FFTW 2.x) as well as separate real/imag arrays.
 
192
 
 
193
* Efficient prime-size transforms of real data.
 
194
 
 
195
* Multidimensional transforms can operate on a subset of a larger matrix,
 
196
  and/or transform selected dimensions of a multidimensional array.
 
197
 
 
198
* By popular demand, simultaneous linking to double precision (fftw),
 
199
  single precision (fftwf), and long-double precision (fftwl) versions
 
200
  of FFTW is now supported.
 
201
 
 
202
* Cycle counters (on all modern CPUs) are exploited to speed planning.
 
203
 
 
204
* Efficient transforms of real even/odd arrays, a.k.a. discrete
 
205
  cosine/sine transforms (types I-IV).  (Currently work via pre/post
 
206
  processing of real transforms, ala FFTPACK, so are not optimal.)
 
207
 
 
208
* DHTs (Discrete Hartley Transforms), again via post-processing
 
209
  of real transforms (and thus suboptimal, for now).
 
210
 
 
211
* Support for linking to just those parts of FFTW that you need,
 
212
  greatly reducing the size of statically linked programs when
 
213
  only a limited set of transform sizes/types are required.
 
214
 
 
215
* Canonical global wisdom file (/etc/fftw/wisdom) on Unix, along
 
216
  with a command-line tool (fftw-wisdom) to generate/update it.
 
217
 
 
218
* Fortran API can be used with both g77 and non-g77 compilers
 
219
  simultaneously.
 
220
 
 
221
* Multi-threaded version has optional OpenMP support.
 
222
 
 
223
* Authors' good looks have greatly improved with age.
 
224
 
 
225
Changes from 3.0beta3:
 
226
 
 
227
* Separate FMA distribution to better exploit fused multiply-add instructions
 
228
  on PowerPC (and possibly other) architectures.
 
229
 
 
230
* Performance improvements via some inlining tweaks.
 
231
 
 
232
* fftw_flops now returns double arguments, not int, to avoid overflows
 
233
  for large sizes.
 
234
 
 
235
* Workarounds for automake bugs.
 
236
 
 
237
Changes from 3.0beta2:
 
238
 
 
239
* The standard REDFT00/RODFT00 (DCT-I/DST-I) algorithm (used in
 
240
  FFTPACK, NR, etcetera) turns out to have poor numerical accuracy, so
 
241
  we replaced it with a slower routine that is more accurate.
 
242
 
 
243
* The guru planner and execute functions now have two variants, one that
 
244
  takes complex arguments and one that takes separate real/imag pointers.
 
245
 
 
246
* Execute and planner routines now automatically align the stack on x86,
 
247
  in case the calling program is misaligned.
 
248
 
 
249
* README file for test program.
 
250
 
 
251
* Fixed bugs in the combination of SIMD with multi-threaded transforms.
 
252
 
 
253
* Eliminated internal fftw_threads_init function, which some people were
 
254
  calling accidentally instead of the fftw_init_threads API function.
 
255
 
 
256
* Check for -openmp flag (Intel C compiler) when --enable-openmp is used.
 
257
 
 
258
* Support AMD x86-64 SIMD and cycle counter.
 
259
 
 
260
* Support SSE2 intrinsics in forthcoming gcc 3.3.
 
261
 
 
262
Changes from 3.0beta1:
 
263
 
 
264
* Faster in-place 1d transforms of non-power-of-two sizes.
 
265
 
 
266
* SIMD improvements for in-place, multi-dimensional, and/or non-FFTW_PATIENT
 
267
  transforms.
 
268
 
 
269
* Added support for hard-coded DCT/DST/DHT codelets of small sizes; the
 
270
  default distribution only includes hard-coded size-8 DCT-II/III, however.
 
271
 
 
272
* Many minor improvements to the manual.  Added section on using the
 
273
  codelet generator to customize and enhance FFTW.
 
274
 
 
275
* The default 'make check' should now only take a few minutes; for more
 
276
  strenuous tests (which may take a day or so), do 'cd tests; make bigcheck'.
 
277
 
 
278
* fftw_print_plan is split into fftw_fprint_plan and fftw_print_plan, where
 
279
  the latter uses stdout.
 
280
 
 
281
* Fixed ability to compile with a C++ compiler.
 
282
 
 
283
* Fixed support for C99 complex type under glibc.
 
284
 
 
285
* Fixed problems with alloca under MinGW, AIX.
 
286
 
 
287
* Workaround for gcc/SPARC bug.
 
288
 
 
289
* Fixed multi-threaded initialization failure on IRIX due to lack of
 
290
  user-accessible PTHREAD_SCOPE_SYSTEM there.