Rasmus Munk Larsen
1414a76fa9
Only vectorize atan<double> for Altivec if VSX is available.
2022-10-03 22:06:58 +00:00
Rasmus Munk Larsen
c475228b28
Vectorize atan() for double.
2022-10-01 01:49:30 +00:00
Rasmus Munk Larsen
bd393e15c3
Vectorize acos, asin, and atan for float.
2022-08-29 19:49:33 +00:00
Charles Schlosser
e5af9f87f2
Vectorize pow for integer base / exponent types
2022-08-29 19:23:54 +00:00
Chip Kerchner
9e0afe0f02
Fix non-VSX PowerPC build
2022-08-08 18:18:17 +00:00
Chip Kerchner
84a9d6fac9
Fix use of Packet2d type for non-VSX.
2022-08-03 20:48:13 +00:00
Chip Kerchner
ce60a7be83
Partial Packet support for GEMM real-only (PowerPC). Also fix compilation warnings & errors for some conditions in new API.
2022-08-03 18:15:19 +00:00
Chip Kerchner
84cf3ff18d
Add pload_partial, pstore_partial (and unaligned versions), pgather_partial, pscatter_partial, loadPacketPartial and storePacketPartial.
2022-06-27 19:18:00 +00:00
Chip Kerchner
c603275dc9
Better performance for Power10 using more load and store vector pairs for GEMV
2022-06-27 18:11:55 +00:00
Chip Kerchner
4d1c16eab8
Fix tanh and erf to use vectorized version for EIGEN_FAST_MATH in VSX.
2022-06-15 16:06:43 +00:00
Chip Kerchner
aa8b7e2c37
Add subMappers to Power GEMM packing - simplifies the address calculations (10% faster)
2022-05-23 15:18:29 +00:00
Eisuke Kawashima
ac5c83a3f5
unset executable flag
2022-05-22 22:47:43 +09:00
Chip Kerchner
c2f15edc43
Add load vector_pairs for RHS of GEMM MMA. Improved predux GEMV.
2022-04-25 16:23:01 +00:00
Chip Kerchner
44ba7a0da3
Fix compiler bugs for GCC 10 & 11 for Power GEMM
2022-04-20 15:59:00 +00:00
Chip Kerchner
b02c384ef4
Add fused multiply functions for PowerPC - pmsub, pnmadd and pnmsub
2022-04-18 16:16:32 +00:00
Chip Kerchner
53eec53d2a
Fix Power GEMV order of operations in predux for MMA.
2022-04-11 21:29:05 +00:00
Chip Kerchner
403fa33409
Performance improvements in GEMM for Power
2022-04-05 12:18:53 +00:00
Chip Kerchner
0699fa06fe
Split general_matrix_vector_product interface for Power into two macros - one ColMajor and RowMajor.
2022-03-23 18:09:33 +00:00
Chip Kerchner
7b10795e39
Change EIGEN_ALTIVEC_ENABLE_MMA_DYNAMIC_DISPATCH and EIGEN_ALTIVEC_DISABLE_MMA flags to be like TensorFlow's...
2022-03-17 22:35:27 +00:00
Antonio Sanchez
e34db1239d
Fix missing pound
2022-03-16 12:26:12 -07:00
Antonio Sánchez
591906477b
Fix up PowerPC MMA flags so it builds by default.
2022-03-16 19:16:28 +00:00
Erik Schultheis
421cbf0866
Replace Eigen type metaprogramming with corresponding std types and make use of alias templates
2022-03-16 16:43:40 +00:00
Rasmus Munk Larsen
9ad5661482
Revert "Fix up PowerPC MMA flags so it builds by default."
2022-03-15 20:51:03 +00:00
Antonio Sánchez
65eeedf964
Fix up PowerPC MMA flags so it builds by default.
2022-03-15 20:22:23 +00:00
Sean McBride
f1b9692d63
Removed EIGEN_UNUSED decorations from many functions that are in fact used
2022-03-03 20:19:33 +00:00
Chip Kerchner
cb5ca1c901
Cleanup compiler warnings, etc from recent changes in GEMM & GEMV for PowerPC
2022-02-09 18:47:08 +00:00
Chip Kerchner
66464bd2a8
Fix number of block columns to NOT overflow the cache (PowerPC) abnormally in GEMV
2022-01-27 20:35:53 +00:00
Chip Kerchner
708fd6d136
Add MMA and performance improvements for VSX in GEMV for PowerPC.
2022-01-13 13:23:18 +00:00
Kolja Brix
8d81a2339c
Reduce usage of reserved names
2022-01-10 20:53:29 +00:00
Chip Kerchner
9cf34ee0ae
Invert rows and depth in non-vectorized portion of packing (PowerPC).
2021-10-28 21:59:41 +00:00
Rasmus Munk Larsen
d7d0bf832d
Issue an error in case of direct inclusion of internal headers.
2021-09-10 19:12:26 +00:00
Antonio Sanchez
2cc6ee0d2e
Add missing PPC packet comparisons.
...
This is to fix the packetmath tests on the ppc pipeline.
2021-08-17 07:42:04 -07:00
Chip-Kerchner
8dcf3e38ba
Fix unaligned loads in ploadLhs & ploadRhs for P8.
2021-08-16 20:28:22 -05:00
Chip-Kerchner
e07227c411
Reverse compare logic in F32ToBf16 since vec_cmpne is not available in Power8 - now compiles for clang10 default (P8).
2021-08-13 11:21:28 -05:00
Chip Kerchner
66499f0f17
Get rid of used uninitialized warnings for EIGEN_UNUSED_VARIABLE in gcc11+
2021-08-12 21:38:54 +00:00
ChipKerchner
413bc491f1
Fix errors on older compilers (gcc 7.5 - lack of vec_neg, clang10 - can not use const pointers with vec_xl).
2021-08-10 15:03:18 -05:00
Rasmus Munk Larsen
9312a5bf5c
Implement a generic vectorized version of Smith's algorithms for complex division.
2021-07-01 23:31:12 +00:00
Chip Kerchner
91e99ec1e0
Create the ability to disable the specialized gemm_pack_rhs in Eigen (only PPC) for TensorFlow
2021-06-30 23:05:04 +00:00
Rasmus Munk Larsen
bffd267d17
Small cleanup: Get rid of the macros EIGEN_HAS_SINGLE_INSTRUCTION_CJMADD and CJMADD, which were effectively unused, apart from on x86, where the change results in identically performing code.
2021-06-24 18:52:17 -07:00
Rasmus Munk Larsen
52a5f98212
Get rid of code duplication for conj_helper. For packets where LhsType=RhsType a single generic implementation suffices. For scalars, the generic implementation of pconj automatically forwards to numext::conj, so much of the existing specialization can be avoided. For mixed types we still need specializations.
2021-06-24 15:47:48 -07:00
Chip-Kerchner
ef1fd341a8
EIGEN_STRONG_INLINE was NOT inlining in some critical needed areas (6.6X slowdown) when used with Tensorflow. Changing to EIGEN_ALWAYS_INLINE where appropiate.
2021-06-16 16:30:31 +00:00
Antonio Sanchez
9e94c59570
Add missing ppc pcmp_lt_or_nan<Packet8bf>
2021-06-15 13:42:17 -07:00
Rasmus Munk Larsen
fc87e2cbaa
Use bit_cast to create -0.0 for floating point types to avoid compiler optimization changing sign with --ffast-math enabled.
2021-06-11 02:35:53 +00:00
Chip-Kerchner
06c2760bd1
Fix taking address of rvalue compiler issue with TensorFlow (plus other warnings).
2021-04-21 00:47:13 +00:00
Chip Kerchner
c24bee6120
Fix address of temporary object errors in clang11.
...
This fixes the problem with taking the address of temporary objects which clang11 treats as errors.
2021-04-02 16:27:08 +00:00
Chip Kerchner
d59ef212e1
Fixed performance issues for complex VSX and P10 MMA in gebp_kernel (level 3).
2021-03-25 11:08:19 +00:00
Chip Kerchner
c9d4367fa4
Fix pround and add print
2021-03-15 19:07:43 +00:00
Antonio Sanchez
c65c2b31d4
Make half/bfloat16 constructor take inputs by value, fix powerpc test.
...
Since `numeric_limits<half>::max_exponent` is a static inline constant,
it cannot be directly passed by reference. This triggers a linker error
in recent versions of `g++-powerpc64le`.
Changing `half` to take inputs by value fixes this. Wrapping
`max_exponent` with `int(...)` to make an addressable integer also fixes this
and may help with other custom `Scalar` types down-the-road.
Also eliminated some compile warnings for powerpc.
2021-02-27 21:32:06 +00:00
Chip-Kerchner
6eebe97bab
Fix clang compile when no MMA flags are set. Simplify MMA compiler detection.
2021-02-24 20:43:23 -06:00
Chip-Kerchner
c31ead8a15
Having forward template function declarations in a P10 file causes bad code in certain situations.
2021-02-24 23:43:30 +00:00