Martin Kroeker [Sun, 3 Dec 2017 20:35:20 +0000 (21:35 +0100)]
Merge pull request #1381 from martin-frbg/ctest-warnings
Fix compiler warnings in ctest
Martin Kroeker [Sun, 3 Dec 2017 17:19:30 +0000 (18:19 +0100)]
Fix compiler warnings in ctest
Various fixes for const correctness, stray tab characters and unused labels
Martin Kroeker [Sun, 3 Dec 2017 12:04:02 +0000 (13:04 +0100)]
Merge pull request #1379 from martin-frbg/warnfix
Work around compiler warnings for unused variables
Martin Kroeker [Sat, 2 Dec 2017 21:51:58 +0000 (22:51 +0100)]
Work around compiler warnings for unused variables in the generic zgemm3m_Xcopy kernels
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
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
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
Isuru Fernando [Fri, 1 Dec 2017 07:39:46 +0000 (01:39 -0600)]
Allow overriding NUM_THREADS
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
xoviat [Thu, 30 Nov 2017 22:31:09 +0000 (16:31 -0600)]
[appveyor] fix test directory
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
xoviat [Thu, 30 Nov 2017 21:33:32 +0000 (15:33 -0600)]
[appveyor] fix syntax
xoviat [Thu, 30 Nov 2017 21:30:10 +0000 (15:30 -0600)]
[appveyor] Use out-of-tree build and cache
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
Kevin Ji [Wed, 29 Nov 2017 23:21:12 +0000 (15:21 -0800)]
README: Use the SVG Travis badge
Martin Kroeker [Wed, 29 Nov 2017 18:57:35 +0000 (19:57 +0100)]
Correct zgeadd_k prototype
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
martin [Tue, 28 Nov 2017 17:38:07 +0000 (18:38 +0100)]
Add trivially optimized DSDOT for POWER8
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
Martin Kroeker [Tue, 28 Nov 2017 17:15:04 +0000 (18:15 +0100)]
Merge pull request #1368 from brada4/develop
Eliminate warnings
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
Andrew [Sun, 26 Nov 2017 16:24:08 +0000 (17:24 +0100)]
more dead increments clang4 scan-build deadcode.deadstores
Andrew [Sun, 26 Nov 2017 12:26:11 +0000 (13:26 +0100)]
Eliminate 2-8 dead increments code
Andrew [Sat, 25 Nov 2017 01:54:37 +0000 (02:54 +0100)]
elminate unread variable, after reiteration 3 of them (clang4)
Martin Kroeker [Fri, 24 Nov 2017 19:05:27 +0000 (20:05 +0100)]
Add 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
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
Andrew [Fri, 24 Nov 2017 18:13:24 +0000 (19:13 +0100)]
eliminate Wunused-const gcc7 warning
Andrew [Fri, 24 Nov 2017 17:39:04 +0000 (18:39 +0100)]
fix spurious compiler warning fix (no code change)
Andrew [Fri, 24 Nov 2017 17:36:37 +0000 (18:36 +0100)]
fix spurious compiler warning (no code change)
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