platform/upstream/openblas.git
4 years agoCosmetic fixes for non-C99 compilers
Martin Kroeker [Fri, 5 Jun 2020 08:05:34 +0000 (10:05 +0200)]
Cosmetic fixes for non-C99 compilers

4 years agoDelete spurious copy of common_param.h
Martin Kroeker [Fri, 5 Jun 2020 08:04:16 +0000 (10:04 +0200)]
Delete spurious copy of common_param.h

4 years agomake blas_quickdivide unsigned and guard against miscompilation
Martin Kroeker [Fri, 5 Jun 2020 08:03:36 +0000 (10:03 +0200)]
make blas_quickdivide unsigned and guard against miscompilation

4 years agoMerge pull request #62 from xianyi/develop
Martin Kroeker [Fri, 5 Jun 2020 07:51:06 +0000 (09:51 +0200)]
Merge pull request #62 from xianyi/develop

rebase

4 years agoMerge pull request #2644 from martin-frbg/cmake-maxstack
Martin Kroeker [Fri, 5 Jun 2020 06:33:48 +0000 (08:33 +0200)]
Merge pull request #2644 from martin-frbg/cmake-maxstack

Add CMAKE support for MAX_STACK_ALLOC setting

4 years agoLimit MAX_STACK_ALLOC availability to non-Wndows
Martin Kroeker [Thu, 4 Jun 2020 17:07:27 +0000 (19:07 +0200)]
Limit MAX_STACK_ALLOC availability to non-Wndows

4 years agoUpdate azure-pipelines.yml
Martin Kroeker [Thu, 4 Jun 2020 17:03:46 +0000 (19:03 +0200)]
Update azure-pipelines.yml

4 years agoUpdate azure-pipelines.yml
Martin Kroeker [Thu, 4 Jun 2020 15:58:13 +0000 (17:58 +0200)]
Update azure-pipelines.yml

4 years agoAdd CMAKE support for MAX_STACK_ALLOC setting
Martin Kroeker [Thu, 4 Jun 2020 12:45:31 +0000 (14:45 +0200)]
Add CMAKE support for MAX_STACK_ALLOC setting

4 years agoMerge pull request #2643 from craft-zhang/cortex-a53
Martin Kroeker [Thu, 4 Jun 2020 05:58:45 +0000 (07:58 +0200)]
Merge pull request #2643 from craft-zhang/cortex-a53

Improve performance of SGEMM on Arm Cortex-A53

4 years agoMerge pull request #2638 from leezu/actions
Martin Kroeker [Wed, 3 Jun 2020 22:02:37 +0000 (00:02 +0200)]
Merge pull request #2638 from leezu/actions

Add Github Actions test for DYNAMIC_ARCH builds on Linux and macOS

4 years agosgemm copy source init
ZhangDanfeng [Wed, 3 Jun 2020 18:09:38 +0000 (02:09 +0800)]
sgemm copy source init

Signed-off-by: ZhangDanfeng <467688405@qq.com>
4 years agoInsert prefetch
ZhangDanfeng [Wed, 3 Jun 2020 18:08:48 +0000 (02:08 +0800)]
Insert prefetch

Signed-off-by: ZhangDanfeng <467688405@qq.com>
4 years agoMerge pull request #2641 from martin-frbg/ppcg4
Martin Kroeker [Wed, 3 Jun 2020 14:43:46 +0000 (16:43 +0200)]
Merge pull request #2641 from martin-frbg/ppcg4

Work around PPC G4 test failures

4 years agoset cmake build type to Release
Martin Kroeker [Wed, 3 Jun 2020 13:28:59 +0000 (15:28 +0200)]
set cmake build type to Release

4 years agorevert clang pragma
Martin Kroeker [Wed, 3 Jun 2020 13:16:27 +0000 (15:16 +0200)]
revert clang pragma

4 years agoUpdate sgemm_kernel_16x4_skylakex_3.c
Martin Kroeker [Wed, 3 Jun 2020 13:15:41 +0000 (15:15 +0200)]
Update sgemm_kernel_16x4_skylakex_3.c

4 years agopreset optimization level for apple clang
Martin Kroeker [Wed, 3 Jun 2020 13:07:25 +0000 (15:07 +0200)]
preset optimization level for apple clang

