platform/upstream/openblas.git
3 years agopowerpc: Optimized SGEMM/DGEMM/CGEMM for POWER10
Rajalakshmi Srinivasaraghavan [Wed, 24 Jun 2020 19:48:15 +0000 (14:48 -0500)]
powerpc: Optimized SGEMM/DGEMM/CGEMM for POWER10

This patch introduces new optimized version of SGEMM, CGEMM and DGEMM
using power10 Matrix-Multiply Assist (MMA) feature introduced in
POWER ISA v3.1. This patch makes use of new POWER10 compute instructions
for matrix multiplication operation.

Tested on simulator and there are no new test failures.
Cycles count reduced by 30-50%  compared to POWER9 version depending on
M/N/K sizes.
MMA GCC patch for reference:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8ee2640bfdc62f835ec9740278f948034bc7d9f1

3 years agoMerge pull request #2675 from wjc404/develop
Martin Kroeker [Tue, 23 Jun 2020 07:29:02 +0000 (09:29 +0200)]
Merge pull request #2675 from wjc404/develop

AVX512 DGEMM TCOPY_16 Function

3 years agoMerge pull request #2658 from RajalakshmiSR/p10
Martin Kroeker [Mon, 22 Jun 2020 22:02:37 +0000 (00:02 +0200)]
Merge pull request #2658 from RajalakshmiSR/p10

powerpc: Add support for future processor

3 years agoAVX512 dgemm tcopy_16 function
wjc404 [Fri, 19 Jun 2020 16:07:43 +0000 (00:07 +0800)]
AVX512 dgemm tcopy_16 function

3 years agoMerge pull request #2669 from mhillenibm/zarch_fix_gcc_detection
Martin Kroeker [Wed, 17 Jun 2020 15:55:25 +0000 (17:55 +0200)]
Merge pull request #2669 from mhillenibm/zarch_fix_gcc_detection

Zarch fix gcc detection

3 years agoMerge pull request #2672 from mhillenibm/test_num_threads
Martin Kroeker [Wed, 17 Jun 2020 15:54:31 +0000 (17:54 +0200)]
Merge pull request #2672 from mhillenibm/test_num_threads

cpp_thread_test: Change adjustment of concurrency on systems with <52 hw threads

3 years agocpp_thread_test/dgemv: fail early if concurrency is zero
Marius Hillenbrand [Wed, 17 Jun 2020 14:15:44 +0000 (16:15 +0200)]
cpp_thread_test/dgemv: fail early if concurrency is zero

The two test cases dgemv_tester and dgemm_tester accept the degree of
concurrency as command line argument (amongst others). Fail early if
value 0 has been specified, instead of later with less-clear symptoms.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
3 years agocpp_thread_test/dgemv: cap concurrency to number of hw threads on small systems
Marius Hillenbrand [Wed, 17 Jun 2020 14:08:48 +0000 (16:08 +0200)]
cpp_thread_test/dgemv: cap concurrency to number of hw threads on small systems

... instead of (number of hw threads - 4) to avoid invalid numbers on
smaller systems. Currently, systems with 4 or fewer CPUs (e.g., small CI
VMs) would fail the test. Fixes one of the issues discussed in #2668

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
3 years agoMakefile.system: remove duplicate variable GCCVERSIONGT5
Marius Hillenbrand [Tue, 16 Jun 2020 12:45:09 +0000 (14:45 +0200)]
Makefile.system: remove duplicate variable GCCVERSIONGT5

... to bring unified gcc version detection with common variables to the
one remaining spot in Makefile.system.

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
3 years agoFix gcc version detection for zarch
Marius Hillenbrand [Tue, 16 Jun 2020 12:40:50 +0000 (14:40 +0200)]
Fix gcc version detection for zarch

Employ common variables for gcc version detection and fix the broken
check for gcc >= 5.2.
Fixes #2668

Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
3 years agoIncrement version to 0.3.10.dev
Martin Kroeker [Sun, 14 Jun 2020 20:05:19 +0000 (22:05 +0200)]
Increment version to 0.3.10.dev

3 years agoIncrement version to 0.3.10.dev
Martin Kroeker [Sun, 14 Jun 2020 20:04:37 +0000 (22:04 +0200)]
Increment version to 0.3.10.dev

3 years agoMerge branch 'release-0.3.0' into develop
Martin Kroeker [Sun, 14 Jun 2020 20:02:45 +0000 (22:02 +0200)]
Merge branch 'release-0.3.0' into develop

3 years agoIncrement version to 0.3.10.dev
Martin Kroeker [Sun, 14 Jun 2020 19:57:52 +0000 (21:57 +0200)]
Increment version to 0.3.10.dev

3 years agoIncrement version to 0.3.10.dev
Martin Kroeker [Sun, 14 Jun 2020 19:57:15 +0000 (21:57 +0200)]
Increment version to 0.3.10.dev

