platform/upstream/openblas.git
6 years agoExplicitly link against libm on Android with cmake as well
Martin Kroeker [Tue, 5 Dec 2017 12:02:48 +0000 (13:02 +0100)]
Explicitly link against libm on Android with cmake as well

Patch from #1384

6 years agoMerge pull request #1372 from martin-frbg/param
Martin Kroeker [Sat, 2 Dec 2017 15:49:47 +0000 (16:49 +0100)]
Merge pull request #1372 from martin-frbg/param

Correct zgeadd_k prototype

6 years agoPrefix make jobs with travis_wait (#1378)
Martin Kroeker [Sat, 2 Dec 2017 11:59:27 +0000 (12:59 +0100)]
Prefix make jobs with travis_wait (#1378)

* Prefix make with travis_wait to prevent it getting killed for producing no output

* Extend travis_wait to 30mins for the windows build

* Trying 45 mins wait time

* Increase travis_wait time to 45 minutes for linux builds as well

6 years agoMerge pull request #1377 from isuruf/threads
Martin Kroeker [Fri, 1 Dec 2017 15:22:35 +0000 (16:22 +0100)]
Merge pull request #1377 from isuruf/threads

Allow overriding NUM_THREADS in cmake

6 years agoAllow overriding NUM_THREADS
Isuru Fernando [Fri, 1 Dec 2017 07:39:46 +0000 (01:39 -0600)]
Allow overriding NUM_THREADS

6 years agoMerge pull request #1376 from xoviat/patch-2
Martin Kroeker [Fri, 1 Dec 2017 07:11:12 +0000 (08:11 +0100)]
Merge pull request #1376 from xoviat/patch-2

[appveyor] fix test directory

6 years ago[appveyor] fix test directory
xoviat [Thu, 30 Nov 2017 22:31:09 +0000 (16:31 -0600)]
[appveyor] fix test directory

6 years agoMerge pull request #1375 from xoviat/patch-1
Martin Kroeker [Thu, 30 Nov 2017 21:43:54 +0000 (22:43 +0100)]
Merge pull request #1375 from xoviat/patch-1

[appveyor] Use out-of-tree build and cache

6 years ago[appveyor] fix syntax
xoviat [Thu, 30 Nov 2017 21:33:32 +0000 (15:33 -0600)]
[appveyor] fix syntax

6 years ago[appveyor] Use out-of-tree build and cache
xoviat [Thu, 30 Nov 2017 21:30:10 +0000 (15:30 -0600)]
[appveyor] Use out-of-tree build and cache

6 years agoMerge pull request #1373 from mc10/patch-1
Martin Kroeker [Thu, 30 Nov 2017 11:54:52 +0000 (12:54 +0100)]
Merge pull request #1373 from mc10/patch-1

README: Use the SVG Travis badge

6 years agoREADME: Use the SVG Travis badge
Kevin Ji [Wed, 29 Nov 2017 23:21:12 +0000 (15:21 -0800)]
README: Use the SVG Travis badge

6 years agoCorrect zgeadd_k prototype
Martin Kroeker [Wed, 29 Nov 2017 18:57:35 +0000 (19:57 +0100)]
Correct zgeadd_k prototype

6 years agoMerge pull request #1371 from martin-frbg/develop
Martin Kroeker [Wed, 29 Nov 2017 18:55:21 +0000 (19:55 +0100)]
Merge pull request #1371 from martin-frbg/develop

Add trivially optimized DSDOT for POWER8

6 years agoAdd trivially optimized DSDOT for POWER8
martin [Tue, 28 Nov 2017 17:38:07 +0000 (18:38 +0100)]
Add trivially optimized DSDOT for POWER8

6 years agoMerge pull request #1369 from martin-frbg/dsdot
Martin Kroeker [Tue, 28 Nov 2017 17:15:31 +0000 (18:15 +0100)]
Merge pull request #1369 from martin-frbg/dsdot

Add optimized dsdot to all other x86_64 kernels that use sdot.c

6 years agoMerge pull request #1368 from brada4/develop
Martin Kroeker [Tue, 28 Nov 2017 17:15:04 +0000 (18:15 +0100)]
Merge pull request #1368 from brada4/develop

Eliminate warnings

6 years agoMerge pull request #1366 from martin-frbg/develop
Martin Kroeker [Sun, 26 Nov 2017 18:12:00 +0000 (19:12 +0100)]
Merge pull request #1366 from martin-frbg/develop

Update LAPACK to 3.8.0

6 years agomore dead increments clang4 scan-build deadcode.deadstores
Andrew [Sun, 26 Nov 2017 16:24:08 +0000 (17:24 +0100)]
more dead increments clang4 scan-build deadcode.deadstores

6 years agoEliminate 2-8 dead increments code
Andrew [Sun, 26 Nov 2017 12:26:11 +0000 (13:26 +0100)]
Eliminate 2-8 dead increments code

6 years agoelminate unread variable, after reiteration 3 of them (clang4)
Andrew [Sat, 25 Nov 2017 01:54:37 +0000 (02:54 +0100)]
elminate unread variable, after reiteration 3 of them (clang4)

6 years agoAdd trivially optimized dsdot based on sdot
Martin Kroeker [Fri, 24 Nov 2017 19:05:27 +0000 (20:05 +0100)]
Add trivially optimized dsdot based on sdot

6 years agoAdd trivially optimized dsdot based on sdot
Martin Kroeker [Fri, 24 Nov 2017 19:04:29 +0000 (20:04 +0100)]
Add trivially optimized dsdot based on sdot

6 years agoAdd 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

6 years agoAdd 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

6 years agoAdd 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

6 years agoAdd 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

6 years agoAdd 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

6 years agoeliminate Wunused-const gcc7 warning
Andrew [Fri, 24 Nov 2017 18:13:24 +0000 (19:13 +0100)]
eliminate Wunused-const gcc7 warning

6 years agofix spurious compiler warning fix (no code change)
Andrew [Fri, 24 Nov 2017 17:39:04 +0000 (18:39 +0100)]
fix spurious compiler warning fix (no code change)

6 years agofix spurious compiler warning (no code change)
Andrew [Fri, 24 Nov 2017 17:36:37 +0000 (18:36 +0100)]
fix spurious compiler warning (no code change)

6 years agofix location of lapacke_nancheck
martin [Fri, 24 Nov 2017 08:15:20 +0000 (09:15 +0100)]
fix location of lapacke_nancheck

6 years agoupdate cmake files
martin [Fri, 24 Nov 2017 07:15:40 +0000 (08:15 +0100)]
update cmake files

6 years agoupdate cmakefiles for lapack 3.8.0
martin [Thu, 23 Nov 2017 20:22:01 +0000 (21:22 +0100)]
update cmakefiles for lapack 3.8.0

6 years agoUpdate LAPACK to 3.8.0
martin [Thu, 23 Nov 2017 17:13:35 +0000 (18:13 +0100)]
Update LAPACK to 3.8.0

6 years agoMerge pull request #1365 from xoviat/patch-1
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

6 years ago[appveyor] use cmake from conda forge
xoviat [Wed, 22 Nov 2017 00:44:02 +0000 (18:44 -0600)]
[appveyor] use cmake from conda forge

6 years agoMerge pull request #1364 from martin-frbg/shmem-init
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

6 years agoHandle 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

6 years agoMerge pull request #1359 from brada4/develop
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

6 years agoMerge pull request #1347 from martin-frbg/issue1322
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

6 years agoMake return parameter of cblas_Xdotc_sub, cblas_Xdotu_sub a void pointer as well
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

6 years agoMake last 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

6 years agoFix declaration of cblas_Xdotc_sub and cblas_Xdotu_sub
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

6 years agoEliminate mode variable where not needed
Andrew [Wed, 15 Nov 2017 14:32:38 +0000 (15:32 +0100)]
Eliminate mode variable where not needed

6 years agoMerge pull request #1358 from martin-frbg/unused_vars
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

6 years agoRemove unused variables from Haswell dtrmm and Bulldozer dtrsm
Martin Kroeker [Tue, 14 Nov 2017 22:35:10 +0000 (23:35 +0100)]
Remove unused variables from Haswell dtrmm and Bulldozer dtrsm

6 years agoRemove unused variables at0...at3 from ?symv_U
Martin Kroeker [Tue, 14 Nov 2017 22:32:25 +0000 (23:32 +0100)]
Remove unused variables at0...at3 from ?symv_U

6 years agoRemove unused (loop?) variable j from the gemv_n_4 implementations
Martin Kroeker [Tue, 14 Nov 2017 22:29:42 +0000 (23:29 +0100)]
Remove unused (loop?) variable j from the gemv_n_4 implementations

6 years agoRemove unused variable btpr
Martin Kroeker [Tue, 14 Nov 2017 22:25:50 +0000 (23:25 +0100)]
Remove unused variable btpr

6 years agoSilence an unused variable warning with a cast
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.

6 years agoMerge pull request #1353 from xoviat/patch-1
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

6 years agoMerge pull request #1356 from martin-frbg/lapack-issue196
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

6 years agoBreak 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.

6 years agoMerge pull request #1354 from martin-frbg/shmem
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

6 years agoMerge branch 'develop' into shmem
Martin Kroeker [Thu, 9 Nov 2017 22:25:15 +0000 (23:25 +0100)]
Merge branch 'develop' into shmem

6 years agoMerge branch 'develop' into shmem
Martin Kroeker [Thu, 9 Nov 2017 22:20:54 +0000 (23:20 +0100)]
Merge branch 'develop' into shmem

6 years agoTry to handle shmget or shmat failing
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

6 years ago[appeyor] use flang from conda-forge
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

6 years agoMerge pull request #1352 from martin-frbg/issue1351
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

6 years agoOutput 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

6 years agoMerge pull request #1350 from insertinterestingnamehere/flang
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

6 years agoFix gensymbol script
Isuru Fernando [Tue, 7 Nov 2017 01:00:23 +0000 (19:00 -0600)]
Fix gensymbol script

6 years agoMerge pull request #1 from xoviat/patch-1
Ian Henriksen [Mon, 6 Nov 2017 21:17:24 +0000 (15:17 -0600)]
Merge pull request #1 from xoviat/patch-1

[appveyor] fixes

6 years ago[appveyor] fixes
xoviat [Mon, 6 Nov 2017 21:05:20 +0000 (15:05 -0600)]
[appveyor] fixes

6 years agoBuild MATGEN LAPACK routines by default when building with CMake.
Ian Henriksen [Mon, 6 Nov 2017 20:47:27 +0000 (14:47 -0600)]
Build MATGEN LAPACK routines by default when building with CMake.

6 years agoUpdate lapacke.cmake with routines added in LAPACK 3.7.0.
Ian Henriksen [Mon, 6 Nov 2017 20:43:33 +0000 (14:43 -0600)]
Update lapacke.cmake with routines added in LAPACK 3.7.0.

6 years agoUpdate lapack.cmake with additional routines from LAPACK version 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.

6 years agoAllow using compilers other than gfortran in conjunction with
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.

6 years agoModify complex CBLAS functions to take void pointers
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)

6 years agoChange prototypes of all complex functions to use void*
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

6 years agoMerge pull request #1329 from martin-frbg/dsdot
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

6 years agoEliminate loop code when called as/from dsdot
Martin Kroeker [Wed, 25 Oct 2017 14:45:41 +0000 (16:45 +0200)]
Eliminate loop code when called as/from dsdot

6 years agoMerge pull request #1334 from ashwinyes/develop_aarch64_20171024_addlocallabels
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

6 years agoARM64: 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.

6 years agoMerge pull request #1333 from martin-frbg/haswell32
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

6 years agoFix 32bit HASWELL
Martin Kroeker [Tue, 24 Oct 2017 08:07:44 +0000 (10:07 +0200)]
Fix 32bit HASWELL

6 years agoSplit the microkernel workload into chunks of 32 floats for dsdot mode to limit loss...
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

6 years agoAdd dsdot
Martin Kroeker [Mon, 16 Oct 2017 21:29:03 +0000 (23:29 +0200)]
Add dsdot

6 years agoImplement DSDOT with unchanged sdot microkernels
Martin Kroeker [Mon, 16 Oct 2017 21:27:51 +0000 (23:27 +0200)]
Implement DSDOT with unchanged sdot microkernels

6 years agoMerge pull request #1327 from martin-frbg/cmake-relapack
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

6 years agoOptionally add ReLAPACK to LIB_COMPONENTS
Martin Kroeker [Thu, 12 Oct 2017 15:02:01 +0000 (17:02 +0200)]
Optionally add ReLAPACK to LIB_COMPONENTS

6 years agoAdd cmake build list file for ReLAPACK
Martin Kroeker [Thu, 12 Oct 2017 15:00:00 +0000 (17:00 +0200)]
Add cmake build list file for ReLAPACK

6 years agoAdd ReLAPACK option
Martin Kroeker [Thu, 12 Oct 2017 14:58:37 +0000 (16:58 +0200)]
Add ReLAPACK option

6 years agoMerge pull request #1325 from grisuthedragon/patch-1
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

6 years agoUpdate README.md
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.

6 years agoCmake fixes for DYNAMIC_ARCH builds and whitespace in path names (#1323)
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

6 years agoMerge pull request #1320 from timmoon10/develop
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

6 years agoMerge pull request #1319 from martin-frbg/issue601
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

6 years agoMerge pull request #1317 from martin-frbg/power8-asm
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

6 years agoComment out a code block that performs out-of-bounds memory accesses
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

6 years agoMerge pull request #1279 from xsacha/develop
Martin Kroeker [Fri, 6 Oct 2017 19:13:45 +0000 (21:13 +0200)]
Merge pull request #1279 from xsacha/develop

CMake improvements

6 years agoReduce number of data partitions in n.
Tim Moon [Wed, 4 Oct 2017 19:37:49 +0000 (12:37 -0700)]
Reduce number of data partitions in n.

6 years agoMerge pull request #1316 from timmoon10/develop
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

6 years agoCleaning up and documenting multi-threaded GEMM code.
Tim Moon [Tue, 3 Oct 2017 23:32:08 +0000 (16:32 -0700)]
Cleaning up and documenting multi-threaded GEMM code.

6 years agoUse 2D thread distribution for small GEMMs.
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.

6 years agoFix out-of-bounds accesses where the data should be zero anyway
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

6 years agoMerge pull request #1318 from pv/potrf-smoketest
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

6 years agoAdd trivial smoketest for xpotrf
Pauli Virtanen [Sat, 30 Sep 2017 16:40:03 +0000 (18:40 +0200)]
Add trivial smoketest for xpotrf

6 years agoIncreasing flexibility of GEMM benchmark.
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.