4 years agoUpdate dynamic_arch.yml
Martin Kroeker [Wed, 3 Jun 2020 11:46:43 +0000 (13:46 +0200)]
Update dynamic_arch.yml

4 years agoMake cmake build verbose to see options in use
Martin Kroeker [Wed, 3 Jun 2020 10:18:15 +0000 (12:18 +0200)]
Make cmake build verbose to see options in use

4 years agoRevert "keep Apple Clang from optimizing this"
Martin Kroeker [Wed, 3 Jun 2020 08:22:15 +0000 (10:22 +0200)]
Revert "keep Apple Clang from optimizing this"

4 years agoChange PPCG4 CGEMM_M to match kernel change
Martin Kroeker [Wed, 3 Jun 2020 07:15:29 +0000 (09:15 +0200)]
Change PPCG4 CGEMM_M to match kernel change

4 years agoChange complex DOT and ROT to generic kernels and switch CGEMM
Martin Kroeker [Wed, 3 Jun 2020 07:13:29 +0000 (09:13 +0200)]
Change complex DOT and ROT to generic kernels and switch CGEMM

in response to test failures seen in #2628 and BLAS-Tester

4 years agoKeep Apple Clang from optimizing this
Martin Kroeker [Wed, 3 Jun 2020 06:52:53 +0000 (08:52 +0200)]
Keep Apple Clang from optimizing this

4 years agoKeep apple clang 11.0.3 from trying to optimize this (and running out of registers)
Martin Kroeker [Tue, 2 Jun 2020 15:31:45 +0000 (17:31 +0200)]
Keep apple clang 11.0.3 from trying to optimize this (and running out of registers)

4 years agoPrint CPU info in output
Leonard Lausen [Mon, 1 Jun 2020 20:51:11 +0000 (20:51 +0000)]
Print CPU info in output

4 years agoAdd Github Actions test for DYNAMIC_ARCH builds
Leonard Lausen [Sun, 31 May 2020 01:17:05 +0000 (01:17 +0000)]
Add Github Actions test for DYNAMIC_ARCH builds

4 years agoMerge pull request #2636 from martin-frbg/issue2634
Martin Kroeker [Sun, 31 May 2020 13:16:09 +0000 (15:16 +0200)]
Merge pull request #2636 from martin-frbg/issue2634

Fix CMAKE build Issues on OS X

4 years agoDisable EXPRECISION and add -lm on OSX (same as the BSDs and Linux)
Martin Kroeker [Sun, 31 May 2020 10:39:36 +0000 (12:39 +0200)]
Disable EXPRECISION and add -lm on OSX (same as the BSDs and Linux)

4 years agoDocument option USE_LOCKING
Martin Kroeker [Sun, 31 May 2020 10:37:57 +0000 (12:37 +0200)]
Document option USE_LOCKING

4 years agoMerge pull request #2635 from ilayn/patch-1
Martin Kroeker [Sat, 30 May 2020 12:37:12 +0000 (14:37 +0200)]
Merge pull request #2635 from ilayn/patch-1

BUG: Fix the loop range in ZHEEQUB.f

4 years agoBUG: Fix the loop range in ZHEEQUB.f
Ilhan Polat [Sat, 30 May 2020 12:11:11 +0000 (14:11 +0200)]
BUG: Fix the loop range in ZHEEQUB.f

4 years agoMerge pull request #59 from xianyi/develop
Martin Kroeker [Fri, 29 May 2020 11:06:25 +0000 (13:06 +0200)]
Merge pull request #59 from xianyi/develop

rebase

4 years agoMerge pull request #2627 from pkubaj/patch-1
Martin Kroeker [Tue, 26 May 2020 06:36:24 +0000 (08:36 +0200)]
Merge pull request #2627 from pkubaj/patch-1

Add powerpc (32-bit)

4 years agoMerge pull request #2626 from docularxu/working-gcc-version-detections
Martin Kroeker [Tue, 26 May 2020 06:35:58 +0000 (08:35 +0200)]
Merge pull request #2626 from docularxu/working-gcc-version-detections

make GCC version detection OS-independent

4 years agoAdd powerpc (32-bit)
pkubaj [Mon, 25 May 2020 11:14:09 +0000 (13:14 +0200)]
Add powerpc (32-bit)

Only powerpc64 is present.