3 years agoMerge pull request #2665 from martin-frbg/flang-fixes-2a
Martin Kroeker [Sun, 14 Jun 2020 19:56:08 +0000 (21:56 +0200)]
Merge pull request #2665 from martin-frbg/flang-fixes-2a

Fix spelling of flang option -Mrecursive, add -Kieee and workaround for AOCC optimizer bug

3 years agoUpdate with 0.3.10 changes
Martin Kroeker [Sun, 14 Jun 2020 19:55:31 +0000 (21:55 +0200)]
Update with 0.3.10 changes

3 years agoMerge pull request #2666 from martin-frbg/blastest
Martin Kroeker [Sun, 14 Jun 2020 16:28:37 +0000 (18:28 +0200)]
Merge pull request #2666 from martin-frbg/blastest

Update BLAS tests to what netlib 3.9.0 uses

3 years agoMerge pull request #2664 from ACSimon33/exported_symbols
Martin Kroeker [Sun, 14 Jun 2020 16:27:03 +0000 (18:27 +0200)]
Merge pull request #2664 from ACSimon33/exported_symbols

Add missing exported symbols.

3 years agoMerge pull request #2663 from martin-frbg/issue2654
Martin Kroeker [Sun, 14 Jun 2020 16:26:43 +0000 (18:26 +0200)]
Merge pull request #2663 from martin-frbg/issue2654

Respect predefined defaults for AR, AS, LD and RANLIB

3 years agoMerge pull request #2661 from martin-frbg/issue2660
Martin Kroeker [Sun, 14 Jun 2020 16:25:37 +0000 (18:25 +0200)]
Merge pull request #2661 from martin-frbg/issue2660

Report selected DYNAMIC_ARCH kernel rather than one of its aliases in gotoblas_corename

3 years agoRemove optimization level limit for flang again and add -fno-unroll-loops for AOCC...
Martin Kroeker [Sun, 14 Jun 2020 15:40:24 +0000 (17:40 +0200)]
Remove optimization level limit for flang again and add -fno-unroll-loops for AOCC flang 2.x instead

3 years agoRe-enable higher optimization levels for flang while disabling loop unrolling for...
Martin Kroeker [Sun, 14 Jun 2020 15:18:16 +0000 (17:18 +0200)]
Re-enable higher optimization levels for flang while disabling loop unrolling for AOCC flang

3 years agoUpdate BLAS tests to correspond to Reference-LAPACK 3.9.0
Martin Kroeker [Sun, 14 Jun 2020 08:26:25 +0000 (10:26 +0200)]
Update BLAS tests to correspond to Reference-LAPACK 3.9.0

replaces calculation of machine precision with call to epsilon intrinsic and removes the requirement for previous output files to be removed before rerunning tests

3 years agoFix spelling of flang option -Mrecursive and add -Kieee
Martin Kroeker [Sat, 13 Jun 2020 22:09:31 +0000 (00:09 +0200)]
Fix spelling of flang option -Mrecursive and add -Kieee

3 years agoFix spelling of flang option -Mrecursive and add -Kieee
Martin Kroeker [Sat, 13 Jun 2020 22:01:20 +0000 (00:01 +0200)]
Fix spelling of flang option -Mrecursive and add -Kieee

3 years agoRespect predefined defaults for AR, AS, LD and RANLIB
Martin Kroeker [Sat, 13 Jun 2020 21:21:13 +0000 (23:21 +0200)]
Respect predefined defaults for AR, AS, LD and RANLIB

3 years agoAdded missing exported symbols.
Simon Märtens [Sat, 13 Jun 2020 20:37:39 +0000 (22:37 +0200)]
Added missing exported symbols.

3 years agoMake gotoblas_corename report the name of the selected TARGET rather than its aliases
Martin Kroeker [Sat, 13 Jun 2020 17:25:28 +0000 (19:25 +0200)]
Make gotoblas_corename report the name of the selected TARGET rather than its aliases

3 years agoMerge pull request #64 from xianyi/develop
Martin Kroeker [Sat, 13 Jun 2020 17:14:47 +0000 (19:14 +0200)]
Merge pull request #64 from xianyi/develop

rebase

4 years agopowerpc: Add support for future processor
Rajalakshmi Srinivasaraghavan [Thu, 11 Jun 2020 20:47:20 +0000 (15:47 -0500)]
powerpc: Add support for future processor

This is the initial patch to support build infrastructure
for POWER10 architecture.

4 years agoMerge pull request #2653 from craft-zhang/cortex-a53
Martin Kroeker [Wed, 10 Jun 2020 10:19:33 +0000 (12:19 +0200)]
Merge pull request #2653 from craft-zhang/cortex-a53

