platform/upstream/openblas.git
6 years agoMerge pull request #6 from xianyi/develop
Martin Kroeker [Sat, 6 Oct 2018 12:36:36 +0000 (14:36 +0200)]
Merge pull request #6 from xianyi/develop

merge develop

6 years agoAdd SYMBOLPREFIX and -SUFFIX options and improve help output
Martin Kroeker [Sat, 6 Oct 2018 12:28:04 +0000 (14:28 +0200)]
Add SYMBOLPREFIX and -SUFFIX options and improve help output

6 years agoMerge pull request #1789 from brada4/develop
Martin Kroeker [Fri, 5 Oct 2018 18:42:37 +0000 (20:42 +0200)]
Merge pull request #1789 from brada4/develop

update travis alpine chroot with avx512 intrinsics headers

6 years agoMerge pull request #1788 from fenrus75/avx512-8x16
Martin Kroeker [Fri, 5 Oct 2018 18:40:38 +0000 (20:40 +0200)]
Merge pull request #1788 from fenrus75/avx512-8x16

skylake dgemm: Add a 16x8 kernel

6 years agoAdd a 24x8 kernel to the skylakex dgemm implementation
Arjan van de Ven [Fri, 5 Oct 2018 13:22:21 +0000 (13:22 +0000)]
Add a 24x8 kernel to the skylakex dgemm implementation

Minor gains for small matrixes, but at 512x512 and above the gain
gets more significant.

6 years agoskylake dgemm: Add a 16x8 kernel
Arjan van de Ven [Fri, 5 Oct 2018 11:49:43 +0000 (11:49 +0000)]
skylake dgemm: Add a 16x8 kernel

The next step for the avx512 dgemm code is adding a 16x8 kernel.
In the 8x8 kernel, each FMA has a matching load (the broadcast);
in the 16x8 kernel we can reuse this load for 2 FMAs, which
in turn reduces pressure on the load ports of the CPU and gives
a nice performance boost (in the 25% range).

6 years agoupdate travis alpine chroot with avx512 intrinsics headers
Andrew [Fri, 5 Oct 2018 12:47:55 +0000 (15:47 +0300)]
update travis alpine chroot with avx512 intrinsics headers

6 years agoupdate travis alpine chroot with avx512 intrinsics headers
Andrew [Fri, 5 Oct 2018 12:41:52 +0000 (15:41 +0300)]
update travis alpine chroot with avx512 intrinsics headers

6 years agoMerge pull request #1785 from brada4/develop
Martin Kroeker [Fri, 5 Oct 2018 06:25:38 +0000 (08:25 +0200)]
Merge pull request #1785 from brada4/develop

address #1782 2nd loop

6 years agoMerge pull request #1784 from fenrus75/dgemm-avx512
Martin Kroeker [Fri, 5 Oct 2018 06:03:27 +0000 (08:03 +0200)]
Merge pull request #1784 from fenrus75/dgemm-avx512

Create a AVX512 enabled version of DGEMM

6 years agoFunction name needs to be CNAME, set from outside to allow suffixing for dynamic_arch
Martin Kroeker [Thu, 4 Oct 2018 17:14:59 +0000 (19:14 +0200)]
Function name needs to be CNAME, set from outside to allow suffixing for dynamic_arch

6 years agoMerge pull request #1787 from jeromerobert/develop
Martin Kroeker [Thu, 4 Oct 2018 16:41:47 +0000 (18:41 +0200)]
Merge pull request #1787 from jeromerobert/develop

Fix unknown type name __WAIT_STATUS on RHEL5

6 years agoFix unknown type name __WAIT_STATUS on RHEL5
Jerome Robert [Thu, 4 Oct 2018 10:27:44 +0000 (12:27 +0200)]
Fix unknown type name __WAIT_STATUS on RHEL5

With glibc 2.5 one must have #define _XOPEN_SOURCE >= 500 to use wait.
But reading glibc code this is actually needed only if stdlib.h was
included before sys/wait.h. This was the case here through
openblas_utest.h. So changing include fix compilation on RHEL5 and
should ne hurt with more recent distro.