4 years agomake GCC version detection OS-independent
Guodong Xu [Mon, 25 May 2020 10:40:12 +0000 (10:40 +0000)]
make GCC version detection OS-independent

Previous design put GCC version detection inside of OSNAME 'WINNT'.
However, such detections are required for 'Linux' and possibly other
OS'es as well. For example, there is usage of the GCC versions
in Makefile.arm64. When compiling on Linux machine, in the previous
design, Markfile.arm64 will not know the correct GCC version.

The fix is to move GCC version detection into common part, not
wrapped by anything.

Signed-off-by: Guodong Xu <guodong.xu@linaro.com>
4 years agoMerge pull request #2618 from craft-zhang/cortex-A53
Martin Kroeker [Mon, 25 May 2020 10:14:46 +0000 (12:14 +0200)]
Merge pull request #2618 from craft-zhang/cortex-A53

Improve performance of SGEMM and STRMM on Arm Cortex-A53

4 years agoupdate CONTRIBUTORS.md, adding myself
张丹枫 [Wed, 20 May 2020 14:35:26 +0000 (22:35 +0800)]
update CONTRIBUTORS.md, adding myself

4 years agosplit cortex-a53 param to match 8x8 kernel
张丹枫 [Wed, 20 May 2020 14:34:47 +0000 (22:34 +0800)]
split cortex-a53 param to match 8x8 kernel

4 years agoupdate sgemm and strmm kernel selecting strategy
张丹枫 [Wed, 20 May 2020 13:57:12 +0000 (21:57 +0800)]
update sgemm and strmm kernel selecting strategy

4 years agouse general register to speedup
张丹枫 [Wed, 20 May 2020 13:55:32 +0000 (21:55 +0800)]
use general register to speedup

4 years agoalign general register using to strmm_kernel_8x8
张丹枫 [Wed, 20 May 2020 13:52:49 +0000 (21:52 +0800)]
align general register using to strmm_kernel_8x8

4 years agosgemm kernel use sgemm_kernel_8x8_cortexa53
zhangdanfeng [Mon, 18 May 2020 08:51:33 +0000 (16:51 +0800)]
sgemm kernel use sgemm_kernel_8x8_cortexa53

Signed-off-by: zhangdanfeng <zhangdanfeng@cloudwalk.cn>
4 years agooptimized for cortex-a53
zhangdanfeng [Mon, 18 May 2020 08:47:33 +0000 (16:47 +0800)]
optimized for cortex-a53

Signed-off-by: zhangdanfeng <zhangdanfeng@cloudwalk.cn>
4 years agoMerge pull request #2623 from mhillenibm/zarch_dgemm_z14
Martin Kroeker [Wed, 20 May 2020 12:51:04 +0000 (14:51 +0200)]
Merge pull request #2623 from mhillenibm/zarch_dgemm_z14

s390x: Use new sgemm kernel also for DGEMM and DTRMM on Z14 (+ small cleanup)

4 years agos390x: Use new sgemm kernel also for DGEMM and DTRMM on Z14
Marius Hillenbrand [Tue, 19 May 2020 12:56:34 +0000 (14:56 +0200)]
s390x: Use new sgemm kernel also for DGEMM and DTRMM on Z14

Apply our new GEMM kernel implementation, written in C with vector intrinsics,
also for DGEMM and DTRMM on Z14 and newer (i.e., architectures with FP32 SIMD
instructions). As a result, we gain around 10% in performance on z15, in
addition to improving maintainability.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agos390x/GEMM: replace 0-init with peeled first iteration
Marius Hillenbrand [Tue, 19 May 2020 12:30:44 +0000 (14:30 +0200)]
s390x/GEMM: replace 0-init with peeled first iteration

... since it gains another ~2% of SGEMM and DGEMM performance on z15;
also, the code just called for that cleanup.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agoMerge pull request #2622 from martin-frbg/issue2619
Martin Kroeker [Tue, 19 May 2020 21:07:22 +0000 (23:07 +0200)]
Merge pull request #2622 from martin-frbg/issue2619

Improve declaration of LAPACKE_get_nancheck

4 years agoImprove declaration of LAPACKE_get_nancheck
Martin Kroeker [Tue, 19 May 2020 15:59:31 +0000 (17:59 +0200)]
Improve declaration of LAPACKE_get_nancheck

