Martin Kroeker [Fri, 24 Nov 2017 19:04:29 +0000 (20:04 +0100)]
Add trivially optimized dsdot based on sdot
Martin Kroeker [Fri, 24 Nov 2017 19:03:40 +0000 (20:03 +0100)]
Add trivially optimized dsdot based on sdot
Martin Kroeker [Fri, 24 Nov 2017 19:02:28 +0000 (20:02 +0100)]
Add trivially optimized dsdot based on sdot
Martin Kroeker [Fri, 24 Nov 2017 19:01:42 +0000 (20:01 +0100)]
Add trivially optimized dsdot based on sdot
Martin Kroeker [Fri, 24 Nov 2017 19:00:23 +0000 (20:00 +0100)]
Add trivially optimized dsdot based on sdot
Martin Kroeker [Fri, 24 Nov 2017 18:59:28 +0000 (19:59 +0100)]
Add trivially optimized dsdot based on sdot
martin [Fri, 24 Nov 2017 08:15:20 +0000 (09:15 +0100)]
fix location of lapacke_nancheck
martin [Fri, 24 Nov 2017 07:15:40 +0000 (08:15 +0100)]
update cmake files
martin [Thu, 23 Nov 2017 20:22:01 +0000 (21:22 +0100)]
update cmakefiles for lapack 3.8.0
martin [Thu, 23 Nov 2017 17:13:35 +0000 (18:13 +0100)]
Update LAPACK to 3.8.0
Martin Kroeker [Wed, 22 Nov 2017 20:13:41 +0000 (21:13 +0100)]
Merge pull request #1365 from xoviat/patch-1
[appveyor] use cmake from conda forge
xoviat [Wed, 22 Nov 2017 00:44:02 +0000 (18:44 -0600)]
[appveyor] use cmake from conda forge
Martin Kroeker [Sun, 19 Nov 2017 11:50:16 +0000 (12:50 +0100)]
Merge pull request #1364 from martin-frbg/shmem-init
Handle shmem init failures in cpu affinity setup code
Martin Kroeker [Sat, 18 Nov 2017 22:57:44 +0000 (23:57 +0100)]
Handle shmem init failures in cpu affinity setup code
Failures to obtain or attach shared memory segments would lead to an exit without explanation of the exact cause.
This change introduces a more verbose error message and tries to make the code continue without setting cpu affinity.
Fixes #1351
Martin Kroeker [Sat, 18 Nov 2017 22:47:17 +0000 (23:47 +0100)]
Merge pull request #1359 from brada4/develop
Eliminate mode variable where not needed in syrk interface
Martin Kroeker [Sat, 18 Nov 2017 22:46:57 +0000 (23:46 +0100)]
Merge pull request #1347 from martin-frbg/issue1322
Change CBLAS complex functions to take void pointers
Martin Kroeker [Sat, 18 Nov 2017 19:28:02 +0000 (20:28 +0100)]
Make return parameter of cblas_Xdotc_sub, cblas_Xdotu_sub a void pointer as well
Martin Kroeker [Sat, 18 Nov 2017 17:58:40 +0000 (18:58 +0100)]
Make last parameter of cblas_Xdotc_sub/cblas_Xdotu_sub a void pointer as well
Martin Kroeker [Sat, 18 Nov 2017 17:56:30 +0000 (18:56 +0100)]
Fix declaration of cblas_Xdotc_sub and cblas_Xdotu_sub
last parameter of cblas_(c,z)dotc_sub and cblas_(c,z)dotu_sub should be void* as well
Andrew [Wed, 15 Nov 2017 14:32:38 +0000 (15:32 +0100)]
Eliminate mode variable where not needed
Martin Kroeker [Wed, 15 Nov 2017 10:31:43 +0000 (11:31 +0100)]
Merge pull request #1358 from martin-frbg/unused_vars
Clean up spurious unused variables in the kernels
Martin Kroeker [Tue, 14 Nov 2017 22:35:10 +0000 (23:35 +0100)]
Remove unused variables from Haswell dtrmm and Bulldozer dtrsm
Martin Kroeker [Tue, 14 Nov 2017 22:32:25 +0000 (23:32 +0100)]
Remove unused variables at0...at3 from ?symv_U
Martin Kroeker [Tue, 14 Nov 2017 22:29:42 +0000 (23:29 +0100)]
Remove unused (loop?) variable j from the gemv_n_4 implementations
Martin Kroeker [Tue, 14 Nov 2017 22:25:50 +0000 (23:25 +0100)]
Remove unused variable btpr
Martin Kroeker [Tue, 14 Nov 2017 22:23:44 +0000 (23:23 +0100)]
Silence an unused variable warning with a cast
l2 cache size is not universally needed to assign default unrolling limits, but neither putting its declaration inside an ifdef nor cloning it into all ifdef sections that need it really makes sense here.
Martin Kroeker [Fri, 10 Nov 2017 21:16:31 +0000 (22:16 +0100)]
Merge pull request #1353 from xoviat/patch-1
[appveyor] use flang from conda-forge
Martin Kroeker [Fri, 10 Nov 2017 21:15:27 +0000 (22:15 +0100)]
Merge pull request #1356 from martin-frbg/lapack-issue196
Break out of potentially infinite rescaling loop after 1000 iterations
Martin Kroeker [Fri, 10 Nov 2017 19:02:21 +0000 (20:02 +0100)]
Break out of potentially infinite rescaling loop after 1000 iterations
Inf values in the input vector will survive rescaling, causing an infinite loop. The value of 1000 is arbitrarily chosen as a large but finite value with the intention to never interfere with regular calculations.
Martin Kroeker [Fri, 10 Nov 2017 08:11:03 +0000 (09:11 +0100)]
Merge pull request #1354 from martin-frbg/shmem
Try to handle shmget or shmat failing
Martin Kroeker [Thu, 9 Nov 2017 22:25:15 +0000 (23:25 +0100)]
Merge branch 'develop' into shmem
Martin Kroeker [Thu, 9 Nov 2017 22:20:54 +0000 (23:20 +0100)]
Merge branch 'develop' into shmem
Martin Kroeker [Thu, 9 Nov 2017 22:16:13 +0000 (23:16 +0100)]
Try to handle shmget or shmat failing
also replaces one verbatim sched_yield with the YIELDING macro for consistency as suggested in #1351
xoviat [Thu, 9 Nov 2017 21:10:02 +0000 (15:10 -0600)]
[appeyor] use flang from conda-forge
This flang will be updated in the future. We leave cmake because it's
not yet released with fortran support
Martin Kroeker [Thu, 9 Nov 2017 20:08:16 +0000 (21:08 +0100)]
Merge pull request #1352 from martin-frbg/issue1351
Output an error message when shmat() fails
Martin Kroeker [Thu, 9 Nov 2017 16:31:44 +0000 (17:31 +0100)]
Output an error message when shmat() fails
Observed in #1351 with SELinux as the likely culprit. Without the message, the user saw a segfault with no apparent reason
Martin Kroeker [Wed, 8 Nov 2017 10:40:13 +0000 (11:40 +0100)]
Merge pull request #1350 from insertinterestingnamehere/flang
WIP: Support for Flang on Windows
Isuru Fernando [Tue, 7 Nov 2017 01:00:23 +0000 (19:00 -0600)]
Fix gensymbol script
Ian Henriksen [Mon, 6 Nov 2017 21:17:24 +0000 (15:17 -0600)]
Merge pull request #1 from xoviat/patch-1
[appveyor] fixes
xoviat [Mon, 6 Nov 2017 21:05:20 +0000 (15:05 -0600)]
[appveyor] fixes
Ian Henriksen [Mon, 6 Nov 2017 20:47:27 +0000 (14:47 -0600)]
Build MATGEN LAPACK routines by default when building with CMake.
Ian Henriksen [Mon, 6 Nov 2017 20:43:33 +0000 (14:43 -0600)]
Update lapacke.cmake with routines added in LAPACK 3.7.0.
Ian Henriksen [Mon, 6 Nov 2017 20:41:02 +0000 (14:41 -0600)]
Update lapack.cmake with additional routines from LAPACK version 3.7.0.
Ian Henriksen [Mon, 6 Nov 2017 20:39:12 +0000 (14:39 -0600)]
Allow using compilers other than gfortran in conjunction with
MSVC or clang-cl.
Martin Kroeker [Sun, 5 Nov 2017 14:53:14 +0000 (15:53 +0100)]
Modify complex CBLAS functions to take void pointers
Modify complex CBLAS functions to take void pointers instead of float or double arguments (to bring the prototypes in line with netlib and other implementations' cblas.h)
Martin Kroeker [Sun, 5 Nov 2017 14:42:33 +0000 (15:42 +0100)]
Change prototypes of all complex functions to use void*
Change prototypes of complex functions to use void pointers like the other implementations of CBLAS
Martin Kroeker [Wed, 25 Oct 2017 17:13:38 +0000 (19:13 +0200)]
Merge pull request #1329 from martin-frbg/dsdot
(Trivial) optimized dsdot implementation for HASWELL
Martin Kroeker [Wed, 25 Oct 2017 14:45:41 +0000 (16:45 +0200)]
Eliminate loop code when called as/from dsdot
Martin Kroeker [Tue, 24 Oct 2017 17:50:03 +0000 (19:50 +0200)]
Merge pull request #1334 from ashwinyes/develop_aarch64_20171024_addlocallabels
ARM64: Convert all labels to local labels
Ashwin Sekhar T K [Tue, 24 Oct 2017 10:47:11 +0000 (10:47 +0000)]
ARM64: Convert all labels to local labels
While debugging/profiling applications using perf or other tools, the
kernels appear scattered in the profile reports. This is because the labels
within the kernels are not local and each label is shown as a separate
function.
To avoid this, all the labels within the kernels are changed to local
labels.
Martin Kroeker [Tue, 24 Oct 2017 09:25:03 +0000 (11:25 +0200)]
Merge pull request #1333 from martin-frbg/haswell32
Fix 32bit HASWELL builds
Martin Kroeker [Tue, 24 Oct 2017 08:07:44 +0000 (10:07 +0200)]
Fix 32bit HASWELL
Martin Kroeker [Sun, 22 Oct 2017 16:18:51 +0000 (18:18 +0200)]
Split the microkernel workload into chunks of 32 floats for dsdot mode to limit loss of precision
Martin Kroeker [Mon, 16 Oct 2017 21:29:03 +0000 (23:29 +0200)]
Add dsdot
Martin Kroeker [Mon, 16 Oct 2017 21:27:51 +0000 (23:27 +0200)]
Implement DSDOT with unchanged sdot microkernels
Martin Kroeker [Thu, 12 Oct 2017 18:26:35 +0000 (20:26 +0200)]
Merge pull request #1327 from martin-frbg/cmake-relapack
Make ReLAPACK available in cmake builds
Martin Kroeker [Thu, 12 Oct 2017 15:02:01 +0000 (17:02 +0200)]
Optionally add ReLAPACK to LIB_COMPONENTS
Martin Kroeker [Thu, 12 Oct 2017 15:00:00 +0000 (17:00 +0200)]
Add cmake build list file for ReLAPACK
Martin Kroeker [Thu, 12 Oct 2017 14:58:37 +0000 (16:58 +0200)]
Add ReLAPACK option
Martin Kroeker [Tue, 10 Oct 2017 10:14:34 +0000 (12:14 +0200)]
Merge pull request #1325 from grisuthedragon/patch-1
Update README.md to include POWER8
Martin Köhler [Tue, 10 Oct 2017 08:12:04 +0000 (10:12 +0200)]
Update README.md
Add POWER 8 to the list of additional architectures.
Martin Kroeker [Mon, 9 Oct 2017 21:34:18 +0000 (23:34 +0200)]
Cmake fixes for DYNAMIC_ARCH builds and whitespace in path names (#1323)
* prebuild.cmake: Put quotes around path names that may contain whitespace
(Copied from alexkaratakis' PR #1295)
* kernel/CMakeLists.txt: Fix common_lapack header inclusion and DYNAMIC_ARCH generation of ?neg_tcopy and ?laswp_ncopy files
* lapack/CMakeLists.txt: Use correct template for ?laswp_(plus,minus) functions
Martin Kroeker [Sun, 8 Oct 2017 21:31:33 +0000 (23:31 +0200)]
Merge pull request #1320 from timmoon10/develop
2D thread distribution for multi-threaded GEMMs
Martin Kroeker [Sun, 8 Oct 2017 21:31:06 +0000 (23:31 +0200)]
Merge pull request #1319 from martin-frbg/issue601
Fix out-of-bounds memory accesses exposed by xccblat3 testcase
Martin Kroeker [Sun, 8 Oct 2017 21:30:46 +0000 (23:30 +0200)]
Merge pull request #1317 from martin-frbg/power8-asm
Save and restore VSX registers
Martin Kroeker [Fri, 6 Oct 2017 21:51:32 +0000 (23:51 +0200)]
Comment out a code block that performs out-of-bounds memory accesses
...and does not appear to be needed even when it stays within the bounds of the array
Martin Kroeker [Fri, 6 Oct 2017 19:13:45 +0000 (21:13 +0200)]
Merge pull request #1279 from xsacha/develop
CMake improvements
Tim Moon [Wed, 4 Oct 2017 19:37:49 +0000 (12:37 -0700)]
Reduce number of data partitions in n.
Martin Kroeker [Wed, 4 Oct 2017 18:35:00 +0000 (20:35 +0200)]
Merge pull request #1316 from timmoon10/develop
Variable thread count for multi-threaded GEMMs
Tim Moon [Tue, 3 Oct 2017 23:32:08 +0000 (16:32 -0700)]
Cleaning up and documenting multi-threaded GEMM code.
Tim Moon [Tue, 3 Oct 2017 20:43:39 +0000 (13:43 -0700)]
Use 2D thread distribution for small GEMMs.
Allows maximum use of available cores if one of M and N is small and the other is large.
Martin Kroeker [Sat, 30 Sep 2017 23:06:39 +0000 (01:06 +0200)]
Fix out-of-bounds accesses where the data should be zero anyway
Martin Kroeker [Sat, 30 Sep 2017 19:31:28 +0000 (21:31 +0200)]
Merge pull request #1318 from pv/potrf-smoketest
Add trivial smoketest for xpotrf
Pauli Virtanen [Sat, 30 Sep 2017 16:40:03 +0000 (18:40 +0200)]
Add trivial smoketest for xpotrf
Tim Moon [Thu, 28 Sep 2017 19:56:29 +0000 (12:56 -0700)]
Increasing flexibility of GEMM benchmark.
m, n, and k can be set to arbitrary constants. A and B matrices can be transposed independently.
Martin Kroeker [Thu, 28 Sep 2017 10:17:09 +0000 (12:17 +0200)]
Save and restore VSX registers
Tim Moon [Thu, 28 Sep 2017 02:26:38 +0000 (19:26 -0700)]
Merge https://github.com/timmoon10/OpenBLAS into develop
Tim Moon [Thu, 28 Sep 2017 02:25:33 +0000 (19:25 -0700)]
Reducing threads for multi-threaded GEMMs on small matrices.
Martin Kroeker [Tue, 26 Sep 2017 08:34:18 +0000 (10:34 +0200)]
Merge pull request #1314 from martin-frbg/nofortran-fix-2
Rewrite NOFORTRAN conditionals
Martin Kroeker [Mon, 25 Sep 2017 21:45:14 +0000 (23:45 +0200)]
Rewrite NOFORTRAN conditionals
... so that they do not trigger accidentally when NOFORTRAN is empty/unset
Martin Kroeker [Fri, 22 Sep 2017 07:34:54 +0000 (09:34 +0200)]
Merge pull request #1310 from sva-img/develop
Added mips I6500 core
Shivraj Patil [Fri, 22 Sep 2017 06:27:43 +0000 (11:57 +0530)]
Added mips I6500 core
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Martin Kroeker [Tue, 19 Sep 2017 12:04:37 +0000 (14:04 +0200)]
Merge pull request #1308 from sebastien-villemot/develop
Add support for TARGET=ZARCH_GENERIC and TARGET=Z13
Sébastien Villemot [Tue, 19 Sep 2017 10:16:42 +0000 (12:16 +0200)]
Add support for TARGET=ZARCH_GENERIC and TARGET=Z13
Martin Kroeker [Mon, 18 Sep 2017 08:16:40 +0000 (10:16 +0200)]
Merge pull request #1304 from martin-frbg/aix-build-fixes
(Plain make) build system fixes for AIX
Martin Kroeker [Sun, 17 Sep 2017 23:29:21 +0000 (01:29 +0200)]
(Plain make) build system fixes for AIX
- retry fortran compiler test with aix-specific option if generic -m32/-m64 fails
- pass any custom ARFLAGS to lapack
- no addition of -m32/-m64 to the CFLAGS and FFLAGS on AIX
Martin Kroeker [Thu, 14 Sep 2017 19:46:26 +0000 (21:46 +0200)]
Merge pull request #1303 from martin-frbg/imatcopy-rowscols
Fix cols/rows mixup in omatcopy 2nd step for BlasTrans cases
Martin Kroeker [Thu, 14 Sep 2017 17:59:05 +0000 (19:59 +0200)]
Fix cols/rows mixup in omatcopy 2nd step for BlasTrans cases
Equivalent of #1244 (issue #899) for the non-complex cases. Fixes #1289
Martin Kroeker [Thu, 14 Sep 2017 09:54:20 +0000 (11:54 +0200)]
Merge pull request #1302 from martin-frbg/nofortran-fix
Remove default FEXTRALIBS in NOFORTRAN case
Martin Kroeker [Thu, 14 Sep 2017 07:21:04 +0000 (09:21 +0200)]
Remove default FEXTRALIBS in NOFORTRAN case
Martin Kroeker [Sat, 9 Sep 2017 21:47:17 +0000 (23:47 +0200)]
Merge pull request #1288 from quickwritereader/develop
Optimized standard Blas Level-1,2 (excluding nrm2 functions) for z13 (double precision). Issue 884
Martin Kroeker [Sat, 9 Sep 2017 21:46:27 +0000 (23:46 +0200)]
Merge pull request #1293 from embray/cygwin/install
More canonical installation on Cygwin
Martin Kroeker [Sat, 9 Sep 2017 21:41:53 +0000 (23:41 +0200)]
Merge pull request #1299 from martin-frbg/race_fixes
Fix thread data races uncovered by gcc thread sanitizer
Martin Kroeker [Sat, 9 Sep 2017 18:30:33 +0000 (20:30 +0200)]
Convert another caller of "allocation" to LOCK_COMMAND
... as the "allocation" code jumped to now does UNLOCK_COMMAND instead of blas_unlock
Martin Kroeker [Sat, 9 Sep 2017 17:07:06 +0000 (19:07 +0200)]
Fix thread data races
Martin Kroeker [Sat, 9 Sep 2017 16:58:38 +0000 (18:58 +0200)]
Fix thread data race in memory.c
Erik M. Bray [Thu, 7 Sep 2017 12:18:56 +0000 (14:18 +0200)]
More canonical installation on Cygwin:
* The DLL is named cygopenblas.dll, not libopenblas.dll
* The import lib (still called libopenblas.dll.a) is installed
Abdurrauf [Sat, 8 Apr 2017 17:51:15 +0000 (21:51 +0400)]
Optimized standard Blas Level-1,2 (excluding nrm2 functions) for z13 (double precision)
Martin Kroeker [Sun, 3 Sep 2017 11:02:10 +0000 (13:02 +0200)]
Merge pull request #1290 from martin-frbg/imatcopy
Use in-place transform shortcut only if matrix is square
Martin Kroeker [Sun, 3 Sep 2017 07:52:55 +0000 (09:52 +0200)]
Use in-place transform shortcut only if matrix is square