* Problem found when using with gcc 5.5 and 4.7.2 on RHEL5/CENTOS5
* Fix #1519

6 years agoMerge pull request #1786 from martin-frbg/immintrin
Martin Kroeker [Thu, 4 Oct 2018 07:07:09 +0000 (09:07 +0200)]
Merge pull request #1786 from martin-frbg/immintrin

Check for Immintrin.h presence in the AVX512 compatibility test as well

6 years agoCheck availability of immintrin.h in the AVX512 compatibility test
Martin Kroeker [Thu, 4 Oct 2018 05:36:49 +0000 (07:36 +0200)]
Check availability of immintrin.h in the AVX512 compatibility test

6 years agoCheck availability of immintrin.h in the AVX512 compatibility test
Martin Kroeker [Thu, 4 Oct 2018 05:35:30 +0000 (07:35 +0200)]
Check availability of immintrin.h in the AVX512 compatibility test

6 years agoaddress #1782 2nd loop
Andrew [Wed, 3 Oct 2018 19:20:50 +0000 (21:20 +0200)]
address #1782 2nd loop

6 years agoCreate a AVX512 enabled version of DGEMM
Arjan van de Ven [Wed, 3 Oct 2018 14:45:25 +0000 (14:45 +0000)]
Create a AVX512 enabled version of DGEMM

This patch adds dgemm_kernel_4x8_skylakex.c which is
* dgemm_kernel_4x8_haswell.s converted to C + intrinsics
* 8x8 support added
* 8x8 kernel implemented using AVX512

Performance is a work in progress, but already shows a 10% - 20%
increase for a wide range of matrix sizes.

6 years agoMerge pull request #1780 from martin-frbg/issue1774-2
Martin Kroeker [Sat, 29 Sep 2018 07:27:47 +0000 (09:27 +0200)]
Merge pull request #1780 from martin-frbg/issue1774-2

Convert fldmia/fstmia instructions to UAL syntax for clang7

6 years agoConvert fldmia/fstmia instructions to UAL syntax for clang7
Martin Kroeker [Fri, 28 Sep 2018 21:05:15 +0000 (23:05 +0200)]
Convert fldmia/fstmia instructions to UAL syntax for clang7

second part of fix for #1774, containing files missed in #1775

6 years agoMerge pull request #1778 from fengrl/develop
Martin Kroeker [Wed, 26 Sep 2018 09:14:58 +0000 (11:14 +0200)]
Merge pull request #1778 from fengrl/develop

test_axpy work error on LOONGSON3A platform #1777

6 years agotest_axpy work error on LOONGSON3A platform #1777
fengruilin [Wed, 26 Sep 2018 07:14:04 +0000 (15:14 +0800)]
test_axpy work error on LOONGSON3A platform #1777

6 years agoMerge pull request #1775 from martin-frbg/issue1774
Martin Kroeker [Tue, 25 Sep 2018 16:58:39 +0000 (18:58 +0200)]
Merge pull request #1775 from martin-frbg/issue1774

Convert fldmia/fstmia instructions to UAL syntax for clang7

6 years agoConvert fldmia/fstmia instructions to UAL syntax for clang7
Martin Kroeker [Tue, 25 Sep 2018 07:41:58 +0000 (09:41 +0200)]
Convert fldmia/fstmia instructions to UAL syntax for clang7

fixes #1774

6 years agoMerge pull request #1773 from martin-frbg/issue1767
Martin Kroeker [Sun, 23 Sep 2018 21:25:15 +0000 (23:25 +0200)]
Merge pull request #1773 from martin-frbg/issue1767

Include thread numbers in failure message from blas_thread_init

6 years agoInclude thread numbers in failure message from blas_thread_init
Martin Kroeker [Sat, 22 Sep 2018 12:00:15 +0000 (14:00 +0200)]
Include thread numbers in failure message from blas_thread_init

to aid in debugging cases like #1767

6 years agoMerge pull request #1771 from staticfloat/sf/ldflags
Martin Kroeker [Sat, 22 Sep 2018 11:11:39 +0000 (13:11 +0200)]
Merge pull request #1771 from staticfloat/sf/ldflags