4 years agoMerge pull request #2617 from martin-frbg/issue2616
Martin Kroeker [Mon, 18 May 2020 11:23:58 +0000 (13:23 +0200)]
Merge pull request #2617 from martin-frbg/issue2616

Add workaround for unhandled  gmake jobserver flags in c_check/f_check

4 years agoIgnore spurious all-numeric library names derived from mishandled jobserver flags
Martin Kroeker [Sun, 17 May 2020 13:28:14 +0000 (15:28 +0200)]
Ignore spurious all-numeric library names derived from mishandled jobserver flags

4 years agoIgnore spurious all-numeric library names derived from mishandled jobserver flags
Martin Kroeker [Sun, 17 May 2020 13:26:57 +0000 (15:26 +0200)]
Ignore spurious all-numeric library names derived from mishandled jobserver flags

4 years agoMerge pull request #58 from xianyi/develop
Martin Kroeker [Sun, 17 May 2020 13:23:32 +0000 (15:23 +0200)]
Merge pull request #58 from xianyi/develop

rebase

4 years agoMerge pull request #2615 from mhillenibm/z14_alignment_hints
Martin Kroeker [Thu, 14 May 2020 19:06:34 +0000 (21:06 +0200)]
Merge pull request #2615 from mhillenibm/z14_alignment_hints

s390x: improvise vector alignment hints for older compilers

4 years agos390x: improvise vector alignment hints for older compilers
Marius Hillenbrand [Wed, 13 May 2020 15:48:50 +0000 (17:48 +0200)]
s390x: improvise vector alignment hints for older compilers

Introduce inline assembly so that we can employ vector loads with
alignment hints on older compilers (pre gcc-9), since these are still
used in distributions such as RHEL 8 and Ubuntu 18.04 LTS.

Informing the hardware about alignment can speed up vector loads. For
that purpose, we can encode hints about 8-byte or 16-byte alignment of
the memory operand into the opcodes. gcc-9 and newer automatically emit
such hints, where applicable. Add a bit of inline assembly that achieves
the same for older compilers. Since an older binutils may not know about
the additional operand for the hints, we explicitly encode the opcode in
hex.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agoMerge pull request #2614 from mhillenibm/gemm_vec_z14
Martin Kroeker [Wed, 13 May 2020 13:09:23 +0000 (15:09 +0200)]
Merge pull request #2614 from mhillenibm/gemm_vec_z14

s390x: Improve performance of SGEMM and STRMM on z14 and newer

4 years agoUpdate CONTRIBUTORS.md
Marius Hillenbrand [Tue, 12 May 2020 14:14:00 +0000 (16:14 +0200)]
Update CONTRIBUTORS.md

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agos390x/Z14: Change register blocking for SGEMM to 16x4
Marius Hillenbrand [Tue, 12 May 2020 13:06:38 +0000 (15:06 +0200)]
s390x/Z14: Change register blocking for SGEMM to 16x4

Change register blocking for SGEMM (and STRMM) on z14 from 8x4 to 16x4
by adjusting SGEMM_DEFAULT_UNROLL_M and choosing the appropriate copy
implementations. Actually make KERNEL.Z14 more flexible, so that the
change in param.h suffices. As a result, performance for SGEMM improves
by around 30% on z15.

On z14, FP SIMD instructions can operate on float-sized scalars in
vector registers, while z13 could do that for double-sized scalars only.
Thus, we can double the amount of elements of C that are held in
registers in an SGEMM kernel.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agos390x: Use new sgemm kernel also for strmm on Z14 and newer
Marius Hillenbrand [Tue, 12 May 2020 12:40:30 +0000 (14:40 +0200)]
s390x: Use new sgemm kernel also for strmm on Z14 and newer

Employ the newly added GEMM kernel also for STRMM on Z14. The
implementation in C with vector intrinsics exploits FP32 SIMD operations
and thereby gains performance over the existing assembly code. Extend
the implementation for handling triangular matrix multiplication,
accordingly. As added benefit, the more flexible C code enables us to
adjust register blocking in the subsequent commit.

Tested via make -C test / ctest / utest and by a couple of additional
unit tests that exercise blocking.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agos390x: Add vectorized sgemm kernel for Z14 and newer
Marius Hillenbrand [Tue, 12 May 2020 12:13:54 +0000 (14:13 +0200)]
s390x: Add vectorized sgemm kernel for Z14 and newer