fix INIT8x4 of SGEMM on Arm Cortex-A53

4 years agoMerge pull request #2652 from martin-frbg/flang-fixes
Martin Kroeker [Tue, 9 Jun 2020 18:31:06 +0000 (20:31 +0200)]
Merge pull request #2652 from martin-frbg/flang-fixes

Fixes for compilation with flang binary release 20190329

4 years agofix INIT8x4
ZhangDanfeng [Tue, 9 Jun 2020 17:01:16 +0000 (01:01 +0800)]
fix INIT8x4

Signed-off-by: ZhangDanfeng <467688405@qq.com>
4 years agoLimit optimization level to O1 for flang and add -frecursive
Martin Kroeker [Tue, 9 Jun 2020 14:11:13 +0000 (16:11 +0200)]
Limit optimization level to O1 for flang and add -frecursive

4 years agoWhen building with flang, use it also for the final link step to get dependencies...
Martin Kroeker [Tue, 9 Jun 2020 14:09:34 +0000 (16:09 +0200)]
When building with flang, use it also for the final link step to get dependencies right

4 years agoApply previously AOCC-specific workaround to all versions of flang
Martin Kroeker [Tue, 9 Jun 2020 14:07:03 +0000 (16:07 +0200)]
Apply previously AOCC-specific workaround to all versions of flang

4 years agoMerge pull request #63 from xianyi/develop
Martin Kroeker [Tue, 9 Jun 2020 13:54:30 +0000 (15:54 +0200)]
Merge pull request #63 from xianyi/develop

rebase

4 years agoMerge pull request #2648 from martin-frbg/lapack411
Martin Kroeker [Sun, 7 Jun 2020 17:45:52 +0000 (19:45 +0200)]
Merge pull request #2648 from martin-frbg/lapack411

Break out of potentially infinite rescaling loop in LAPACK xLARGV/xLARTG/xLARTGP

4 years agoMerge pull request #2647 from martin-frbg/aocc-flang
Martin Kroeker [Sun, 7 Jun 2020 17:45:11 +0000 (19:45 +0200)]
Merge pull request #2647 from martin-frbg/aocc-flang

Small fixes for flang in general and the AMD AOCC version of it in particular

4 years agoMerge pull request #2645 from martin-frbg/misc_fixes
Martin Kroeker [Sun, 7 Jun 2020 17:44:50 +0000 (19:44 +0200)]
Merge pull request #2645 from martin-frbg/misc_fixes

Miscellaneous fixes

4 years agoBreak out of potentially infinite rescaling loop in LAPACK xLARGV/xLARTG/xLARTGP
Martin Kroeker [Sun, 7 Jun 2020 12:30:20 +0000 (14:30 +0200)]
Break out of potentially infinite rescaling loop in LAPACK xLARGV/xLARTG/xLARTGP

Reference-LAPACK issue 411

4 years agoMerge pull request #2646 from wjc404/develop
Martin Kroeker [Sun, 7 Jun 2020 11:18:22 +0000 (13:18 +0200)]
Merge pull request #2646 from wjc404/develop

Optimize AVX512 parallel DGEMM performance

4 years agoUse only -O1 with AMD AOCC version of flang
Martin Kroeker [Sat, 6 Jun 2020 22:05:02 +0000 (00:05 +0200)]
Use only -O1 with AMD AOCC version of flang

to prevent miscompilation of LAPACK codes and tests on Ryzen

4 years agoUpdate "cosmetic fixes for non-C99 compilers"
Martin Kroeker [Sat, 6 Jun 2020 13:22:27 +0000 (15:22 +0200)]
Update "cosmetic fixes for non-C99 compilers"

4 years agoAdd files via upload
wjc404 [Sat, 6 Jun 2020 06:56:57 +0000 (14:56 +0800)]
Add files via upload

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 agoUpdate f_check
Martin Kroeker [Sun, 31 May 2020 13:22:12 +0000 (15:22 +0200)]
Update f_check

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 agoUse the fortran compiler to link LAPACK-related benchmarks
Martin Kroeker [Fri, 29 May 2020 11:35:51 +0000 (13:35 +0200)]
Use the fortran compiler to link LAPACK-related benchmarks

to fix linking problems with (at least) the AMD version of flang that creates dependencies on more than just the fortran runtime.

4 years agoadd support for RETURN_BY_STACK semantics, e.g. clang
Martin Kroeker [Fri, 29 May 2020 11:29:10 +0000 (13:29 +0200)]
add support for RETURN_BY_STACK semantics, e.g. clang

4 years agoremove libomp from link list only for pgfortran
Martin Kroeker [Fri, 29 May 2020 11:23:51 +0000 (13:23 +0200)]
remove libomp from link list only for pgfortran

at least the AMD (aocc) flavor of flang wants to link to a (real or dummy) libomp by default

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