2 ====================================================================
6 * Support Open64 5.0. (#266)
7 * Add executable stack markings. (#262, Thank Sébastien Fabbro)
8 * Respect user's LDFLAGS (Thank Sébastien Fabbro)
11 * Rollback bulldozer and piledriver kernels to barcelona kernels (#263)
12 We will fix the compuational error bug in bulldozer and piledriver kernels.
14 ====================================================================
18 * Support LSB (Linux Standard Base) 4.1.
20 * Include LAPACK 3.4.2 source codes to the repo.
21 Avoid downloading at compile time.
22 * Add NO_PARALLEL_MAKE flag to disable parallel make.
23 * Create openblas_get_parallel to retrieve information which
24 parallelization model is used by OpenBLAS. (Thank grisuthedragon)
25 * Detect LLVM/Clang compiler. The default compiler is Clang on Mac OS X.
26 * Change LIBSUFFIX from .lib to .a on windows.
27 * A walk round for dtrti_U single thread bug. Replace it with LAPACK codes. (#191)
30 * Optimize c/zgemm, trsm, dgemv_n, ddot, daxpy, dcopy on
31 AMD Bulldozer. (Thank Werner Saar)
32 * Add Intel Haswell support (using Sandybridge optimizations).
34 * Add AMD Piledriver support (using Bulldozer optimizations).
35 * Fix the computational error in zgemm avx kernel on
37 * Fix the overflow bug in gemv.
38 * Fix the overflow bug in multi-threaded BLAS3, getrf when NUM_THREADS
39 is very large.(#214, #221, #246).
41 * Support loongcc (Open64 based) compiler for ICT Loongson 3A/B.
44 * Support Power7 by old Power6 kernels. (#220)
46 ====================================================================
50 * Improved OpenMP performance slightly. (d744c9)
51 * Improved cblas.h compatibility with Intel MKL.(#185)
52 * Fixed the overflowing bug in single thread cholesky factorization.
53 * Fixed the overflowing buffer bug of multithreading hbmv and sbmv.(#174)
56 * Added AMD Bulldozer x86-64 S/DGEMM AVX kernels. (Thank Werner Saar)
57 We will tune the performance in future.
58 * Auto-detect Intel Xeon E7540.
59 * Fixed the overflowing buffer bug of gemv. (#173)
60 * Fixed the bug of s/cdot about invalid reading NAN on x86_64. (#189)
64 ====================================================================
68 * Added NO_SHARED flag to disable generating the shared library.
69 * Compile LAPACKE with ILP64 modle when INTERFACE64=1 (#158)
70 * Export LAPACK 3.4.2 symbols in shared library. (#147)
71 * Only detect the number of physical CPU cores on Mac OSX. (#157)
72 * Fixed NetBSD build. (#155)
73 * Fixed compilation with TARGET=GENERIC. (#160)
75 * Restore the original CPU affinity when calling
76 openblas_set_num_threads(1) (#153)
77 * Fixed a SEGFAULT bug in dgemv_t when m is very large.(#154)
80 ====================================================================
84 * Upgraded LAPACK to 3.4.2 version. (#145)
85 * Provided support for passing CFLAGS, FFLAGS, PFLAGS,
86 FPFLAGS to make. (#137)
87 * f77blas.h:compatibility for compilers without C99 complex
88 number support. (#141)
90 * Added NO_AVX flag. Check OS supporting AVX on runtime. (#139)
91 * Fixed zdot incompatibility ABI issue with GCC 4.7 on
92 Windows 32-bit. (#140)
94 * Fixed the generation of shared library bug.
95 * Fixed the detection bug on the Loongson 3A server.
96 ====================================================================
100 * Fixed LAPACK unstable bug about ?laswp. (#130)
101 * Fixed the shared library bug about unloading the library on
103 * Fixed the compilation failure on BlueGene/P (TARGET=PPC440FP2)
104 Please use gcc and IBM xlf. (#134)
106 * Supported goto_set_num_threads and openblas_set_num_threads
107 APIs in Windows. They can set the number of threads on runtime.
109 ====================================================================
113 * Fixed exporting DLL functions bug on Windows/MingW
114 * Support GNU Hurd (Thank Sylvestre Ledru)
115 * Support kfreebsd kernel (Thank Sylvestre Ledru)
117 * Support Intel Sandy Bridge 22nm desktop/mobile CPU
119 * Improve the detection of SPARC (Thank Sylvestre Ledru)
121 ====================================================================
126 * Fixed the SEGFAULT bug about hyper-theading
127 * Support AMD Bulldozer by using GotoBLAS2 AMD Barcelona codes
129 ====================================================================
133 * Removed the limitation (64) of numbers of CPU cores.
134 Now, it supports 256 cores at max.
135 * Supported clang compiler.
136 * Fixed some build bugs on FreeBSD
138 * Optimized Level-3 BLAS on Intel Sandy Bridge x86-64 by AVX instructions.
139 Please use gcc >= 4.6 or clang >=3.1.
140 * Support AMD Bobcat by using GotoBLAS2 AMD Barcelona codes.
142 ====================================================================
146 * Upgraded LAPACK to 3.4.1 version. (Thank Zaheer Chothia)
147 * Supported LAPACKE, a C interface to LAPACKE. (Thank Zaheer Chothia)
148 * Fixed the build bug (MD5 and download) on Mac OSX.
149 * Auto download CUnit 2.1.2-2 from SF.net with UTEST_CHECK=1.
150 * Fxied the compatibility issue for compilers without C99 complex number
153 * Auto-detect Intel Sandy Bridge Core i7-3xxx & Xeon E7 Westmere-EX.
154 * Test alpha=Nan in dscale.
155 * Fixed a SEGFAULT bug in samax on x86 windows.
157 ====================================================================
161 * Set soname of shared library on Linux.
162 * Added LIBNAMESUFFIX flag in Makefile.rule. The user can use
163 this flag to control the library name, e.g. libopenblas.a,
164 libopenblas_ifort.a or libopenblas_omp.a.
165 * Added GEMM_MULTITHREAD_THRESHOLD flag in Makefile.rule.
166 The lib use single thread in GEMM function with small matrices.
168 * Used GEMV SSE/SSE2 kernels on x86 32-bit.
169 * Exported CBLAS functions in Windows DLL.
171 * Completed Level-3 BLAS optimization on Loongson 3A CPU.
172 * Improved GEMV performance on Loongson 3A CPU.
173 * Improved Level-3 BLAS performance on Loongson 3B CPU. (EXPERIMENT)
175 ====================================================================
179 * Fixed missing "#include <sched.h>" bug on Mac OS X.
180 Thank Mike Nolta for the patch.
181 * Upgraded LAPACK to 3.4.0 version
182 * Fixed a bug on Mac OS X. Don't require SystemStubs on OS X.
183 SystemStubs does not exist on Lion. Thank Stefan Karpinski.
184 * Improved README with using OpenMP. Check the internal threads
185 count less than or equal to omp_get_max_threads()
187 * Auto-detect Intel Core i6/i7 (Sandy Bridge) CPU with Nehalem assembly kernels
188 * Fixed some bugs on MingW 64-bit including zgemv, cdot, zdot.
190 ====================================================================
194 * Fixed a bug about installation. The header file "fblas77.h"
196 * Fixed #61 a building bug about setting TARGET and DYNAMIC_ARCH.
197 * Try to handle absolute path of shared library in OSX. (#57)
198 Thank Dr Kane O'Donnell.
199 * Changed the installation folder layout to $(PREFIX)/include and
203 * Fixed #58 zdot/xdot SEGFAULT bug with GCC-4.6 on x86. According
204 to i386 calling convention, The callee should remove the first
205 hidden parameter.Thank Mr. John for this patch.
207 ====================================================================
212 * Added DTB_ENTRIES into dynamic arch setting parameters. Now,
213 it can read DTB_ENTRIES on runtime. (Refs issue #55 on github)
215 ====================================================================
220 * Fixed a building bug when DYNAMIC_ARCH=1 & INTERFACE64=1.
221 (Refs issue #44 on github)
223 ====================================================================
228 * Stop the build and output the error message when detecting
229 fortran compiler failed. (Refs issue #42 on github)
231 ====================================================================
236 * Fixed blasint undefined bug in <cblas.h> file. Other software
237 could include this header successfully(Refs issue #13 on github)
238 * Fixed the SEGFAULT bug on 64 cores. On SMP server, the number
239 of CPUs or cores should be less than or equal to 64.(Refs issue #14
241 * Support "void goto_set_num_threads(int num_threads)" and "void
242 openblas_set_num_threads(int num_threads)" when USE_OPENMP=1
243 * Added extern "C" to support C++. Thank Tasio for the patch(Refs
245 * Provided an error message when the arch is not supported.(Refs
247 * Fixed issue #23. Fixed a bug of f_check script about generating link flags.
248 * Added openblas_set_num_threads for Fortran.
249 * Fixed #25 a wrong result of rotmg.
250 * Fixed a bug about detecting underscore prefix in c_check.
251 * Print the wall time (cycles) with enabling FUNCTION_PROFILE
252 * Fixed #35 a build bug with NO_LAPACK=1 & DYNAMIC_ARCH=1
253 * Added install target. You can use "make install". (Refs #20)
257 * Fixed #28 a wrong result of dsdot on x86_64.
258 * Fixed #32 a SEGFAULT bug of zdotc with gcc-4.6.
259 * Fixed #33 ztrmm bug on Nehalem.
260 * Walk round #27 the low performance axpy issue with small imput size & multithreads.
263 * Fixed #28 a wrong result of dsdot on Loongson3A/MIPS64.
264 * Optimized single/double precision BLAS Level3 on Loongson3A/MIPS64. (Refs #2)
265 * Optimized single/double precision axpy function on Loongson3A/MIPS64. (Refs #3)
267 ====================================================================
272 * Support "make NO_LAPACK=1" to build the library without
274 * Fixed randomly SEGFAULT when nodemask==NULL with above Linux 2.6.34.
275 Thank Mr.Ei-ji Nakama providing this patch. (Refs issue #12 on github)
276 * Added DEBUG=1 rule in Makefile.rule to build debug version.
277 * Disable compiling quad precision in reference BLAS library(netlib BLAS).
278 * Added unit testcases in utest/ subdir. Used CUnit framework.
279 * Supported OPENBLAS_* & GOTO_* environment variables (Pleas see README)
280 * Imported GotoBLAS2 1.13 BSD version
283 * On x86 32bits, fixed a bug in zdot_sse2.S line 191. This would casue
284 zdotu & zdotc failures.Instead,Walk around it. (Refs issue #8 #9 on github)
285 * Modified ?axpy functions to return same netlib BLAS results
286 when incx==0 or incy==0 (Refs issue #7 on github)
287 * Modified ?swap functions to return same netlib BLAS results
288 when incx==0 or incy==0 (Refs issue #6 on github)
289 * Modified ?rot functions to return same netlib BLAS results
290 when incx==0 or incy==0 (Refs issue #4 on github)
291 * Detect Intel Westmere,Intel Clarkdale and Intel Arrandale
292 to use Nehalem codes.
293 * Fixed a typo bug about compiling dynamic ARCH library.
295 * Improve daxpy performance on ICT Loongson 3A.
296 * Supported ICT Loongson 3A CPU (Refs issue #1 on github)
297 ====================================================================