Add a new GEMM kernel implementation to exploit the FP32 SIMD
operations introduced with z14 and employ it for SGEMM on z14 and newer
architectures.

The SIMD extensions introduced with z13 support operations on
double-sized scalars in vector registers. Thus, the existing SGEMM code
would extend floats to doubles before operating on them. z14 extended
SIMD support to operations on 32-bit floats. By employing these
instructions, we can operate on twice the number of scalars per
instruction (four floats in each vector registers) and avoid the
conversion operations.

The code is written in C with explicit vectorization. In experiments,
this kernel improves performance on z14 and z15 by around 2x over the
current implementation in assembly. The flexibilty of the C code paves
the way for adjustments in subsequent commits.

Tested via make -C test / ctest / utest and by a couple of additional
unit tests that exercise blocking (e.g., partial register blocks with
fewer than UNROLL_M rows and/or fewer than UNROLL_N columns).

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agoUpdate CONTRIBUTORS.md, adding myself
Marius Hillenbrand [Tue, 12 May 2020 09:09:28 +0000 (11:09 +0200)]
Update CONTRIBUTORS.md, adding myself

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agos390x: choose SIMD kernels at run-time based on OS and compiler support
Marius Hillenbrand [Mon, 11 May 2020 11:00:10 +0000 (13:00 +0200)]
s390x: choose SIMD kernels at run-time based on OS and compiler support

Extend and simplify the run-time detection for dynamic architecture support for z
to check HW_CAP and only use SIMD features if advertised by the OS.
While at it, also honor the env variable LD_HWCAP_MASK and do not use
the CPU features masked there.

Note that we can only use the SIMD features on z13 or newer (i.e.,
Vector Facility or Vector-Enhancements Facilities) when the operating
system supports properly context-switching the vector registers. The OS
advertises that support as a bit in the HW_CAP value in the auxiliary
vector. While all recent Linux kernels have that support, we should
maintain compatibility with older versions that may still be in use.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agos390x: only build kernels supported by gcc with dynamic arch support
Marius Hillenbrand [Mon, 11 May 2020 16:37:04 +0000 (18:37 +0200)]
s390x: only build kernels supported by gcc with dynamic arch support

When building with dynamic arch support, only build kernels for
architectures that are supported by the gcc we are building with.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agos390x: gate dynamic arch detection on gcc version and add generic
Marius Hillenbrand [Mon, 11 May 2020 10:37:21 +0000 (12:37 +0200)]
s390x: gate dynamic arch detection on gcc version and add generic

When building OpenBLAS with DYNAMIC_ARCH=1 on s390x (aka zarch), make
sure to include support for systems without the facilities introduced
with z13 (i.e., zarch_generic). Adjust runtime detection to fallback to
that generic code when running on a unknown platform other than Z13
through Z15.

When detecting a Z13 or newer system, add a check for gcc support for
the architecture-specific features before selecting the respective
kernel. Fallback to Z13 or generic code, in case.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
4 years agoMerge pull request #2612 from RajalakshmiSR/testshgemm
Martin Kroeker [Tue, 12 May 2020 06:34:02 +0000 (08:34 +0200)]
Merge pull request #2612 from RajalakshmiSR/testshgemm

Improve shgemm test

4 years agoImprove shgemm test
Rajalakshmi Srinivasaraghavan [Mon, 11 May 2020 22:15:10 +0000 (17:15 -0500)]
Improve shgemm test

This patch adds another check to test shgemm results.

4 years agoMerge pull request #2611 from RajalakshmiSR/bench_half
Martin Kroeker [Mon, 11 May 2020 19:08:41 +0000 (21:08 +0200)]
Merge pull request #2611 from RajalakshmiSR/bench_half

Include shgemm in benchtest

4 years agoInclude shgemm in benchtest
Rajalakshmi Srinivasaraghavan [Mon, 11 May 2020 14:57:46 +0000 (09:57 -0500)]
Include shgemm in benchtest

This patch is to enable benchtest for half precision gemm
when BUILD_HALF is set during make.

4 years agoMerge pull request #2610 from martin-frbg/issue2552-3
Martin Kroeker [Sun, 10 May 2020 11:10:31 +0000 (13:10 +0200)]
Merge pull request #2610 from martin-frbg/issue2552-3

