Commit Graph

337 Commits

Author SHA1 Message Date
Martin Kroeker
103d6f4e42 Require "classic ld" with XCODE 15.x on Mac 2023-10-10 16:15:52 +02:00
Rajalakshmi Srinivasaraghavan
a11e1e10f4 powerpc: Fix build errors with xlf
This patch fixes errors when using xlf as fortran compiler on Linux.
Tested with gcc/xlf and clang/xlf compiler combinations.
2023-09-29 10:32:34 -05:00
Martin Kroeker
bb47183222 Force -qextname for trailing underscore generation when IBM xlf is used with gcc 2023-09-24 10:13:47 +02:00
Martin Kroeker
09911f077e Disable SVE targets for DYNAMIC_ARCH when compiling with (homebrew)gcc on macOS/arm64 2023-09-05 16:33:40 +02:00
Ian McInerney
8a8a8479be Fix cooperlake and sapphire rapids march flags on clang
The march=cooperlake and march=sapphirerapids flags were never getting
added when building with Clang targetting those architectures. Instead
it was falling back to the skylake AVX512 implementation.

Clang added support for these two architectures in Clang 9 and Clang 12,
so introduce new checks for those versions to enable the appropriate
march flag, and fallback to skylake otherwise.
2023-08-14 16:12:35 +01:00
gxw
d46772e037 LoongArch64: Add compiler feature checks 2023-08-05 10:21:43 +08:00
Martin Kroeker
e8bc8a0ee7 Add support for the new generation flang that comes with LLVM17 2023-08-04 15:32:19 +02:00
Chris Sidebottom
f971ef55f2 Add ARMV8SVE to AArch64 Dynamic Dispatch
In order to enable support for future cores which have similar tunings
(in this case I'm doing this for the Arm(R) Neoverse(TM) V2 core), this generically detects SVE support and enables it. This should better manage the size and complexity of dynamic dispatch rather than just copy pasting the same parameters.

To make `ARMV8SVE` more representive of the common 128-bit SVE case,
I've split it and similar parameters from A64FX which has the wider
512-bit SVE.
2023-07-25 18:35:15 +01:00
Martin Kroeker
c3a2d407a0 Merge pull request #4048 from imzhuhl/spr_sbgemm_fix
Sapphire Rapids sbgemm fix
2023-06-17 20:47:09 +02:00
gxw
67d1e72e8b LoongArch64: Add ABI detection for loongarch64
If lp64d ABI is supported, it is used; otherwise,
it falls back to the lp64 ABI.
2023-06-08 20:25:35 +08:00
Honglin Zhu
0b83088887 spr dynamic arch support 2023-05-19 10:48:18 +08:00
Martin Kroeker
ebe50458f3 Do not add a -tp to the flags of the nvc compiler if there is one already in CFLAGS 2023-02-09 09:29:27 +01:00
Martin Kroeker
3e64fa72c4 Settings from Makefile(_kernel).conf should be available to DYNAMIC_ARCH kernel builds 2022-12-29 23:05:22 +01:00
Martin Kroeker
ca3b5ae3f0 Pass NO_SVE if set 2022-12-25 12:19:20 +01:00
Martin Kroeker
d16261fbc6 SVE-enabled targets in ARM64 DYNAMIC_ARCH require a recent compiler 2022-12-25 10:19:02 +01:00
Martin Kroeker
57151b97aa Fix INTERFACE64 builds on riscv and loongarch 2022-12-15 18:52:46 +01:00
Martin Kroeker
62341ac5e1 Fix missing parenthesis 2022-12-15 12:30:16 +01:00
Martin Kroeker
5a294b0c8a Add -lm on any arm/arm64 BSD, not just FreeBSD 2022-12-15 10:35:47 +01:00
Martin Kroeker
ea6c5f3cf5 Add option RELAPACK_REPLACE 2022-10-30 12:55:23 +01:00
Martin Kroeker
bd30120ba7 Merge pull request #3720 from FlyGoat/mips64
Make it work on general MIPS64 processors
2022-08-19 20:24:27 +02:00
Jiaxun Yang
fae9368f14 Implement DYNAMIC_LIST for MIPS64
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2022-08-12 13:13:31 +01:00
Jiaxun Yang
a50b29c540 Provide a fallback MIPS64_GENERIC target
It is really dangerous to fallback to Loongson core on other
MIPS64 processors.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2022-08-12 13:13:28 +01:00
Martin Kroeker
85fd3c4279 Support compilation with the Cray C and Fortran compilers (#3712)
* Add support for the Cray Fortran compiler
2022-08-04 20:42:18 +02:00
Martin Kroeker
d0ba257de0 Merge pull request #3704 from XiWeiGu/loongarch64_dynamic_arch
LoongArch64: Add DYNAMIC_ARCH support
2022-07-28 20:31:20 +02:00
Rajalakshmi Srinivasaraghavan
1d97405c02 POWER: Enable bfloat16 kernels by default
This patch enables bfloat16 kernels by default for POWER processors.
Tested on Linux POWER8, POWER9, POWER10 and AIX POWER10 systems.
2022-07-28 07:43:53 -05:00
gxw
fbfe1daf6e LoongArch64: Add DYNAMIC_ARCH support 2022-07-28 14:28:45 +08:00
gxw
3573306a69 LoongArch64: Add core LOONGSON2K1000 and LOONGSONGENERIC 2022-07-25 16:04:56 +08:00
Martin Kroeker
407a1a242c Merge pull request #3670 from martin-frbg/osxvermin
Increase MACOSX_DEPLOYMENT_TARGET to 11 on ARM macs
2022-06-29 08:31:04 +02:00
Martin Kroeker
be5500e704 Merge pull request #3669 from VFerrari/fix_small_matrix_kernel
POWER: fix issues with the small matrix kernel
2022-06-28 16:09:36 +02:00
Martin Kroeker
914c4d0fe8 Add C versions of the CBLAS test sources (#3656)
* Add C conversions of the CBLAS tests for NOFORTRAN=1 builds

* Enable CTEST without Fortran and fix passing of BUILD_vartype options to exports/gensymbol
2022-06-28 11:52:48 +02:00
Martin Kroeker
2857987ff6 Increase MACOSX_DEPLOYMENT_TARGET to 11 on ARM macs 2022-06-28 11:46:25 +02:00
VFerrari
2062280c6f Power: Enable SMALL_MATRIX OPT as default for dynamic arch 2022-06-25 03:47:03 -03:00
Martin Kroeker
8f13ab94d2 Merge pull request #3613 from Rabenda/fix-riscv
Fix riscv64 detect
2022-05-04 07:22:47 +02:00
Martin Kroeker
24e99eca31 Avoid adding -lgfortran with NOFORTRAN 2022-04-27 20:31:42 +02:00
Han Gao
3fc52ebcfb Fix other arch build in detect.
When CORE is empty, use -march=loongson3a. Fix it.

Signed-off-by: Han Gao <gaohan@uniontech.com>
2022-04-27 01:34:55 +08:00
Niyas Sait
3f5d145cd4 build: minor fixes to build on windows with make
This patch contains following fixes

1. Fix to build without PIC flag
2. Define LAPACK_COMPLEX_STRUCTURE for windows. Builds are failing
without it and changes are consistent with the CMake rules defined
in system.cmake (line 576)
2022-04-25 00:01:12 +01:00
Martin Kroeker
b7873605d4 Use f2c translations of LAPACK when no Fortran compiler is available (#3539)
* Add C equivalents of the Fortran routines from Reference-LAPACK as fallbacks, and C_LAPACK variable to trigger their use
2022-04-09 22:38:58 +02:00
Martin Kroeker
499ae5e8f7 Merge pull request #3510 from martin-frbg/issue3505
Fix recent SkylakeX/DYNAMIC_ARCH DGEMM breakage
2022-01-09 14:50:51 +01:00
Martin Kroeker
f1ac59f200 Forward DYNAMIC_ARCH option to Makefile.prebuild 2022-01-08 23:48:58 +01:00
Sunita Nadampalli
19c8f615dc OpenBLAS: aarch64: Add neoverse-v1/n2 architecture specifics 2022-01-07 00:28:17 +00:00
Martin Kroeker
ed430cd963 Update -tp option for recent nvfortran on x86_64 2021-12-18 21:56:26 +01:00
kavanabhat
eee3381cbe Fallback for Power kernels 2021-12-08 03:52:23 -06:00
Martin Kroeker
54d321d742 Merge pull request #3466 from rafaelcfsousa/rafael/small_matrix_p10
[POWER] Add small matrix for sgemm/dgemm on Power10
2021-12-03 12:12:20 +01:00
kavanabhat
9a45b5123f Update Makefile.system 2021-12-02 13:29:38 +05:30
kavanabhat
7b5b93037d Fix truncated assembler checks 2021-12-01 19:30:40 +05:30
Rafael Cardoso Fernandes Sousa
c78fdcc80d [POWER] Add support for SMALL_MATRIX_OPT 2021-11-28 12:41:16 -06:00
Martin Kroeker
46947efb83 Ignore compiler support for MIPS MSA if the cpu lacks this capability 2021-11-13 23:32:26 +01:00
Martin Kroeker
9cc0098ce2 Fix potentially wrong HOSTARCH definition in cross-compilation 2021-11-10 22:27:14 +01:00
Martin Kroeker
a6fd497820 Fix nvidia HPC version checks 2021-10-30 17:31:19 +02:00
Martin Kroeker
bb01e26cfe Adjust compiler options for nvidia hpc 21.9 (and fix a long-standing typo in dynamic_arch settings) 2021-10-29 16:39:03 +02:00