2 ====================================================================
6 * Improve OpenBLASConfig.cmake. (#474, #475. Thanks, xantares.)
7 * Improve ger and gemv for small matrices by stack allocation.
8 e.g. make -DMAX_STACK_ALLOC=2048 (#482. Thanks, Jerome Robert.)
9 * Introduce openblas_get_num_threads and openblas_get_num_procs.
10 (#497. Thanks, Erik Schnetter.)
11 * Add ATLAS-style ?geadd function. (#509. Thanks, Martin Köhler.)
12 * Fix c/zsyr bug with negative incx. (#492.)
13 * Fix race condition during shutdown causing a crash in
14 gotoblas_set_affinity(). (#508. Thanks, Ton van den Heuvel.)
17 * Support AMD Streamroller.
20 * Add Cortex-A9 and Cortex-A15 targets.
22 ====================================================================
26 * Add SYMBOLPREFIX and SYMBOLSUFFIX makefile options
27 for adding a prefix or suffix to all exported symbol names
28 in the shared library.(#459, Thanks Tony Kelman)
29 * Provide OpenBLASConfig.cmake at installation.
30 * Fix Fortran compiler detection on FreeBSD.
31 (#470, Thanks Mike Nolta)
35 * Add generic kernel files for x86-64. make TARGET=GENERIC
36 * Fix a bug of sgemm kernel on Intel Sandy Bridge.
37 * Fix c_check bug on some amd64 systems. (#471, Thanks Mike Nolta)
40 * Support APM's X-Gene 1 AArch64 processors.
41 Optimize trmm and sgemm. (#465, Thanks Dave Nuechterlein)
43 ====================================================================
47 * Added CBLAS interface for ?omatcopy and ?imatcopy.
48 * Enable ?gemm3m functions.
49 * Added benchmark for ?gemm3m.
50 * Optimized multithreading lower limits.
51 * Disabled SYMM3M and HEMM3M functions
52 because of segment violations.
55 * Improved axpy and symv performance on AMD Bulldozer.
56 * Improved gemv performance on modern Intel and AMD CPUs.
58 ====================================================================
62 * Added some benchmark codes.
63 * Fix link error on Linux/musl.(Thanks Isaac Dunham)
66 * Improved s/c/zgemm performance for Intel Haswell.
67 * Improved s/d/c/zgemv performance.
68 * Support the big numa machine.(EXPERIMENT)
71 * Fix detection when cpuinfo uses "Processor". (Thanks Isaiah)
73 ====================================================================
77 * Added BLAS extensions as following.
78 s/d/c/zaxpby, s/d/c/zimatcopy, s/d/c/zomatcopy.
79 * Added OPENBLAS_CORETYPE environment for dynamic_arch. (a86d34)
80 * Added NO_AVX2 flag for old binutils. (#401)
81 * Support outputing the CPU corename on runtime.(#407)
82 * Patched LAPACK to fix bug 114, 117, 118.
83 (http://www.netlib.org/lapack/bug_list.html)
84 * Disabled ?gemm3m for a work-around fix. (#400)
86 * Fixed lots of bugs for optimized kernels on sandybridge,Haswell,
87 bulldozer, and piledriver.
88 https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List
91 * Improved LAPACK testing.
93 ====================================================================
97 * Improved the result for LAPACK testing. (#372)
98 * Installed DLL to prefix/bin instead of prefix/lib. (#366)
99 * Build import library on Windows.(#374)
101 * To improve LAPACK testing, we fallback some kernels. (#372)
102 https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List
104 ====================================================================
108 * Added OPENBLAS_VERBOSE environment variable.(#338)
109 * Make OpenBLAS thread-pool resilient to fork via pthread_atfork.
110 (#294, Thank Olivier Grisel)
114 * Detect Intel Haswell for new Macbook.
116 ====================================================================
120 * Update LAPACK to 3.5.0 version
121 * Fixed compatiable issues with Clang and Pathscale compilers.
124 * Optimization on Intel Haswell.
125 * Enable optimization kernels on AMD Bulldozer and Piledriver.
128 * Support ARMv6 and ARMv7 ISA.
129 * Optimization on ARM Cortex-A9.
131 ====================================================================
135 * Support Open64 5.0. (#266)
136 * Add executable stack markings. (#262, Thank Sébastien Fabbro)
137 * Respect user's LDFLAGS (Thank Sébastien Fabbro)
140 * Rollback bulldozer and piledriver kernels to barcelona kernels (#263)
141 We will fix the compuational error bug in bulldozer and piledriver kernels.
143 ====================================================================
147 * Support LSB (Linux Standard Base) 4.1.
149 * Include LAPACK 3.4.2 source codes to the repo.
150 Avoid downloading at compile time.
151 * Add NO_PARALLEL_MAKE flag to disable parallel make.
152 * Create openblas_get_parallel to retrieve information which
153 parallelization model is used by OpenBLAS. (Thank grisuthedragon)
154 * Detect LLVM/Clang compiler. The default compiler is Clang on Mac OS X.
155 * Change LIBSUFFIX from .lib to .a on windows.
156 * A work-around for dtrti_U single thread bug. Replace it with LAPACK codes. (#191)
159 * Optimize c/zgemm, trsm, dgemv_n, ddot, daxpy, dcopy on
160 AMD Bulldozer. (Thank Werner Saar)
161 * Add Intel Haswell support (using Sandybridge optimizations).
163 * Add AMD Piledriver support (using Bulldozer optimizations).
164 * Fix the computational error in zgemm avx kernel on
166 * Fix the overflow bug in gemv.
167 * Fix the overflow bug in multi-threaded BLAS3, getrf when NUM_THREADS
168 is very large.(#214, #221, #246).
170 * Support loongcc (Open64 based) compiler for ICT Loongson 3A/B.
173 * Support Power7 by old Power6 kernels. (#220)
175 ====================================================================
179 * Improved OpenMP performance slightly. (d744c9)
180 * Improved cblas.h compatibility with Intel MKL.(#185)
181 * Fixed the overflowing bug in single thread cholesky factorization.
182 * Fixed the overflowing buffer bug of multithreading hbmv and sbmv.(#174)
185 * Added AMD Bulldozer x86-64 S/DGEMM AVX kernels. (Thank Werner Saar)
186 We will tune the performance in future.
187 * Auto-detect Intel Xeon E7540.
188 * Fixed the overflowing buffer bug of gemv. (#173)
189 * Fixed the bug of s/cdot about invalid reading NAN on x86_64. (#189)
193 ====================================================================
197 * Added NO_SHARED flag to disable generating the shared library.
198 * Compile LAPACKE with ILP64 modle when INTERFACE64=1 (#158)
199 * Export LAPACK 3.4.2 symbols in shared library. (#147)
200 * Only detect the number of physical CPU cores on Mac OSX. (#157)
201 * Fixed NetBSD build. (#155)
202 * Fixed compilation with TARGET=GENERIC. (#160)
204 * Restore the original CPU affinity when calling
205 openblas_set_num_threads(1) (#153)
206 * Fixed a SEGFAULT bug in dgemv_t when m is very large.(#154)
209 ====================================================================
213 * Upgraded LAPACK to 3.4.2 version. (#145)
214 * Provided support for passing CFLAGS, FFLAGS, PFLAGS,
215 FPFLAGS to make. (#137)
216 * f77blas.h:compatibility for compilers without C99 complex
217 number support. (#141)
219 * Added NO_AVX flag. Check OS supporting AVX on runtime. (#139)
220 * Fixed zdot incompatibility ABI issue with GCC 4.7 on
221 Windows 32-bit. (#140)
223 * Fixed the generation of shared library bug.
224 * Fixed the detection bug on the Loongson 3A server.
225 ====================================================================
229 * Fixed LAPACK unstable bug about ?laswp. (#130)
230 * Fixed the shared library bug about unloading the library on
232 * Fixed the compilation failure on BlueGene/P (TARGET=PPC440FP2)
233 Please use gcc and IBM xlf. (#134)
235 * Supported goto_set_num_threads and openblas_set_num_threads
236 APIs in Windows. They can set the number of threads on runtime.
238 ====================================================================
242 * Fixed exporting DLL functions bug on Windows/MingW
243 * Support GNU Hurd (Thank Sylvestre Ledru)
244 * Support kfreebsd kernel (Thank Sylvestre Ledru)
246 * Support Intel Sandy Bridge 22nm desktop/mobile CPU
248 * Improve the detection of SPARC (Thank Sylvestre Ledru)
250 ====================================================================
255 * Fixed the SEGFAULT bug about hyper-theading
256 * Support AMD Bulldozer by using GotoBLAS2 AMD Barcelona codes
258 ====================================================================
262 * Removed the limitation (64) of numbers of CPU cores.
263 Now, it supports 256 cores at max.
264 * Supported clang compiler.
265 * Fixed some build bugs on FreeBSD
267 * Optimized Level-3 BLAS on Intel Sandy Bridge x86-64 by AVX instructions.
268 Please use gcc >= 4.6 or clang >=3.1.
269 * Support AMD Bobcat by using GotoBLAS2 AMD Barcelona codes.
271 ====================================================================
275 * Upgraded LAPACK to 3.4.1 version. (Thank Zaheer Chothia)
276 * Supported LAPACKE, a C interface to LAPACKE. (Thank Zaheer Chothia)
277 * Fixed the build bug (MD5 and download) on Mac OSX.
278 * Auto download CUnit 2.1.2-2 from SF.net with UTEST_CHECK=1.
279 * Fxied the compatibility issue for compilers without C99 complex number
282 * Auto-detect Intel Sandy Bridge Core i7-3xxx & Xeon E7 Westmere-EX.
283 * Test alpha=Nan in dscale.
284 * Fixed a SEGFAULT bug in samax on x86 windows.
286 ====================================================================
290 * Set soname of shared library on Linux.
291 * Added LIBNAMESUFFIX flag in Makefile.rule. The user can use
292 this flag to control the library name, e.g. libopenblas.a,
293 libopenblas_ifort.a or libopenblas_omp.a.
294 * Added GEMM_MULTITHREAD_THRESHOLD flag in Makefile.rule.
295 The lib use single thread in GEMM function with small matrices.
297 * Used GEMV SSE/SSE2 kernels on x86 32-bit.
298 * Exported CBLAS functions in Windows DLL.
300 * Completed Level-3 BLAS optimization on Loongson 3A CPU.
301 * Improved GEMV performance on Loongson 3A CPU.
302 * Improved Level-3 BLAS performance on Loongson 3B CPU. (EXPERIMENT)
304 ====================================================================
308 * Fixed missing "#include <sched.h>" bug on Mac OS X.
309 Thank Mike Nolta for the patch.
310 * Upgraded LAPACK to 3.4.0 version
311 * Fixed a bug on Mac OS X. Don't require SystemStubs on OS X.
312 SystemStubs does not exist on Lion. Thank Stefan Karpinski.
313 * Improved README with using OpenMP. Check the internal threads
314 count less than or equal to omp_get_max_threads()
316 * Auto-detect Intel Core i6/i7 (Sandy Bridge) CPU with Nehalem assembly kernels
317 * Fixed some bugs on MingW 64-bit including zgemv, cdot, zdot.
319 ====================================================================
323 * Fixed a bug about installation. The header file "fblas77.h"
325 * Fixed #61 a building bug about setting TARGET and DYNAMIC_ARCH.
326 * Try to handle absolute path of shared library in OSX. (#57)
327 Thank Dr Kane O'Donnell.
328 * Changed the installation folder layout to $(PREFIX)/include and
332 * Fixed #58 zdot/xdot SEGFAULT bug with GCC-4.6 on x86. According
333 to i386 calling convention, The callee should remove the first
334 hidden parameter.Thank Mr. John for this patch.
336 ====================================================================
341 * Added DTB_ENTRIES into dynamic arch setting parameters. Now,
342 it can read DTB_ENTRIES on runtime. (Refs issue #55 on github)
344 ====================================================================
349 * Fixed a building bug when DYNAMIC_ARCH=1 & INTERFACE64=1.
350 (Refs issue #44 on github)
352 ====================================================================
357 * Stop the build and output the error message when detecting
358 fortran compiler failed. (Refs issue #42 on github)
360 ====================================================================
365 * Fixed blasint undefined bug in <cblas.h> file. Other software
366 could include this header successfully(Refs issue #13 on github)
367 * Fixed the SEGFAULT bug on 64 cores. On SMP server, the number
368 of CPUs or cores should be less than or equal to 64.(Refs issue #14
370 * Support "void goto_set_num_threads(int num_threads)" and "void
371 openblas_set_num_threads(int num_threads)" when USE_OPENMP=1
372 * Added extern "C" to support C++. Thank Tasio for the patch(Refs
374 * Provided an error message when the arch is not supported.(Refs
376 * Fixed issue #23. Fixed a bug of f_check script about generating link flags.
377 * Added openblas_set_num_threads for Fortran.
378 * Fixed #25 a wrong result of rotmg.
379 * Fixed a bug about detecting underscore prefix in c_check.
380 * Print the wall time (cycles) with enabling FUNCTION_PROFILE
381 * Fixed #35 a build bug with NO_LAPACK=1 & DYNAMIC_ARCH=1
382 * Added install target. You can use "make install". (Refs #20)
386 * Fixed #28 a wrong result of dsdot on x86_64.
387 * Fixed #32 a SEGFAULT bug of zdotc with gcc-4.6.
388 * Fixed #33 ztrmm bug on Nehalem.
389 * Work-around #27 the low performance axpy issue with small imput size & multithreads.
392 * Fixed #28 a wrong result of dsdot on Loongson3A/MIPS64.
393 * Optimized single/double precision BLAS Level3 on Loongson3A/MIPS64. (Refs #2)
394 * Optimized single/double precision axpy function on Loongson3A/MIPS64. (Refs #3)
396 ====================================================================
401 * Support "make NO_LAPACK=1" to build the library without
403 * Fixed randomly SEGFAULT when nodemask==NULL with above Linux 2.6.34.
404 Thank Mr.Ei-ji Nakama providing this patch. (Refs issue #12 on github)
405 * Added DEBUG=1 rule in Makefile.rule to build debug version.
406 * Disable compiling quad precision in reference BLAS library(netlib BLAS).
407 * Added unit testcases in utest/ subdir. Used CUnit framework.
408 * Supported OPENBLAS_* & GOTO_* environment variables (Pleas see README)
409 * Imported GotoBLAS2 1.13 BSD version
412 * On x86 32bits, fixed a bug in zdot_sse2.S line 191. This would casue
413 zdotu & zdotc failures. Instead, work-around it. (Refs issue #8 #9 on github)
414 * Modified ?axpy functions to return same netlib BLAS results
415 when incx==0 or incy==0 (Refs issue #7 on github)
416 * Modified ?swap functions to return same netlib BLAS results
417 when incx==0 or incy==0 (Refs issue #6 on github)
418 * Modified ?rot functions to return same netlib BLAS results
419 when incx==0 or incy==0 (Refs issue #4 on github)
420 * Detect Intel Westmere,Intel Clarkdale and Intel Arrandale
421 to use Nehalem codes.
422 * Fixed a typo bug about compiling dynamic ARCH library.
424 * Improve daxpy performance on ICT Loongson 3A.
425 * Supported ICT Loongson 3A CPU (Refs issue #1 on github)
426 ====================================================================