Temporary workaround for excessive LAPACK test failures with COMPLEX on Skylake-X

4 years agoWork around excessive LAPACK test failures on Skylake-X
Martin Kroeker [Sat, 9 May 2020 21:49:18 +0000 (23:49 +0200)]
Work around excessive LAPACK test failures on Skylake-X

Something in the plain C parts of x86_64 cscal.c and zscal.c appears to be miscompiled by both gfortran9 and ifort when compiling for skylakex-avx512, even when the optimized Haswell microkernel is not in use.

4 years agoMerge pull request #2609 from martin-frbg/issue2552-2
Martin Kroeker [Sat, 9 May 2020 19:33:02 +0000 (21:33 +0200)]
Merge pull request #2609 from martin-frbg/issue2552-2

Correct ifort options

4 years agoCorrect ifort options
Martin Kroeker [Sat, 9 May 2020 15:15:36 +0000 (17:15 +0200)]
Correct ifort options

to same as suggested by reference-lapack

4 years agoMerge pull request #2608 from martin-frbg/issue2604
Martin Kroeker [Sat, 9 May 2020 14:36:14 +0000 (16:36 +0200)]
Merge pull request #2608 from martin-frbg/issue2604

Handle trailing whitespace and empty variables in KERNEL files

4 years agoHandle trailing spaces and empty condition variables
Martin Kroeker [Sat, 9 May 2020 11:42:33 +0000 (13:42 +0200)]
Handle trailing spaces and empty condition variables

4 years agoMerge pull request #57 from xianyi/develop
Martin Kroeker [Sat, 9 May 2020 11:20:44 +0000 (13:20 +0200)]
Merge pull request #57 from xianyi/develop

rebase

4 years agoMerge pull request #2605 from RajalakshmiSR/cmake-power
Martin Kroeker [Sat, 9 May 2020 09:29:28 +0000 (11:29 +0200)]
Merge pull request #2605 from RajalakshmiSR/cmake-power

Fix cmake compilation issue - POWER9

4 years agoFix cmake compilation issue - POWER9
Rajalakshmi Srinivasaraghavan [Sat, 9 May 2020 01:31:56 +0000 (20:31 -0500)]
Fix cmake compilation issue - POWER9

This patch removes extra space in the sgemmotcopy filename
thereby allowing it to create entry in kernel/Makefile
created by cmake.

4 years agoMerge pull request #2603 from martin-frbg/issue2552
Martin Kroeker [Fri, 8 May 2020 20:08:39 +0000 (22:08 +0200)]
Merge pull request #2603 from martin-frbg/issue2552

Add FFLAGS_DRV entry to the generated make.inc to fix lapack-test failure with Intel compilers

4 years agoAdd FFLAGS_DRV to the generated make.inc to fix lapack-test on x86_64 with icc/ifort
Martin Kroeker [Fri, 8 May 2020 16:06:12 +0000 (18:06 +0200)]
Add FFLAGS_DRV to the generated make.inc to fix lapack-test on x86_64 with icc/ifort

fixes #2552

4 years agoMerge pull request #56 from xianyi/develop
Martin Kroeker [Thu, 7 May 2020 20:43:48 +0000 (22:43 +0200)]
Merge pull request #56 from xianyi/develop

rebase

4 years agoMerge pull request #2602 from ashwinyes/thunderx2_develop
Martin Kroeker [Thu, 7 May 2020 20:06:41 +0000 (22:06 +0200)]
Merge pull request #2602 from ashwinyes/thunderx2_develop

DAXPY Optimizations for ThunderX2

4 years agoARM64: Improve DAXPY for ThunderX2
Ashwin Sekhar T K [Thu, 7 May 2020 16:14:05 +0000 (09:14 -0700)]
ARM64: Improve DAXPY for ThunderX2

Improve performance of DAXPY for ThunderX2
when the vector fits in L1 Cache.

4 years agoMerge pull request #2601 from martin-frbg/issue818
Martin Kroeker [Thu, 7 May 2020 08:12:33 +0000 (10:12 +0200)]
Merge pull request #2601 from martin-frbg/issue818

Undefine NAME/CNAME etc  in Makefile.system before defining them

4 years agoUndefine ASMNAME/NAME/CNAME before defining them
Martin Kroeker [Wed, 6 May 2020 22:31:32 +0000 (00:31 +0200)]
Undefine ASMNAME/NAME/CNAME before defining them

