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