Commit Graph

39 Commits

Author SHA1 Message Date
Chip Kerchner d408ecedba Add environment variable to display coretype for dynamic arch. 2024-02-08 12:17:18 -06:00
Chip Kerchner ac6b4b7aa4 Make sure CPU ID works for all POWER_10 conditions 2024-02-08 08:56:30 -06:00
Chip Kerchner 08ce6b1c1c Add missing CPU ID definitions for old versions of AIX. 2024-02-07 07:54:06 -06:00
Chip-Kerchner d99aad8ee3 Fix older version of gcc - missing __has_builtin, cpuid and no support of P10. 2023-11-14 11:07:08 -06:00
Chip-Kerchner 4eecccd49b Fix __builtin_cpu_is for AIX. 2023-11-08 07:12:21 -06:00
Chip-Kerchner 5e31c57083 Only define __builtin_cpu_is and __builtin_cpu_supports if not present. 2023-11-07 20:58:34 -06:00
Chip-Kerchner 7dcb2d67f2 Have POWER7 return arch=POWER6. 2023-11-01 15:23:28 -05:00
Chip-Kerchner c8882bd9d8 Remove POWER7 from cpu list. 2023-11-01 14:53:55 -05:00
Chip-Kerchner 880af052dd Fix dynamic dispatch P9 for clang. 2023-10-06 13:41:49 -05:00
Chip-Kerchner 3655632611 Another small change. 2023-10-06 13:11:40 -05:00
Chip-Kerchner 36e08f6994 One more small change. 2023-10-06 13:08:41 -05:00
Chip-Kerchner 298bf1f240 Reduce differences. 2023-10-06 12:50:28 -05:00
Chip-Kerchner 71c6689af4 Fix dynamic dispatch to work for clang. 2023-10-06 12:20:40 -05:00
Chip-Kerchner c60f9d9c08 Add missing CPU_POWER5. 2023-10-06 09:49:17 -05:00
Chip Kerchner 3cc72a3797 Only include cpu_id and cpu_supports in AIX and fix parameter types. 2023-10-04 09:54:37 -05:00
Chip-Kerchner 09212f84bf Fix default case for cpu_is. 2023-10-03 12:23:21 -05:00
Chip-Kerchner 2d0b233425 Fix missing parens. 2023-10-03 10:26:14 -05:00
Chip-Kerchner a8c90eb3ed Added cpu_is 2023-10-03 10:24:04 -05:00
Chip-Kerchner b677d0d5fd Adding missing endif 2023-10-02 13:09:12 -05:00
Chip-Kerchner e5dc376912 Remove duplicate defines. 2023-10-02 12:48:47 -05:00
Chip-Kerchner 10210748de Revert PGI changes. 2023-10-02 12:44:07 -05:00
Chip-Kerchner a922a07e61 Cleanup white spaces. 2023-10-02 12:24:30 -05:00
Chip-Kerchner 12130ee961 Remove tab. 2023-10-02 12:19:22 -05:00
Chip-Kerchner eb738d9929 Minor changes. 2023-10-02 12:14:46 -05:00
Chip-Kerchner 3b1150fcee Fix CPU identification to work on AIX. 2023-10-02 12:00:48 -05:00
Rafael Cardoso Fernandes Sousa 0e8b4adf22 Remove unused commented code (#if directive) 2021-09-15 22:18:48 +00:00
Martin Kroeker 186368ddc3
Fix compilation with CLANG 2021-03-16 16:52:57 +01:00
Martin Kroeker b94dab5250
patch to support power10 in builtin_cpu_is was backported to gcc 10.2, so allow that as wel 2021-01-20 21:34:36 +01:00
Martin Kroeker 63fa3c3f8f
Require gcc 11 for builtin_cpu_is(power10)
fixes #3074
2021-01-20 15:41:04 +01:00
Martin Kroeker 17c16f2a71
Implement builtin_cpu_is and limit cpu choices to P8 and P9 for NVIDIA compilers 2020-12-19 23:21:22 +01:00
Martin Kroeker 6232237dba
Make fallback from P10 to P9 conditional on suitable compiler 2020-12-11 23:41:17 +01:00
Anton Blanchard 043f3d6faa POWER10: Use POWER9 as a fallback
If the toolchain is too old, or the mma features isn't set on a POWER10
fall back to the POWER9 loops.
2020-11-19 21:04:10 +11:00
Martin Kroeker ff65952e46
Move HAVE_P10_SUPPORT to the build system
to be able to include a binutils version check
2020-10-20 00:55:41 +02:00
Rajalakshmi Srinivasaraghavan af1e140e35 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.
2020-07-09 21:46:06 -05:00
Rajalakshmi Srinivasaraghavan 45d819ca82 Changing mcpu option as power10
As compiler enabled mcpu option as power10, changing it from future.
2020-07-07 11:25:20 -05:00
Rajalakshmi Srinivasaraghavan 9fe930f205 powerpc: Add support for future processor
This is the initial patch to support build infrastructure
for POWER10 architecture.
2020-06-11 15:47:20 -05:00
Rajalakshmi Srinivasaraghavan 2afc074803 Fix DYNAMIC_ARCH build for POWER9
Setting DYNAMIC_ARCH=1 on POWER9 does not build POWER9 files due to some
compiler version checks.  This patch fixes some of the macros that are used
to check compiler version.  On fixing those checks, there are some new make
failures related to icamin, icamax, isamin, isamax and caxpy files on POWER9.
This patch fixes those failures as well.
2020-03-03 12:35:10 -06:00
Martin Kroeker 673e5a0495
Replace several POWER8/9 C kernels with their gcc7-generated assembly versions (#2263)
* Add gcc7-generated assembly files for POWER8/9 isa/ica-min/max and POWER9 caxpy

To work around internal compiler errors encountered when compiling the original C source with gcc 4 and 5, and wrong code generated by gcc 8.3.0

* Use gcc-generated assembly instead of original C sources

to work around internal compiler errors encountered with gcc 4.8/5.4 and wrong code generation by gcc 8.3

* Use gcc-generated assembly instead of the original C source

to work around internal compiler errors encountered with gcc 4.8 and 5.4, and wrong code generation by gcc 8.3

* Add gcc7-generated assembler version of caxpy for power8

to work around wrong code generated by gcc 8.3

* Handle CONJ define for caxpyc

* Handle CONJ define for caxpyc

* Add gcc7-generated assembly cdot for POWER9

* Use prebuilt assembly for POWER9 cdot

created with gcc 7.3.1 to work around ICE in older gcc versions

* Exclude POWER9 from DYNAMIC_ARCH when gcc versions is lower than 6

* Update Makefile.system

* Use PROLOGUE macro to ensure correct function name for DYNAMIC_ARCH

* Disable POWER9 with old gcc versions
2019-09-22 22:35:22 +02:00
Rashmica Gupta bcdf1d4917 Add in runtime CPU detection for POWER. 2019-04-09 14:20:16 +10:00