to avoid redefinition warning when environment variables like CFLAGS are being used (fixes #818)

4 years agoMerge pull request #55 from xianyi/develop
Martin Kroeker [Wed, 6 May 2020 22:27:14 +0000 (00:27 +0200)]
Merge pull request #55 from xianyi/develop

rebase

4 years agoMerge pull request #2597 from martin-frbg/appleclang
Martin Kroeker [Tue, 5 May 2020 11:55:08 +0000 (13:55 +0200)]
Merge pull request #2597 from martin-frbg/appleclang

Use Clang 9.0.0 miscompilation fix for corresponding AppleClang version as well

4 years agoDuplicate earlier Clang 9.0.0 workaround for corresponding Apple Clang version
Martin Kroeker [Tue, 5 May 2020 08:44:50 +0000 (10:44 +0200)]
Duplicate earlier Clang 9.0.0 workaround for corresponding Apple Clang version

As discussed on the original PR #2329, the "Apple Clang 11.0.3" that appears to be based the same LLVM release produces the same miscompilation of this file.

4 years agoMerge pull request #53 from xianyi/develop
Martin Kroeker [Fri, 1 May 2020 13:18:46 +0000 (15:18 +0200)]
Merge pull request #53 from xianyi/develop

rebase

4 years agoMerge pull request #2591 from RajalakshmiSR/testhalf
Martin Kroeker [Fri, 1 May 2020 07:59:39 +0000 (09:59 +0200)]
Merge pull request #2591 from RajalakshmiSR/testhalf

Add test for shgemm

4 years agoMake building the bfloat16 functions conditional on option BUILD_HALF (#2590)
Martin Kroeker [Fri, 1 May 2020 07:58:30 +0000 (09:58 +0200)]
Make building the bfloat16 functions conditional on option BUILD_HALF (#2590)

* make building the bfloat16 BLAS functions conditional on BUILD_HALF

* pass the BUILD_HALF option to gensymbol

* Pass BUILD_HALF as a compiler define for dynamic_arch builds

4 years agoMerge pull request #2586 from martin-frbg/miscfixes
Martin Kroeker [Wed, 29 Apr 2020 20:01:41 +0000 (22:01 +0200)]
Merge pull request #2586 from martin-frbg/miscfixes

Trivial fix for compiler warnings

4 years agoAdd test for shgemm
Rajalakshmi Srinivasaraghavan [Wed, 29 Apr 2020 18:40:34 +0000 (13:40 -0500)]
Add test for shgemm

This patch has Makefile changes to add test for shgemm which
compares sgemm and shgemm result.

4 years agoMerge pull request #52 from xianyi/develop
Martin Kroeker [Wed, 29 Apr 2020 12:36:15 +0000 (14:36 +0200)]
Merge pull request #52 from xianyi/develop

rebase

4 years agoMerge pull request #2585 from martin-frbg/mips64fix
Martin Kroeker [Tue, 28 Apr 2020 17:47:55 +0000 (19:47 +0200)]
Merge pull request #2585 from martin-frbg/mips64fix

Increase default BUFFER_SIZE on MIPS64

4 years agoFix compiler warnings
Martin Kroeker [Tue, 28 Apr 2020 08:43:12 +0000 (10:43 +0200)]
Fix compiler warnings

4 years agoIncrease BUFFER_SIZE on mips64 to match SGEMM parameters
Martin Kroeker [Tue, 28 Apr 2020 08:40:40 +0000 (10:40 +0200)]
Increase BUFFER_SIZE on mips64 to match SGEMM parameters

4 years agoMerge pull request #51 from xianyi/develop
Martin Kroeker [Tue, 28 Apr 2020 08:38:50 +0000 (10:38 +0200)]
Merge pull request #51 from xianyi/develop

rebase

4 years agoMerge pull request #2584 from martin-frbg/issue2583
Martin Kroeker [Tue, 28 Apr 2020 08:35:12 +0000 (10:35 +0200)]
Merge pull request #2584 from martin-frbg/issue2583

[WIP] Have CMAKE parse conditional lines in KERNEL files

4 years agoSilence a debug message
Martin Kroeker [Mon, 27 Apr 2020 14:27:09 +0000 (16:27 +0200)]
Silence a debug message