Martin Kroeker [Thu, 16 Jul 2020 22:36:35 +0000 (22:36 +0000)]
include CheckLanguage module
Martin Kroeker [Thu, 16 Jul 2020 22:17:39 +0000 (22:17 +0000)]
handle missing lack of fortran compiler more gracefully
Martin Kroeker [Tue, 14 Jul 2020 16:01:34 +0000 (18:01 +0200)]
Merge pull request #71 from xianyi/develop
rebase
Martin Kroeker [Mon, 13 Jul 2020 12:43:24 +0000 (14:43 +0200)]
Merge pull request #2682 from martin-frbg/aix
[WIP] fix compilation on AIX
Martin Kroeker [Mon, 13 Jul 2020 11:00:39 +0000 (13:00 +0200)]
Merge pull request #2651 from leezu/actionsflang
Add flang build to Github Actions
Martin Kroeker [Sun, 12 Jul 2020 18:37:29 +0000 (20:37 +0200)]
Merge branch 'develop' into actionsflang
Martin Kroeker [Sun, 12 Jul 2020 18:17:11 +0000 (20:17 +0200)]
Merge pull request #2706 from jussienko/use-always-omp-threads
Fix OpenMP builds defaulting to singlethreading with OMP_PLACES or OMP_PROC_BIND set
Martin Kroeker [Sun, 12 Jul 2020 16:59:01 +0000 (18:59 +0200)]
Make 32bit POWER8 use POWER6 kernels for now
Martin Kroeker [Sun, 12 Jul 2020 16:51:58 +0000 (18:51 +0200)]
merge overwritten part of power10 support
Martin Kroeker [Fri, 10 Jul 2020 10:06:50 +0000 (12:06 +0200)]
Merge pull request #2710 from martin-frbg/cmake-lapacktest
Add LAPACK-TESTING to the cmake build
Martin Kroeker [Fri, 10 Jul 2020 08:43:33 +0000 (10:43 +0200)]
Merge pull request #2713 from RajalakshmiSR/p10-gcc10
Change minimum gcc version for POWER10
Rajalakshmi Srinivasaraghavan [Fri, 10 Jul 2020 02:46:06 +0000 (21:46 -0500)]
Change minimum gcc version for POWER10
As the MMA patches for POWER10 are backported to gcc10.2, changing
the minimum gcc version needed to build OpenBLAS for POWER10.
Martin Kroeker [Thu, 9 Jul 2020 11:57:27 +0000 (13:57 +0200)]
Do not build lapack-test on MSVC for now (same as with BLAS test)
Martin Kroeker [Thu, 9 Jul 2020 11:44:25 +0000 (13:44 +0200)]
enable fortran for cmake
Martin Kroeker [Thu, 9 Jul 2020 11:13:16 +0000 (13:13 +0200)]
Modify for building with OpenBLAS
Martin Kroeker [Thu, 9 Jul 2020 11:12:35 +0000 (13:12 +0200)]
Modify for building with OpenBLAS
Martin Kroeker [Thu, 9 Jul 2020 09:44:31 +0000 (11:44 +0200)]
Append crude hack for enabling lapack tests in the OpenBLAS build
Martin Kroeker [Thu, 9 Jul 2020 09:42:02 +0000 (11:42 +0200)]
Add lapack-test
Martin Kroeker [Wed, 8 Jul 2020 10:26:44 +0000 (12:26 +0200)]
Merge pull request #2708 from RajalakshmiSR/p10_future
Changing mcpu option as power10
Martin Kroeker [Tue, 7 Jul 2020 16:52:06 +0000 (18:52 +0200)]
Merge branch 'develop' into aix
Rajalakshmi Srinivasaraghavan [Tue, 7 Jul 2020 16:25:20 +0000 (11:25 -0500)]
Changing mcpu option as power10
As compiler enabled mcpu option as power10, changing it from future.
Martin Kroeker [Tue, 7 Jul 2020 13:46:32 +0000 (15:46 +0200)]
Obtain actual cpu count on AIX and suppress spurious NO_AVX512 on non-x86
Jussi Enkovaara [Tue, 7 Jul 2020 10:35:43 +0000 (13:35 +0300)]
fixes #2238
Always obey omp_get_max_threads() when build with USE_OPENMP
Martin Kroeker [Mon, 6 Jul 2020 22:12:28 +0000 (00:12 +0200)]
Merge pull request #2670 from mhillenibm/dumpfullversion_on_gcc7
RFC: Use -dumpfullversion to get minor version on gcc-7 and newer
Martin Kroeker [Thu, 2 Jul 2020 20:32:51 +0000 (22:32 +0200)]
Merge pull request #2703 from martin-frbg/issue2702
Compatibility fix for gcc < 4.7
Martin Kroeker [Thu, 2 Jul 2020 15:00:15 +0000 (17:00 +0200)]
Option -mavx2 requires at least gcc 4.7
Martin Kroeker [Thu, 2 Jul 2020 14:56:00 +0000 (16:56 +0200)]
Merge pull request #69 from xianyi/develop
rebase
Martin Kroeker [Wed, 1 Jul 2020 06:29:52 +0000 (08:29 +0200)]
Merge pull request #2693 from EGuesnet/AIX-build-on-POWER8-32bits
AIX build on POWER8 32bits
EGuesnet [Tue, 30 Jun 2020 13:16:39 +0000 (15:16 +0200)]
Update cgemm_kernel_8x4_power8.S
Martin Kroeker [Sat, 27 Jun 2020 15:47:24 +0000 (17:47 +0200)]
Merge pull request #2688 from martin-frbg/cometlake
Add autodetection of Intel Comet Lake H and S models
Martin Kroeker [Sat, 27 Jun 2020 12:41:24 +0000 (14:41 +0200)]
Add support for Comet Lake H and S
Martin Kroeker [Sat, 27 Jun 2020 12:36:37 +0000 (14:36 +0200)]
Add support for Comet Lake H & S
Martin Kroeker [Sat, 27 Jun 2020 12:29:29 +0000 (14:29 +0200)]
Merge pull request #68 from xianyi/develop
rebase
Martin Kroeker [Fri, 26 Jun 2020 20:53:09 +0000 (22:53 +0200)]
Merge pull request #2687 from martin-frbg/utfbom
Strip UTF8 byte order marker from source files
Martin Kroeker [Fri, 26 Jun 2020 20:52:45 +0000 (22:52 +0200)]
Merge pull request #2686 from RajalakshmiSR/p10_shgemm
powerpc: Optimized SHGEMM kernel for POWER10
Martin Kroeker [Fri, 26 Jun 2020 10:11:03 +0000 (12:11 +0200)]
Merge pull request #2683 from mtreinish/add-comet-lake-support
Add cpu detection support for comet lake U
Martin Kroeker [Fri, 26 Jun 2020 09:27:28 +0000 (11:27 +0200)]
Merge pull request #2680 from kavanabhat/aix_makefile_fix
Fix for #2671
Martin Kroeker [Fri, 26 Jun 2020 07:00:43 +0000 (09:00 +0200)]
Strip UTF8 byte order marker from source
Rajalakshmi Srinivasaraghavan [Fri, 26 Jun 2020 03:19:08 +0000 (22:19 -0500)]
powerpc: Optimized SHGEMM kernel for POWER10
This patch introduces new optimized version of SHGEMM kernel
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.
Matthew Treinish [Thu, 25 Jun 2020 19:53:56 +0000 (15:53 -0400)]
Also set CPUTYPE in get_cpuname()
Matthew Treinish [Thu, 25 Jun 2020 15:56:49 +0000 (11:56 -0400)]
Add support to driver/others/dynamic.c too
Matthew Treinish [Thu, 25 Jun 2020 15:32:09 +0000 (11:32 -0400)]
Add cpu detection support for comet lake U
Comet Lake U CPUs have family: 6, model: 6, extended family: 0, and
extended model: 10 were not being correctly detected by GETARCH during
openblas builds and would show CORE=UNKNOWN and LIBCORE=unknown. This
commit adds the necessary information to cpuid_x86 to detect extended
family 10 model 6 and return the proper core information. It's
essentially just a skylake cpu, not skylake x, so I just took the used
the same return fields as skylake.
Martin Kroeker [Thu, 25 Jun 2020 11:29:52 +0000 (13:29 +0200)]
Fix variable names in conditional
Martin Kroeker [Thu, 25 Jun 2020 11:12:36 +0000 (13:12 +0200)]
Fix POWERPC builds on AIX (gcc/gfortran 7)
1. macro preprocessing for POWER8 and later kernels only
2. default buffer size used by AIX version of m4 is too small
Martin Kroeker [Thu, 25 Jun 2020 10:58:13 +0000 (12:58 +0200)]
Fix utest build on AIX
Martin Kroeker [Thu, 25 Jun 2020 10:57:00 +0000 (12:57 +0200)]
Tentative changes for building on AIX
Martin Kroeker [Thu, 25 Jun 2020 10:55:10 +0000 (12:55 +0200)]
Fix reading of CPU name from prtconf output on AIX
Martin Kroeker [Thu, 25 Jun 2020 10:31:35 +0000 (12:31 +0200)]
Fix handling of uname output on AIX
Martin Kroeker [Thu, 25 Jun 2020 08:33:03 +0000 (10:33 +0200)]
Merge pull request #67 from xianyi/develop
rebase
Martin Kroeker [Thu, 25 Jun 2020 06:31:38 +0000 (08:31 +0200)]
Merge pull request #2679 from RajalakshmiSR/P10_GEMM
POWER10 Optimized GEMM kernels
Martin Kroeker [Thu, 25 Jun 2020 06:31:17 +0000 (08:31 +0200)]
Merge pull request #2677 from brada4/develop
address vs2019 C4293 warning
Gordon Fossum [Wed, 24 Jun 2020 19:50:12 +0000 (14:50 -0500)]
powerpc: Optimized ZGEMM kernel for POWER10
This patch introduces new optimized version of ZGEMM kernel
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.
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
Kavana Bhat [Wed, 24 Jun 2020 09:25:47 +0000 (04:25 -0500)]
Fix for #2671
User User-User [Wed, 24 Jun 2020 06:12:23 +0000 (09:12 +0300)]
address vs2019 C4293
Martin Kroeker [Tue, 23 Jun 2020 08:13:44 +0000 (10:13 +0200)]
Merge pull request #66 from xianyi/develop
rebase
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
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
Martin Kroeker [Sun, 21 Jun 2020 10:41:01 +0000 (12:41 +0200)]
Merge pull request #65 from xianyi/develop
rebase
wjc404 [Fri, 19 Jun 2020 16:07:43 +0000 (00:07 +0800)]
AVX512 dgemm tcopy_16 function
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
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
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>
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>
Marius Hillenbrand [Tue, 16 Jun 2020 13:45:59 +0000 (15:45 +0200)]
RFC: Use gcc -dumpfullversion to get minor version with gcc-7.x
In gcc-7.1, the behavior of -dumpversion changed to be configured
at compile-time. On some distributions it only dumps the major version
(e.g., Ubuntu), so the current checks for the gcc minor version report
false negatives. As a replacement, gcc-7.1 introduced -dumpfullversion
which always prints the full version.
Update the gcc version detection in Makefile.system to employ
-dumpfullversion with gcc-7 and newer.
Posting this patch for discussion, since it emerged from discussions
around issue #2668 and PR #2669. It is not solving a problem right now,
but may be useful in the future.
Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
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>
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>
Martin Kroeker [Sun, 14 Jun 2020 20:05:19 +0000 (22:05 +0200)]
Increment 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
Martin Kroeker [Sun, 14 Jun 2020 20:02:45 +0000 (22:02 +0200)]
Merge branch 'release-0.3.0' into develop
Martin Kroeker [Sun, 14 Jun 2020 19:57:52 +0000 (21:57 +0200)]
Increment 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
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
Martin Kroeker [Sun, 14 Jun 2020 19:55:31 +0000 (21:55 +0200)]
Update with 0.3.10 changes
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
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.
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
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
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
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
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
Martin Kroeker [Sat, 13 Jun 2020 22:09:31 +0000 (00:09 +0200)]
Fix 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
Martin Kroeker [Sat, 13 Jun 2020 21:21:13 +0000 (23:21 +0200)]
Respect predefined defaults for AR, AS, LD and RANLIB
Simon Märtens [Sat, 13 Jun 2020 20:37:39 +0000 (22:37 +0200)]
Added missing exported symbols.
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
Martin Kroeker [Sat, 13 Jun 2020 17:14:47 +0000 (19:14 +0200)]
Merge pull request #64 from xianyi/develop
rebase
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.
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
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
ZhangDanfeng [Tue, 9 Jun 2020 17:01:16 +0000 (01:01 +0800)]
fix INIT8x4
Signed-off-by: ZhangDanfeng <467688405@qq.com>
Martin Kroeker [Tue, 9 Jun 2020 14:11:13 +0000 (16:11 +0200)]
Limit optimization level to O1 for flang and add -frecursive
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
Martin Kroeker [Tue, 9 Jun 2020 14:07:03 +0000 (16:07 +0200)]
Apply previously AOCC-specific workaround to all versions of flang
Martin Kroeker [Tue, 9 Jun 2020 13:54:30 +0000 (15:54 +0200)]
Merge pull request #63 from xianyi/develop
rebase
Leonard Lausen [Tue, 9 Jun 2020 06:54:42 +0000 (06:54 +0000)]
Test enforce -O1 for flang
Leonard Lausen [Tue, 9 Jun 2020 06:25:45 +0000 (06:25 +0000)]
Test flang build
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
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
Martin Kroeker [Sun, 7 Jun 2020 17:44:50 +0000 (19:44 +0200)]
Merge pull request #2645 from martin-frbg/misc_fixes
Miscellaneous fixes