Add `$(LDFLAGS)` to `$(CC)` and `$(FC)` invocations within `exports/Makefile`

6 years agoDocument the stub status of the QUAD_PRECiSION code (#1772)
Martin Kroeker [Sat, 22 Sep 2018 10:31:37 +0000 (12:31 +0200)]
Document the stub status of the QUAD_PRECiSION code (#1772)

* Document the stub status of the QUAD_PRECiSION code inherited from GotoBLAS2

in response to #1769

6 years agoAdd `$(LDFLAGS)` to `$(CC)` and `$(FC)` invocations within `exports/Makefile`
Elliot Saba [Fri, 21 Sep 2018 09:19:51 +0000 (09:19 +0000)]
Add `$(LDFLAGS)` to `$(CC)` and `$(FC)` invocations within `exports/Makefile`

6 years agoMerge pull request #1765 from martin-frbg/issue1761
Martin Kroeker [Wed, 19 Sep 2018 20:02:21 +0000 (22:02 +0200)]
Merge pull request #1765 from martin-frbg/issue1761

Do not use the new TLS-enabled memory allocator for non-threaded builds, and disable TLS by default in gmake as well

6 years agoMerge pull request #1764 from yurivict/64-suffix
Martin Kroeker [Wed, 19 Sep 2018 16:16:38 +0000 (18:16 +0200)]
Merge pull request #1764 from yurivict/64-suffix

Allow to install the 'interface64' version concurrently with the regular version

6 years agoMerge pull request #1762 from martin-frbg/issue1710-2
Martin Kroeker [Wed, 19 Sep 2018 16:16:21 +0000 (18:16 +0200)]
Merge pull request #1762 from martin-frbg/issue1710-2

Add explicit casts to silence compiler warnings

6 years agoFix default settings - USE_TLS and USE_SIMPLE_THREADED_LEVEL3 should both be off
Martin Kroeker [Wed, 19 Sep 2018 16:08:31 +0000 (18:08 +0200)]
Fix default settings - USE_TLS and USE_SIMPLE_THREADED_LEVEL3 should both be off

6 years agoCatch inadvertent USE_TLS=0 declaration
Martin Kroeker [Wed, 19 Sep 2018 16:03:43 +0000 (18:03 +0200)]
Catch inadvertent USE_TLS=0 declaration

for #1766

6 years agoDo not use the new TLS code for non-threaded builds even if USE_TLS is set
Martin Kroeker [Sun, 16 Sep 2018 10:43:36 +0000 (12:43 +0200)]
Do not use the new TLS code for non-threaded builds even if USE_TLS is set

Workaround for #1761 as that exposed a problem in the new code (which was intended to speed up multithreaded code only anyway).

6 years agoMerge pull request #4 from xianyi/develop
Martin Kroeker [Sun, 16 Sep 2018 10:36:49 +0000 (12:36 +0200)]
Merge pull request #4 from xianyi/develop

Update branch

6 years agoAllow to install the 'interfare64' version concurrently with the regular version
Yuri [Sun, 16 Sep 2018 02:59:17 +0000 (19:59 -0700)]
Allow to install the 'interfare64' version concurrently with the regular version

6 years agoAdd an explicit cast to silence a warning
Martin Kroeker [Thu, 13 Sep 2018 12:24:29 +0000 (14:24 +0200)]
Add an explicit cast to silence a warning

for #1710

6 years agoAdd explicit cast to silence a warning
Martin Kroeker [Thu, 13 Sep 2018 12:23:31 +0000 (14:23 +0200)]
Add explicit cast to silence a warning

for #1710

6 years agoMerge pull request #1759 from martin-frbg/lapack283
Martin Kroeker [Tue, 11 Sep 2018 11:52:09 +0000 (13:52 +0200)]
Merge pull request #1759 from martin-frbg/lapack283

Remove an unused variable from several LAPACKE 2stage_work functions

6 years agoremove unused variable ldb_t
Martin Kroeker [Tue, 11 Sep 2018 08:53:47 +0000 (10:53 +0200)]
remove unused variable ldb_t

Copied from Reference-LAPACK PR283

6 years agoremove unused variable ldb_t
Martin Kroeker [Tue, 11 Sep 2018 08:52:30 +0000 (10:52 +0200)]
remove unused variable ldb_t

Copied from Reference-LAPACK PR283

6 years agoremove unused variable ldb_t
Martin Kroeker [Tue, 11 Sep 2018 08:51:17 +0000 (10:51 +0200)]
remove unused variable ldb_t

Copied from Reference-LAPACK PR283

6 years agoMerge pull request #1757 from brada4/develop
Martin Kroeker [Sun, 9 Sep 2018 20:55:15 +0000 (22:55 +0200)]
Merge pull request #1757 from brada4/develop

fix small typo in strmm_ LN

6 years agofix small typo
Andrew [Sun, 9 Sep 2018 14:52:25 +0000 (16:52 +0200)]
fix small typo

6 years agoMerge pull request #1756 from martin-frbg/issue1754
Martin Kroeker [Fri, 7 Sep 2018 09:02:18 +0000 (11:02 +0200)]
Merge pull request #1756 from martin-frbg/issue1754

Follow netlib renaming/aliasing CBLAS_ORDER to CBLAS_LAYOUT

6 years agoMerge pull request #1749 from martin-frbg/issue1531
Martin Kroeker [Fri, 7 Sep 2018 09:02:01 +0000 (11:02 +0200)]
Merge pull request #1749 from martin-frbg/issue1531

Fix ARMV8 cross-compilation for IOS

6 years agoAdjust ARMV8 SGEMM unrolling when using the C fallback kernel_2x2 for IOS
Martin Kroeker [Thu, 6 Sep 2018 19:41:54 +0000 (21:41 +0200)]
Adjust ARMV8 SGEMM unrolling when using the C fallback kernel_2x2 for IOS

6 years agojust make CBLAS_LAYOUT an alias of the existing CBLAS_ORDER
Martin Kroeker [Thu, 6 Sep 2018 14:54:31 +0000 (16:54 +0200)]
just make CBLAS_LAYOUT an alias of the existing CBLAS_ORDER

to avoid having to change all instances of enum CBLAS_ORDER in this file

6 years agoFollow netlib renaming/aliasing CBLAS_ORDER to CBLAS_LAYOUT
Martin Kroeker [Thu, 6 Sep 2018 14:39:52 +0000 (16:39 +0200)]
Follow netlib renaming/aliasing CBLAS_ORDER to CBLAS_LAYOUT

fixes #1754

6 years agoConditional compilation of assembly files that IOS does not like
Martin Kroeker [Tue, 4 Sep 2018 09:06:51 +0000 (11:06 +0200)]
Conditional compilation of assembly files that IOS does not like

6 years agoFix paths to C kernels for nrm2
Martin Kroeker [Tue, 4 Sep 2018 08:51:19 +0000 (10:51 +0200)]
Fix paths to C kernels for nrm2

6 years agoUpdate with the changes from 0.3.3
Martin Kroeker [Thu, 30 Aug 2018 22:21:13 +0000 (00:21 +0200)]
Update with the changes from 0.3.3

6 years agoUpdate version to 0.3.4.dev
Martin Kroeker [Thu, 30 Aug 2018 22:19:21 +0000 (00:19 +0200)]
Update version to 0.3.4.dev

6 years agoUpdate version to 0.3.4.dev
Martin Kroeker [Thu, 30 Aug 2018 22:18:37 +0000 (00:18 +0200)]
Update version to 0.3.4.dev

6 years agoMerge pull request #1746 from martin-frbg/issue1674
Martin Kroeker [Thu, 30 Aug 2018 15:48:07 +0000 (17:48 +0200)]
Merge pull request #1746 from martin-frbg/issue1674

Assume cross-compilation if host and target os differ

6 years agoAssume cross-compilation if host and target os differ
Martin Kroeker [Thu, 30 Aug 2018 11:28:46 +0000 (13:28 +0200)]
Assume cross-compilation if host and target os differ

fixes 1674

6 years agoMerge pull request #1745 from martin-frbg/issue1743
Martin Kroeker [Wed, 29 Aug 2018 05:43:58 +0000 (07:43 +0200)]
Merge pull request #1745 from martin-frbg/issue1743

Set USE_TRMM for all ZARCH variants to fix TRMM faults with zarch-gen…

6 years agoMerge pull request #1744 from martin-frbg/lapack272
Martin Kroeker [Tue, 28 Aug 2018 20:58:58 +0000 (22:58 +0200)]
Merge pull request #1744 from martin-frbg/lapack272

Fix missing replacements of ILAENV by ILAENV_2STAGE (lapack PR 272)

6 years agoSet USE_TRMM for all ZARCH variants to fix TRMM faults with zarch-generic
Martin Kroeker [Tue, 28 Aug 2018 19:34:07 +0000 (21:34 +0200)]
Set USE_TRMM for all ZARCH variants to fix TRMM faults with zarch-generic

fixes #1743

6 years agoFix missing replacements of ILAENV by ILAENV_2STAGE (lapack PR 272)
Martin Kroeker [Tue, 28 Aug 2018 19:11:54 +0000 (21:11 +0200)]
Fix missing replacements of ILAENV by ILAENV_2STAGE (lapack PR 272)

This could cause spurious "parameter has an illegal value" errors in DSYEVR and related routines, see https://github.com/Reference-LAPACK/lapack/issues/262

6 years agoMerge pull request #1742 from martin-frbg/interim033
Martin Kroeker [Tue, 28 Aug 2018 06:02:15 +0000 (08:02 +0200)]
Merge pull request #1742 from martin-frbg/interim033

Add combination of old and new thread memory code selectable by new option USE_TLS

6 years agotypo fix
Martin Kroeker [Sun, 26 Aug 2018 09:31:07 +0000 (11:31 +0200)]
typo fix

6 years agoRewrite glibc version check
Martin Kroeker [Sun, 26 Aug 2018 09:18:02 +0000 (11:18 +0200)]
Rewrite glibc version check

6 years agoUpdate memory.c
Martin Kroeker [Sat, 25 Aug 2018 20:12:40 +0000 (22:12 +0200)]
Update memory.c

6 years agoMerge branch 'develop' into interim033
Martin Kroeker [Sat, 25 Aug 2018 17:45:19 +0000 (19:45 +0200)]
Merge branch 'develop' into interim033

6 years agoAdd USE_TLS option to choose between old and new implementation of memory.c
Martin Kroeker [Sat, 25 Aug 2018 17:37:11 +0000 (19:37 +0200)]
Add USE_TLS option to choose between old and new implementation of memory.c

6 years agoAdd USE_TLS option to switch between old and new memory.c
Martin Kroeker [Sat, 25 Aug 2018 17:36:12 +0000 (19:36 +0200)]
Add USE_TLS option to switch between old and new memory.c

6 years agoCombo of default pre-0.3.1 memory.c and band-aided version of PR1739
Martin Kroeker [Sat, 25 Aug 2018 17:35:16 +0000 (19:35 +0200)]
Combo of default pre-0.3.1 memory.c and band-aided version of PR1739

6 years agoMerge pull request #1738 from sharkcz/s390x
Martin Kroeker [Thu, 16 Aug 2018 07:46:34 +0000 (09:46 +0200)]
Merge pull request #1738 from sharkcz/s390x

detect z14 arch on s390x

6 years agodetect z14 arch on s390x
Dan Horák [Tue, 14 Aug 2018 10:30:38 +0000 (12:30 +0200)]
detect z14 arch on s390x

6 years agoMerge pull request #1731 from fenrus75/readme
Martin Kroeker [Sun, 12 Aug 2018 22:01:37 +0000 (00:01 +0200)]
Merge pull request #1731 from fenrus75/readme

add short blurb about avx512 and needed compiler to README

6 years agoMerge pull request #1733 from fenrus75/dsymv
Martin Kroeker [Sun, 12 Aug 2018 16:18:36 +0000 (18:18 +0200)]
Merge pull request #1733 from fenrus75/dsymv

Add an AVX512 enabled DSYMV (L) function

6 years agoMerge pull request #1732 from fenrus75/dgemv
Martin Kroeker [Sun, 12 Aug 2018 16:17:42 +0000 (18:17 +0200)]
Merge pull request #1732 from fenrus75/dgemv

Add an AVX512 enabled DGEMV (n)  function

6 years agoMerge pull request #1730 from fenrus75/fix-sdot
Martin Kroeker [Sun, 12 Aug 2018 16:17:01 +0000 (18:17 +0200)]
Merge pull request #1730 from fenrus75/fix-sdot

Fix typo in sdot function

6 years agoMerge pull request #1729 from fenrus75/dscal
Martin Kroeker [Sun, 12 Aug 2018 16:16:45 +0000 (18:16 +0200)]
Merge pull request #1729 from fenrus75/dscal

Add an AVX512 enabled DSCAL function

6 years agoMerge pull request #1723 from maamountki/develop
Martin Kroeker [Sat, 11 Aug 2018 19:08:45 +0000 (21:08 +0200)]
Merge pull request #1723 from maamountki/develop

Disable zgemv scale in gemv benchmark by default

6 years agoAdd an AVX512 enabled DSYMV (L) function
Arjan van de Ven [Sat, 11 Aug 2018 17:46:24 +0000 (17:46 +0000)]
Add an AVX512 enabled DSYMV (L) function

written in C intrinsics for best readability.
(the same C code works for Haswell as well)

For logistical reasons the code falls back to the existing
haswell AVX2 implementation if the GCC or LLVM compiler is not new enough

6 years agoAdd an AVX512 enabled DGEMV (n) function
Arjan van de Ven [Sat, 11 Aug 2018 17:38:12 +0000 (17:38 +0000)]
Add an AVX512 enabled DGEMV (n)  function

written in C intrinsics for best readability.
(the same C code works for Haswell as well)

For logistical reasons the code falls back to the existing
haswell AVX2 implementation if the GCC or LLVM compiler is not new enough

6 years agoadd short blurb about avx512 and needed compiler to README
Arjan van de Ven [Sat, 11 Aug 2018 17:21:46 +0000 (17:21 +0000)]
add short blurb about avx512 and needed compiler to README

6 years agoFix typo in sdot function
Arjan van de Ven [Sat, 11 Aug 2018 17:16:45 +0000 (17:16 +0000)]
Fix typo in sdot function

it looks like my previous pull request was short the final commit;
fix a typo in sdot

6 years agoAdd an AVX512 enabled DSCAL function
Arjan van de Ven [Sat, 11 Aug 2018 17:14:57 +0000 (17:14 +0000)]
Add an AVX512 enabled DSCAL function

written in C intrinsics for best readability.
(the same C code works for Haswell as well)

For logistical reasons the code falls back to the existing
haswell AVX2 implementation if the GCC or LLVM compiler is not new enough

6 years agoMerge pull request #1725 from fenrus75/axpy
Martin Kroeker [Sat, 11 Aug 2018 09:01:20 +0000 (11:01 +0200)]
Merge pull request #1725 from fenrus75/axpy

Add a AVX512 enabled SAXPY/DAXPY functions

6 years agoMerge pull request #1724 from fenrus75/sdot
Martin Kroeker [Sat, 11 Aug 2018 09:00:56 +0000 (11:00 +0200)]
Merge pull request #1724 from fenrus75/sdot

Add an AVX512 enabled SDOT function

6 years agoMerge pull request #1728 from martin-frbg/changelog
Martin Kroeker [Fri, 10 Aug 2018 11:24:36 +0000 (13:24 +0200)]
Merge pull request #1728 from martin-frbg/changelog

Add changes from the 0.3.x releases

6 years agoAdd changes from the 0.3.x releases
Martin Kroeker [Fri, 10 Aug 2018 11:23:47 +0000 (13:23 +0200)]
Add changes from the 0.3.x releases

fixes #1727

6 years agoAdd a AVX512 enabled SAXPY/DAXPY functions
Arjan van de Ven [Fri, 10 Aug 2018 02:58:32 +0000 (02:58 +0000)]
Add a AVX512 enabled SAXPY/DAXPY functions

written in C intrinsics for best readability.
(the same C code works for Haswell as well)

For logistical reasons the code falls back to the existing
haswell AVX2 implementation if the GCC or LLVM compiler is not new enough

6 years agoAdd an AVX512 enabled SDOT function
Arjan van de Ven [Fri, 10 Aug 2018 02:31:48 +0000 (02:31 +0000)]
Add an AVX512 enabled SDOT function

written in C intrinsics for best readability.
(the same C code works for Haswell as well)

For logistical reasons the code falls back to the existing
haswell AVX2 implementation if the GCC or LLVM compiler is not new enough

6 years agoDisable scal to benchmark zgemv separately by default
maamountki [Thu, 9 Aug 2018 22:54:18 +0000 (01:54 +0300)]
Disable scal to benchmark zgemv separately by default

6 years agoMerge pull request #1721 from fenrus75/ddot2
Martin Kroeker [Thu, 9 Aug 2018 13:39:06 +0000 (15:39 +0200)]
Merge pull request #1721 from fenrus75/ddot2

Add an AVX512 enabled DDOT function

6 years agoAdd an AVX512 enabled DDOT function
Arjan van de Ven [Wed, 8 Aug 2018 02:59:11 +0000 (02:59 +0000)]
Add an AVX512 enabled DDOT function

written in C intrinsics for best readability.
(the same C code works for Haswell as well)

For logistical reasons the code falls back to the existing
haswell AVX2 implementation if the GCC or LLVM compiler is not new enough

6 years agoMerge pull request #1717 from martin-frbg/issue1708
Martin Kroeker [Mon, 6 Aug 2018 20:05:47 +0000 (22:05 +0200)]
Merge pull request #1717 from martin-frbg/issue1708

Add workaround for avx512 compilations on Cygwin

6 years agoAdd workaround for avx512 compilations on Cygwin
Martin Kroeker [Mon, 6 Aug 2018 14:40:32 +0000 (16:40 +0200)]
Add workaround for avx512 compilations on Cygwin

fixes #1708

6 years agoMerge pull request #1715 from stevengj/patch-1
Martin Kroeker [Sun, 5 Aug 2018 20:48:44 +0000 (22:48 +0200)]
Merge pull request #1715 from stevengj/patch-1

fix blasabs for windows

6 years agofix blasabs for windows
Steven G. Johnson [Sun, 5 Aug 2018 12:18:51 +0000 (08:18 -0400)]
fix blasabs for windows

Bugfix in #1713 for Windows (LLP64), where `blasabs` needs to be `llabs` rather than `labs` for the 64-bit API.

6 years agoMerge pull request #1713 from martin-frbg/issue1710
Martin Kroeker [Sat, 4 Aug 2018 21:51:31 +0000 (23:51 +0200)]
Merge pull request #1713 from martin-frbg/issue1710

Introduce blasabs macro and use it to switch between abs and labs for INTERFACE64

6 years agoMerge pull request #1709 from stevengj/patch-1
Martin Kroeker [Sat, 4 Aug 2018 21:51:10 +0000 (23:51 +0200)]
Merge pull request #1709 from stevengj/patch-1

fabs -> fabsl

6 years agofabs -> fabsl
Martin Kroeker [Sat, 4 Aug 2018 18:14:51 +0000 (20:14 +0200)]
fabs -> fabsl

6 years agoIntroduce blasabs() to switch between abs() and labs() for INTERFACE64
Martin Kroeker [Sat, 4 Aug 2018 18:07:59 +0000 (20:07 +0200)]
Introduce blasabs() to switch between abs() and labs() for INTERFACE64

6 years agoUse blasabs to switch between abs and labs as needed for INTERFACE64
Martin Kroeker [Sat, 4 Aug 2018 18:06:49 +0000 (20:06 +0200)]
Use blasabs to switch between abs and labs as needed for INTERFACE64