Merge branch 'develop' into loongson3a
[platform/upstream/openblas.git] / Changelog.txt
1 OpenBLAS ChangeLog
2 ====================================================================
3 Version 0.2.6
4 2-Mar-2013
5 common:
6         * Improved OpenMP performance slightly. (d744c9)
7         * Improved cblas.h compatibility with Intel MKL.(#185)
8         * Fixed the overflowing bug in single thread cholesky factorization.
9         * Fixed the overflowing buffer bug of multithreading hbmv and sbmv.(#174)
10
11 x86/x86-64:
12         * Added AMD Bulldozer x86-64 S/DGEMM AVX kernels. (Thank Werner Saar)
13           We will tune the performance in future.
14         * Auto-detect Intel Xeon E7540.
15         * Fixed the overflowing buffer bug of gemv. (#173)
16         * Fixed the bug of s/cdot about invalid reading NAN on x86_64. (#189)
17
18 MIPS64:
19
20 ====================================================================
21 Version 0.2.5
22 26-Nov-2012
23 common:
24         * Added NO_SHARED flag to disable generating the shared library.
25         * Compile LAPACKE with ILP64 modle when INTERFACE64=1 (#158)
26         * Export LAPACK 3.4.2 symbols in shared library. (#147)
27         * Only detect the number of physical CPU cores on Mac OSX. (#157)
28         * Fixed NetBSD build. (#155)
29         * Fixed compilation with TARGET=GENERIC. (#160)
30 x86/x86-64:
31         * Restore the original CPU affinity when calling 
32           openblas_set_num_threads(1) (#153)
33         * Fixed a SEGFAULT bug in dgemv_t when m is very large.(#154)
34 MIPS64:
35
36 ====================================================================
37 Version 0.2.4
38 8-Oct-2012
39 common:
40         * Upgraded LAPACK to 3.4.2 version. (#145)
41         * Provided support for passing CFLAGS, FFLAGS, PFLAGS, 
42           FPFLAGS to make. (#137)
43         * f77blas.h:compatibility for compilers without C99 complex 
44           number support. (#141)
45 x86/x86-64:
46         * Added NO_AVX flag. Check OS supporting AVX on runtime. (#139)
47         * Fixed zdot incompatibility ABI issue with GCC 4.7 on 
48           Windows 32-bit. (#140)
49 MIPS64:
50         * Fixed the generation of shared library bug.
51         * Fixed the detection bug on the Loongson 3A server.
52 ====================================================================
53 Version 0.2.3
54 20-Aug-2012
55 common:
56         * Fixed LAPACK unstable bug about ?laswp. (#130)
57         * Fixed the shared library bug about unloading the library on 
58           Linux (#132).
59         * Fixed the compilation failure on BlueGene/P (TARGET=PPC440FP2)
60           Please use gcc and IBM xlf. (#134)
61 x86/x86-64:
62         * Supported goto_set_num_threads and openblas_set_num_threads 
63           APIs in Windows. They can set the number of threads on runtime.
64           
65 ====================================================================
66 Version 0.2.2
67 6-July-2012
68 common:
69         * Fixed exporting DLL functions bug on Windows/MingW
70         * Support GNU Hurd (Thank Sylvestre Ledru)
71         * Support kfreebsd kernel (Thank Sylvestre Ledru)
72 x86/x86-64:
73         * Support Intel Sandy Bridge 22nm desktop/mobile CPU
74 SPARC:
75         * Improve the detection of SPARC (Thank Sylvestre Ledru)
76
77 ====================================================================
78 Version 0.2.1
79 30-Jun-2012
80 common:
81 x86/x86-64:
82         * Fixed the SEGFAULT bug about hyper-theading
83         * Support AMD Bulldozer by using GotoBLAS2 AMD Barcelona codes
84
85 ====================================================================
86 Version 0.2.0
87 26-Jun-2012
88 common:
89         * Removed the limitation (64) of numbers of CPU cores.
90           Now, it supports 256 cores at max.
91         * Supported clang compiler.
92         * Fixed some build bugs on FreeBSD
93 x86/x86-64:
94         * Optimized Level-3 BLAS on Intel Sandy Bridge x86-64 by AVX instructions.
95           Please use gcc >= 4.6 or clang >=3.1.
96         * Support AMD Bobcat by using GotoBLAS2 AMD Barcelona codes.
97
98 ====================================================================
99 Version 0.1.1
100 29-Apr-2012
101 common:
102         * Upgraded LAPACK to 3.4.1 version. (Thank Zaheer Chothia)
103         * Supported LAPACKE, a C interface to LAPACKE. (Thank Zaheer Chothia)
104         * Fixed the build bug (MD5 and download) on Mac OSX.
105         * Auto download CUnit 2.1.2-2 from SF.net with UTEST_CHECK=1.
106         * Fxied the compatibility issue for compilers without C99 complex number
107           (e.g. Visual Studio)
108 x86/x86_64:
109         * Auto-detect Intel Sandy Bridge Core i7-3xxx & Xeon E7 Westmere-EX.
110         * Test alpha=Nan in dscale.
111         * Fixed a SEGFAULT bug in samax on x86 windows.
112         
113 ====================================================================
114 Version 0.1.0
115 23-Mar-2012
116 common:
117         * Set soname of shared library on Linux.
118         * Added LIBNAMESUFFIX flag in Makefile.rule. The user can use 
119           this flag to control the library name, e.g. libopenblas.a, 
120           libopenblas_ifort.a or libopenblas_omp.a.
121         * Added GEMM_MULTITHREAD_THRESHOLD flag in Makefile.rule.
122           The lib use single thread in GEMM function with small matrices.
123 x86/x86_64:
124         * Used GEMV SSE/SSE2 kernels on x86 32-bit.
125         * Exported CBLAS functions in Windows DLL.
126 MIPS64:
127         * Completed Level-3 BLAS optimization on Loongson 3A CPU.
128         * Improved GEMV performance on Loongson 3A CPU.
129         * Improved Level-3 BLAS performance on Loongson 3B CPU. (EXPERIMENT)
130
131 ====================================================================
132 Version 0.1 alpha2.5
133 19-Feb-2012
134 common:
135         * Fixed missing "#include <sched.h>" bug on Mac OS X.
136           Thank Mike Nolta for the patch.
137         * Upgraded LAPACK to 3.4.0 version
138         * Fixed a bug on Mac OS X. Don't require SystemStubs on OS X.
139           SystemStubs does not exist on Lion. Thank Stefan Karpinski.
140         * Improved README with using OpenMP. Check the internal threads
141           count less than or equal to omp_get_max_threads()
142 x86/x86_64:
143         * Auto-detect Intel Core i6/i7 (Sandy Bridge) CPU with Nehalem assembly kernels
144         * Fixed some bugs on MingW 64-bit including zgemv, cdot, zdot.
145
146 ====================================================================
147 Version 0.1 alpha2.4
148 18-Sep-2011
149 common:
150         * Fixed a bug about installation. The header file "fblas77.h" 
151           works fine now.
152         * Fixed #61 a building bug about setting TARGET and DYNAMIC_ARCH.
153         * Try to handle absolute path of shared library in OSX. (#57)
154           Thank Dr Kane O'Donnell.
155         * Changed the installation folder layout to $(PREFIX)/include and
156           $(PREFIX)/lib
157
158 x86/x86_64:
159         * Fixed #58 zdot/xdot SEGFAULT bug with GCC-4.6 on x86. According 
160           to i386 calling convention, The callee should remove the first 
161           hidden parameter.Thank Mr. John for this patch. 
162
163 ====================================================================
164 Version 0.1 alpha2.3
165 5-Sep-2011
166
167 x86/x86_64:
168         *  Added DTB_ENTRIES into dynamic arch setting parameters. Now, 
169            it can read DTB_ENTRIES on runtime. (Refs issue #55 on github)
170
171 ====================================================================
172 Version 0.1 alpha2.2
173 14-Jul-2011
174
175 common:
176         * Fixed a building bug when DYNAMIC_ARCH=1 & INTERFACE64=1. 
177           (Refs issue #44 on github)
178
179 ====================================================================
180 Version 0.1 alpha2.1
181 28-Jun-2011
182
183 common:
184         * Stop the build and output the error message when detecting 
185           fortran compiler failed. (Refs issue #42 on github)
186
187 ====================================================================
188 Version 0.1 alpha2
189 23-Jun-2011
190
191 common:
192         * Fixed blasint undefined bug in <cblas.h> file. Other software 
193           could include this header successfully(Refs issue #13 on github)
194         * Fixed the SEGFAULT bug on 64 cores. On SMP server, the number 
195           of CPUs or cores should be less than or equal to 64.(Refs issue #14 
196           on github)
197         * Support "void goto_set_num_threads(int num_threads)" and "void
198           openblas_set_num_threads(int num_threads)" when USE_OPENMP=1
199         * Added extern "C" to support C++. Thank Tasio for the patch(Refs 
200           issue #21 on github)
201         * Provided an error message when the arch is not supported.(Refs 
202           issue #19 on github)
203         * Fixed issue #23. Fixed a bug of f_check script about generating link flags.
204         * Added openblas_set_num_threads for Fortran.
205         * Fixed #25 a wrong result of rotmg.
206         * Fixed a bug about detecting underscore prefix in c_check.
207         * Print the wall time (cycles) with enabling FUNCTION_PROFILE
208         * Fixed #35 a build bug with NO_LAPACK=1 & DYNAMIC_ARCH=1
209         * Added install target. You can use "make install". (Refs #20)
210
211
212 x86/x86_64:
213         * Fixed #28 a wrong result of dsdot on x86_64.
214         * Fixed #32 a SEGFAULT bug of zdotc with gcc-4.6.
215         * Fixed #33 ztrmm bug on Nehalem.
216         * Walk round #27 the low performance axpy issue with small imput size & multithreads.
217
218 MIPS64:
219         * Fixed #28 a wrong result of dsdot on Loongson3A/MIPS64. 
220         * Optimized single/double precision BLAS Level3 on Loongson3A/MIPS64. (Refs #2)
221         * Optimized single/double precision axpy function on Loongson3A/MIPS64. (Refs #3)
222
223 ====================================================================
224 Version 0.1 alpha1
225 20-Mar-2011
226
227 common:
228         * Support "make  NO_LAPACK=1" to build the library without 
229           LAPACK functions.
230         * Fixed randomly SEGFAULT when nodemask==NULL with above Linux 2.6.34. 
231           Thank Mr.Ei-ji Nakama providing this patch. (Refs issue #12 on github)
232         * Added DEBUG=1 rule in Makefile.rule to build debug version.
233         * Disable compiling quad precision in reference BLAS library(netlib BLAS).
234         * Added unit testcases in utest/ subdir. Used  CUnit framework.
235         * Supported OPENBLAS_* & GOTO_* environment variables (Pleas see README)
236         * Imported GotoBLAS2 1.13 BSD version
237
238 x86/x86_64:
239         * On x86 32bits, fixed a bug in zdot_sse2.S line 191. This would casue 
240           zdotu & zdotc failures.Instead,Walk around it. (Refs issue #8 #9 on github)
241         * Modified ?axpy functions to return same netlib BLAS results 
242           when incx==0 or incy==0 (Refs issue #7 on github)
243         * Modified ?swap functions to return same netlib BLAS results 
244           when incx==0 or incy==0 (Refs issue #6 on github)
245         * Modified ?rot functions to return same netlib BLAS results 
246           when incx==0 or incy==0 (Refs issue #4 on github)
247         * Detect Intel Westmere,Intel Clarkdale and Intel Arrandale 
248           to use Nehalem codes.
249         * Fixed a typo bug about compiling dynamic ARCH library.
250 MIPS64:
251         * Improve daxpy performance on ICT Loongson 3A.
252         * Supported ICT Loongson 3A CPU (Refs issue #1 on github)
253 ====================================================================