You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Changelog.txt 15 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. OpenBLAS ChangeLog
  2. ====================================================================
  3. Version 0.2.13
  4. 3-Dec-2014
  5. common:
  6. * Add SYMBOLPREFIX and SYMBOLSUFFIX makefile options
  7. for adding a prefix or suffix to all exported symbol names
  8. in the shared library.(#459, Thanks Tony Kelman)
  9. * Provide OpenBLASConfig.cmake at installation.
  10. * Fix Fortran compiler detection on FreeBSD.
  11. (#470, Thanks Mike Nolta)
  12. x86/x86-64:
  13. * Add generic kernel files for x86-64. make TARGET=GENERIC
  14. * Fix a bug of sgemm kernel on Intel Sandy Bridge.
  15. * Fix c_check bug on some amd64 systems. (#471, Thanks Mike Nolta)
  16. ARM:
  17. * Support APM's X-Gene 1 AArch64 processors.
  18. Optimize trmm and sgemm. (#465, Thanks Dave Nuechterlein)
  19. ====================================================================
  20. Version 0.2.12
  21. 13-Oct-2014
  22. common:
  23. * Added CBLAS interface for ?omatcopy and ?imatcopy.
  24. * Enable ?gemm3m functions.
  25. * Added benchmark for ?gemm3m.
  26. * Optimized multithreading lower limits.
  27. * Disabled SYMM3M and HEMM3M functions
  28. because of segment violations.
  29. x86/x86-64:
  30. * Improved axpy and symv performance on AMD Bulldozer.
  31. * Improved gemv performance on modern Intel and AMD CPUs.
  32. ====================================================================
  33. Version 0.2.11
  34. 18-Aug-2014
  35. common:
  36. * Added some benchmark codes.
  37. * Fix link error on Linux/musl.(Thanks Isaac Dunham)
  38. x86/x86-64:
  39. * Improved s/c/zgemm performance for Intel Haswell.
  40. * Improved s/d/c/zgemv performance.
  41. * Support the big numa machine.(EXPERIMENT)
  42. ARM:
  43. * Fix detection when cpuinfo uses "Processor". (Thanks Isaiah)
  44. ====================================================================
  45. Version 0.2.10
  46. 16-Jul-2014
  47. common:
  48. * Added BLAS extensions as following.
  49. s/d/c/zaxpby, s/d/c/zimatcopy, s/d/c/zomatcopy.
  50. * Added OPENBLAS_CORETYPE environment for dynamic_arch. (a86d34)
  51. * Added NO_AVX2 flag for old binutils. (#401)
  52. * Support outputing the CPU corename on runtime.(#407)
  53. * Patched LAPACK to fix bug 114, 117, 118.
  54. (http://www.netlib.org/lapack/bug_list.html)
  55. * Disabled ?gemm3m for a work-around fix. (#400)
  56. x86/x86-64:
  57. * Fixed lots of bugs for optimized kernels on sandybridge,Haswell,
  58. bulldozer, and piledriver.
  59. https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List
  60. ARM:
  61. * Improved LAPACK testing.
  62. ====================================================================
  63. Version 0.2.9
  64. 10-Jun-2014
  65. common:
  66. * Improved the result for LAPACK testing. (#372)
  67. * Installed DLL to prefix/bin instead of prefix/lib. (#366)
  68. * Build import library on Windows.(#374)
  69. x86/x86-64:
  70. * To improve LAPACK testing, we fallback some kernels. (#372)
  71. https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List
  72. ====================================================================
  73. Version 0.2.9.rc2
  74. 06-Mar-2014
  75. common:
  76. * Added OPENBLAS_VERBOSE environment variable.(#338)
  77. * Make OpenBLAS thread-pool resilient to fork via pthread_atfork.
  78. (#294, Thank Olivier Grisel)
  79. * Rewrote rotmg
  80. * Fixed sdsdot bug.
  81. x86/x86-64:
  82. * Detect Intel Haswell for new Macbook.
  83. ====================================================================
  84. Version 0.2.9.rc1
  85. 13-Jan-2013
  86. common:
  87. * Update LAPACK to 3.5.0 version
  88. * Fixed compatiable issues with Clang and Pathscale compilers.
  89. x86/x86-64:
  90. * Optimization on Intel Haswell.
  91. * Enable optimization kernels on AMD Bulldozer and Piledriver.
  92. ARM:
  93. * Support ARMv6 and ARMv7 ISA.
  94. * Optimization on ARM Cortex-A9.
  95. ====================================================================
  96. Version 0.2.8
  97. 01-Aug-2013
  98. common:
  99. * Support Open64 5.0. (#266)
  100. * Add executable stack markings. (#262, Thank Sébastien Fabbro)
  101. * Respect user's LDFLAGS (Thank Sébastien Fabbro)
  102. x86/x86-64:
  103. * Rollback bulldozer and piledriver kernels to barcelona kernels (#263)
  104. We will fix the compuational error bug in bulldozer and piledriver kernels.
  105. ====================================================================
  106. Version 0.2.7
  107. 20-Jul-2013
  108. common:
  109. * Support LSB (Linux Standard Base) 4.1.
  110. e.g. make CC=lsbcc
  111. * Include LAPACK 3.4.2 source codes to the repo.
  112. Avoid downloading at compile time.
  113. * Add NO_PARALLEL_MAKE flag to disable parallel make.
  114. * Create openblas_get_parallel to retrieve information which
  115. parallelization model is used by OpenBLAS. (Thank grisuthedragon)
  116. * Detect LLVM/Clang compiler. The default compiler is Clang on Mac OS X.
  117. * Change LIBSUFFIX from .lib to .a on windows.
  118. * A work-around for dtrti_U single thread bug. Replace it with LAPACK codes. (#191)
  119. x86/x86-64:
  120. * Optimize c/zgemm, trsm, dgemv_n, ddot, daxpy, dcopy on
  121. AMD Bulldozer. (Thank Werner Saar)
  122. * Add Intel Haswell support (using Sandybridge optimizations).
  123. (Thank Dan Luu)
  124. * Add AMD Piledriver support (using Bulldozer optimizations).
  125. * Fix the computational error in zgemm avx kernel on
  126. Sandybridge. (#237)
  127. * Fix the overflow bug in gemv.
  128. * Fix the overflow bug in multi-threaded BLAS3, getrf when NUM_THREADS
  129. is very large.(#214, #221, #246).
  130. MIPS64:
  131. * Support loongcc (Open64 based) compiler for ICT Loongson 3A/B.
  132. Power:
  133. * Support Power7 by old Power6 kernels. (#220)
  134. ====================================================================
  135. Version 0.2.6
  136. 2-Mar-2013
  137. common:
  138. * Improved OpenMP performance slightly. (d744c9)
  139. * Improved cblas.h compatibility with Intel MKL.(#185)
  140. * Fixed the overflowing bug in single thread cholesky factorization.
  141. * Fixed the overflowing buffer bug of multithreading hbmv and sbmv.(#174)
  142. x86/x86-64:
  143. * Added AMD Bulldozer x86-64 S/DGEMM AVX kernels. (Thank Werner Saar)
  144. We will tune the performance in future.
  145. * Auto-detect Intel Xeon E7540.
  146. * Fixed the overflowing buffer bug of gemv. (#173)
  147. * Fixed the bug of s/cdot about invalid reading NAN on x86_64. (#189)
  148. MIPS64:
  149. ====================================================================
  150. Version 0.2.5
  151. 26-Nov-2012
  152. common:
  153. * Added NO_SHARED flag to disable generating the shared library.
  154. * Compile LAPACKE with ILP64 modle when INTERFACE64=1 (#158)
  155. * Export LAPACK 3.4.2 symbols in shared library. (#147)
  156. * Only detect the number of physical CPU cores on Mac OSX. (#157)
  157. * Fixed NetBSD build. (#155)
  158. * Fixed compilation with TARGET=GENERIC. (#160)
  159. x86/x86-64:
  160. * Restore the original CPU affinity when calling
  161. openblas_set_num_threads(1) (#153)
  162. * Fixed a SEGFAULT bug in dgemv_t when m is very large.(#154)
  163. MIPS64:
  164. ====================================================================
  165. Version 0.2.4
  166. 8-Oct-2012
  167. common:
  168. * Upgraded LAPACK to 3.4.2 version. (#145)
  169. * Provided support for passing CFLAGS, FFLAGS, PFLAGS,
  170. FPFLAGS to make. (#137)
  171. * f77blas.h:compatibility for compilers without C99 complex
  172. number support. (#141)
  173. x86/x86-64:
  174. * Added NO_AVX flag. Check OS supporting AVX on runtime. (#139)
  175. * Fixed zdot incompatibility ABI issue with GCC 4.7 on
  176. Windows 32-bit. (#140)
  177. MIPS64:
  178. * Fixed the generation of shared library bug.
  179. * Fixed the detection bug on the Loongson 3A server.
  180. ====================================================================
  181. Version 0.2.3
  182. 20-Aug-2012
  183. common:
  184. * Fixed LAPACK unstable bug about ?laswp. (#130)
  185. * Fixed the shared library bug about unloading the library on
  186. Linux (#132).
  187. * Fixed the compilation failure on BlueGene/P (TARGET=PPC440FP2)
  188. Please use gcc and IBM xlf. (#134)
  189. x86/x86-64:
  190. * Supported goto_set_num_threads and openblas_set_num_threads
  191. APIs in Windows. They can set the number of threads on runtime.
  192. ====================================================================
  193. Version 0.2.2
  194. 6-July-2012
  195. common:
  196. * Fixed exporting DLL functions bug on Windows/MingW
  197. * Support GNU Hurd (Thank Sylvestre Ledru)
  198. * Support kfreebsd kernel (Thank Sylvestre Ledru)
  199. x86/x86-64:
  200. * Support Intel Sandy Bridge 22nm desktop/mobile CPU
  201. SPARC:
  202. * Improve the detection of SPARC (Thank Sylvestre Ledru)
  203. ====================================================================
  204. Version 0.2.1
  205. 30-Jun-2012
  206. common:
  207. x86/x86-64:
  208. * Fixed the SEGFAULT bug about hyper-theading
  209. * Support AMD Bulldozer by using GotoBLAS2 AMD Barcelona codes
  210. ====================================================================
  211. Version 0.2.0
  212. 26-Jun-2012
  213. common:
  214. * Removed the limitation (64) of numbers of CPU cores.
  215. Now, it supports 256 cores at max.
  216. * Supported clang compiler.
  217. * Fixed some build bugs on FreeBSD
  218. x86/x86-64:
  219. * Optimized Level-3 BLAS on Intel Sandy Bridge x86-64 by AVX instructions.
  220. Please use gcc >= 4.6 or clang >=3.1.
  221. * Support AMD Bobcat by using GotoBLAS2 AMD Barcelona codes.
  222. ====================================================================
  223. Version 0.1.1
  224. 29-Apr-2012
  225. common:
  226. * Upgraded LAPACK to 3.4.1 version. (Thank Zaheer Chothia)
  227. * Supported LAPACKE, a C interface to LAPACKE. (Thank Zaheer Chothia)
  228. * Fixed the build bug (MD5 and download) on Mac OSX.
  229. * Auto download CUnit 2.1.2-2 from SF.net with UTEST_CHECK=1.
  230. * Fxied the compatibility issue for compilers without C99 complex number
  231. (e.g. Visual Studio)
  232. x86/x86_64:
  233. * Auto-detect Intel Sandy Bridge Core i7-3xxx & Xeon E7 Westmere-EX.
  234. * Test alpha=Nan in dscale.
  235. * Fixed a SEGFAULT bug in samax on x86 windows.
  236. ====================================================================
  237. Version 0.1.0
  238. 23-Mar-2012
  239. common:
  240. * Set soname of shared library on Linux.
  241. * Added LIBNAMESUFFIX flag in Makefile.rule. The user can use
  242. this flag to control the library name, e.g. libopenblas.a,
  243. libopenblas_ifort.a or libopenblas_omp.a.
  244. * Added GEMM_MULTITHREAD_THRESHOLD flag in Makefile.rule.
  245. The lib use single thread in GEMM function with small matrices.
  246. x86/x86_64:
  247. * Used GEMV SSE/SSE2 kernels on x86 32-bit.
  248. * Exported CBLAS functions in Windows DLL.
  249. MIPS64:
  250. * Completed Level-3 BLAS optimization on Loongson 3A CPU.
  251. * Improved GEMV performance on Loongson 3A CPU.
  252. * Improved Level-3 BLAS performance on Loongson 3B CPU. (EXPERIMENT)
  253. ====================================================================
  254. Version 0.1 alpha2.5
  255. 19-Feb-2012
  256. common:
  257. * Fixed missing "#include <sched.h>" bug on Mac OS X.
  258. Thank Mike Nolta for the patch.
  259. * Upgraded LAPACK to 3.4.0 version
  260. * Fixed a bug on Mac OS X. Don't require SystemStubs on OS X.
  261. SystemStubs does not exist on Lion. Thank Stefan Karpinski.
  262. * Improved README with using OpenMP. Check the internal threads
  263. count less than or equal to omp_get_max_threads()
  264. x86/x86_64:
  265. * Auto-detect Intel Core i6/i7 (Sandy Bridge) CPU with Nehalem assembly kernels
  266. * Fixed some bugs on MingW 64-bit including zgemv, cdot, zdot.
  267. ====================================================================
  268. Version 0.1 alpha2.4
  269. 18-Sep-2011
  270. common:
  271. * Fixed a bug about installation. The header file "fblas77.h"
  272. works fine now.
  273. * Fixed #61 a building bug about setting TARGET and DYNAMIC_ARCH.
  274. * Try to handle absolute path of shared library in OSX. (#57)
  275. Thank Dr Kane O'Donnell.
  276. * Changed the installation folder layout to $(PREFIX)/include and
  277. $(PREFIX)/lib
  278. x86/x86_64:
  279. * Fixed #58 zdot/xdot SEGFAULT bug with GCC-4.6 on x86. According
  280. to i386 calling convention, The callee should remove the first
  281. hidden parameter.Thank Mr. John for this patch.
  282. ====================================================================
  283. Version 0.1 alpha2.3
  284. 5-Sep-2011
  285. x86/x86_64:
  286. * Added DTB_ENTRIES into dynamic arch setting parameters. Now,
  287. it can read DTB_ENTRIES on runtime. (Refs issue #55 on github)
  288. ====================================================================
  289. Version 0.1 alpha2.2
  290. 14-Jul-2011
  291. common:
  292. * Fixed a building bug when DYNAMIC_ARCH=1 & INTERFACE64=1.
  293. (Refs issue #44 on github)
  294. ====================================================================
  295. Version 0.1 alpha2.1
  296. 28-Jun-2011
  297. common:
  298. * Stop the build and output the error message when detecting
  299. fortran compiler failed. (Refs issue #42 on github)
  300. ====================================================================
  301. Version 0.1 alpha2
  302. 23-Jun-2011
  303. common:
  304. * Fixed blasint undefined bug in <cblas.h> file. Other software
  305. could include this header successfully(Refs issue #13 on github)
  306. * Fixed the SEGFAULT bug on 64 cores. On SMP server, the number
  307. of CPUs or cores should be less than or equal to 64.(Refs issue #14
  308. on github)
  309. * Support "void goto_set_num_threads(int num_threads)" and "void
  310. openblas_set_num_threads(int num_threads)" when USE_OPENMP=1
  311. * Added extern "C" to support C++. Thank Tasio for the patch(Refs
  312. issue #21 on github)
  313. * Provided an error message when the arch is not supported.(Refs
  314. issue #19 on github)
  315. * Fixed issue #23. Fixed a bug of f_check script about generating link flags.
  316. * Added openblas_set_num_threads for Fortran.
  317. * Fixed #25 a wrong result of rotmg.
  318. * Fixed a bug about detecting underscore prefix in c_check.
  319. * Print the wall time (cycles) with enabling FUNCTION_PROFILE
  320. * Fixed #35 a build bug with NO_LAPACK=1 & DYNAMIC_ARCH=1
  321. * Added install target. You can use "make install". (Refs #20)
  322. x86/x86_64:
  323. * Fixed #28 a wrong result of dsdot on x86_64.
  324. * Fixed #32 a SEGFAULT bug of zdotc with gcc-4.6.
  325. * Fixed #33 ztrmm bug on Nehalem.
  326. * Work-around #27 the low performance axpy issue with small imput size & multithreads.
  327. MIPS64:
  328. * Fixed #28 a wrong result of dsdot on Loongson3A/MIPS64.
  329. * Optimized single/double precision BLAS Level3 on Loongson3A/MIPS64. (Refs #2)
  330. * Optimized single/double precision axpy function on Loongson3A/MIPS64. (Refs #3)
  331. ====================================================================
  332. Version 0.1 alpha1
  333. 20-Mar-2011
  334. common:
  335. * Support "make NO_LAPACK=1" to build the library without
  336. LAPACK functions.
  337. * Fixed randomly SEGFAULT when nodemask==NULL with above Linux 2.6.34.
  338. Thank Mr.Ei-ji Nakama providing this patch. (Refs issue #12 on github)
  339. * Added DEBUG=1 rule in Makefile.rule to build debug version.
  340. * Disable compiling quad precision in reference BLAS library(netlib BLAS).
  341. * Added unit testcases in utest/ subdir. Used CUnit framework.
  342. * Supported OPENBLAS_* & GOTO_* environment variables (Pleas see README)
  343. * Imported GotoBLAS2 1.13 BSD version
  344. x86/x86_64:
  345. * On x86 32bits, fixed a bug in zdot_sse2.S line 191. This would casue
  346. zdotu & zdotc failures. Instead, work-around it. (Refs issue #8 #9 on github)
  347. * Modified ?axpy functions to return same netlib BLAS results
  348. when incx==0 or incy==0 (Refs issue #7 on github)
  349. * Modified ?swap functions to return same netlib BLAS results
  350. when incx==0 or incy==0 (Refs issue #6 on github)
  351. * Modified ?rot functions to return same netlib BLAS results
  352. when incx==0 or incy==0 (Refs issue #4 on github)
  353. * Detect Intel Westmere,Intel Clarkdale and Intel Arrandale
  354. to use Nehalem codes.
  355. * Fixed a typo bug about compiling dynamic ARCH library.
  356. MIPS64:
  357. * Improve daxpy performance on ICT Loongson 3A.
  358. * Supported ICT Loongson 3A CPU (Refs issue #1 on github)
  359. ====================================================================