Skip to content

Commit 151dab8

Browse files
committed
rename CHANGES.rst to CHANGELOG.md
1 parent caceac7 commit 151dab8

File tree

2 files changed

+192
-211
lines changed

2 files changed

+192
-211
lines changed

CHANGELOG.md

+192
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
`mkl_fft` changelog
2+
===================
3+
4+
[dev] (MM/DD/YY)
5+
================
6+
7+
SciPy interface `mkl_fft.interfaces.scipy_fft` now includes Hermitian FFT functions: `hfft`, `ihfft`, `hfftn`, `ihfftn`, `hfft2`, and `ihfft2`
8+
9+
1.3.14 (04/10/2025)
10+
===================
11+
12+
resolves gh-152 by adding an explicit `mkl-service` dependency to `mkl-fft` when building the wheel
13+
to ensure the `mkl` Python module is always available at runtime
14+
15+
resolves gh-115, gh-116, gh-119, gh-135
16+
17+
1.3.13 (03/25/2025)
18+
===================
19+
20+
Supported python versions are 3.9, 3.10, 3.11, 3.12
21+
22+
migrate from `setup.py` to `pyproject.toml`
23+
24+
includes support in virtual environment out of the box
25+
26+
the original `mkl_fft.rfft` and `mkl_fft.irfft` are renamed to `mkl_fft.rfftpack` and `mkl_fft.irfftpack`,
27+
since they replicate the behavior from the deprecated `scipy.fftpack` module.
28+
29+
`mkl_fft.rfft_numpy`, `mkl_fft.irfft_numpy`, `mkl_fft.rfft2_numpy`, `mkl_fft.irfft2_numpy`,
30+
`mkl_fft.rfftn_numpy`, and `mkl_fft.irfftn_numpy` are renamed to `mkl_fft.rfft`, `mkl_fft.irfft`,
31+
`mkl_fft.rfft2`, `mkl_fft.irfft2`, `mkl_fft.rfftn`, and `mkl_fft.irfftn`, respectively.
32+
(consistent with `numpy.fft` and `scipy.fft` modules)
33+
34+
file `_scipy_fft_backend.py` is renamed to `_scipy_fft.py` since it replicates `scipy.fft` module
35+
(similar to file `_numpy_fft.py` which replicates `numpy.fft` module)
36+
37+
1.3.11
38+
======
39+
40+
Bugfix release, resolving gh-109 and updating installation instructions
41+
42+
1.3.10
43+
======
44+
45+
Bugfix release, resolving leftover uses of NumPy attributes removed in NumPy 2.0 that break
46+
test suite run on Windows.
47+
48+
1.3.9
49+
=====
50+
51+
Updated code and build system to support NumPy 2.0
52+
53+
1.3.8
54+
=====
55+
56+
Added vendored `conv_template.py` from NumPy's distutils submodule to enable building of `mkl_fft` with
57+
NumPy >=1.25 and Python 3.12
58+
59+
1.3.7
60+
=====
61+
62+
Updated build system away from removed in NumPy 1.25 numpy.distutils module.
63+
64+
Transitioned to Cython 3.0.
65+
66+
1.3.0
67+
=====
68+
69+
Updated numpy interface to support new in NumPy 1.20 supported values of norm keyword, such as "forward" and "backward".
70+
To enable this, `mkl_fft` functions now support `forward_scale` parameter that defaults to 1.
71+
72+
Fixed issue #48.
73+
74+
1.2.1
75+
=====
76+
77+
Includes bug fix #54
78+
79+
1.2.0
80+
=====
81+
82+
Due to removal of deprecated real-to-real FFT with `DFTI_CONJUGATE_EVEN_STORAGE=DFTI_COMPLEX_REAL` and
83+
`DFTI_PACKED_FORMAT=DFTI_PACK` from Intel(R) Math Kernel Library, reimplemented `mkl_fft.rfft` and
84+
`mkl_fft.irfft` to use real-to-complex functionality with subsequent copying to rearange the transform as expected
85+
of `mkl_fft.rfft`, with the associated performance penalty. The use of the real-to-complex
86+
transform improves multi-core utilization which may offset the performance loss incurred due to copying.
87+
88+
1.1.0
89+
=====
90+
91+
Added `scipy.fft` backend, see #42. Fixed #46.
92+
93+
94+
```python
95+
>>> import numpy as np, mkl_fft, mkl_fft._scipy_fft as mkl_be, scipy, scipy.fft, mkl
96+
97+
>>> mkl.verbose(1)
98+
# True
99+
100+
>>> x = np.random.randn(8*7).reshape((7, 8))
101+
>>> with scipy.fft.set_backend(mkl_be, only=True):
102+
>>> ff = scipy.fft.fft2(x, workers=4)
103+
>>> ff2 = scipy.fft.fft2(x)
104+
# MKL_VERBOSE Intel(R) MKL 2020.0 Product build 20191102 for Intel(R) 64 architecture Intel(R) Advanced Vector Extensions 2 (Intel(R) AVX2) enabled processors, Lnx 2.40GHz intel_thread
105+
# MKL_VERBOSE FFT(drfo7:8:8x8:1:1,bScale:0.0178571,tLim:1,desc:0x5629ad31b800) 24.85ms CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:16,FFT:4
106+
107+
>>> np.allclose(ff, ff2)
108+
# True
109+
```
110+
111+
1.0.15
112+
======
113+
114+
Changed tests to not compare against numpy fft, as this broke due to renaming of `np.fft.pocketfft` to
115+
`np.fft._pocketfft`. Instead compare against naive realization of 1D FFT as a sum.
116+
117+
Setup script is now aware of `MKLROOT` environment variable. If unset, NumPy's mkl_info will be queried.
118+
119+
1.0.14
120+
======
121+
122+
Fixed unreferenced bug in `irfftn_numpy`, and adjusted NumPy interfaces to change to pocketfft in NumPy 1.17
123+
124+
1.0.13
125+
======
126+
127+
Issue #39 fixed (memory leak with complex FFT on real arrays)
128+
129+
1.0.12
130+
======
131+
Issue #37 fixed.
132+
133+
Inhibited vectorization of short loops computing pointer to memory referenced by a multi-iterator by Intel (R) C Compiler,
134+
improving performance of ND `fft` and `ifft` on real input arrays.
135+
136+
1.0.11
137+
======
138+
Improvement for performance of ND `fft` on real input arrays by inlining multi-iterators.
139+
This particularly benefits performance of mkl_fft built with Intel (R) C Compiler.
140+
141+
1.0.10
142+
======
143+
Fix for issue #29.
144+
145+
1.0.7
146+
=====
147+
Improved exception message raised if MKL is signalling an error. The message now includes MKL's own description of the exception.
148+
This partially improves #24.
149+
150+
Improved argument validation for ND transforms aligning with scipy 1.2.0
151+
152+
1.0.6
153+
=====
154+
155+
Fixed issues #21, and addressed NumPy 1.15 deprecation warnings from using lists instead of tuples to specify multiple slices.
156+
157+
1.0.5
158+
=====
159+
160+
Fixed issues #7, #17, #18.
161+
Consolidated version specification into a single file `mkl_fft/_version.py`.
162+
163+
1.0.4
164+
=====
165+
166+
Added CHANGES.rst. Fixed issue #11 by using lock around calls to 1D FFT routines.
167+
168+
1.0.3
169+
=====
170+
171+
This is a bug fix release.
172+
173+
It fixes issues #9, and #13.
174+
175+
As part of fixing issue #13, out-of-place 1D FFT calls such as `fft`, `ifft`, `rfft_numpy`
176+
and `irfftn_numpy` will allocate Fortran layout array for the output is the input is a Fotran array.
177+
178+
1.0.2
179+
=====
180+
181+
Minor update of `mkl_fft`, reflecting renaming of `numpy.core.multiarray_tests` module to
182+
`numpy.core._multiarray_tests` as well as fixing #4.
183+
184+
1.0.1
185+
=====
186+
187+
Bug fix release.
188+
189+
1.0.0
190+
=====
191+
192+
Initial release of `mkl_fft`.

0 commit comments

Comments
 (0)