Martin Kroeker
08fa83aba2
Merge pull request #2312 from martin-frbg/power8be
Further Power8 big-endian corrections
6 years ago
Wang, Long
1191db1a49
For the sake of windows compatible, used "unsigned long long" to ensure 64-bit length
Signed-off-by: Wang, Long <long1.wang@intel.com>
6 years ago
Wang, Long
0caf1434c9
Fix the integer overflow issue for large matrix size
For large matrix, e.g. M=N=K, and M>1290, int mnk=M*N*K will overflow.
This will lead to wrong branching to single-threading. The performance
is downgraded significantly.
Signed-off-by: Wang, Long <long1.wang@intel.com>
6 years ago
Martin Kroeker
cad0d150db
Define alternate kernels for big-endian POWER8
6 years ago
Martin Kroeker
eba0aeb7cd
Fix compilation for big-endian POWER8
6 years ago
Martin Kroeker
0c07c356c1
Define alternate kernels for big-endian PPC440
6 years ago
Martin Kroeker
3e67017ac8
Merge pull request #2309 from martin-frbg/ppc970-be
Fix PPC970 big-endian support
6 years ago
Martin Kroeker
b3ac6ee222
Define alternate kernels for big-endian PPC970
The altivec versions of SGEMM and CGEMM fail most test in LAPACK-TESTING when compiled for big endian, STRSM/CTRSM even cause segfaults. The rot kernels either fail the corresponding utest or lead to failures in LAPACK-TESTING.
6 years ago
Martin Kroeker
71e96163db
Merge pull request #2305 from wjc404/develop
AVX512 CGEMM & ZGEMM kernels
6 years ago
wjc404
819e852ae7
AVX512 CGEMM & ZGEMM kernels
96-99% 1-thread performance of MKL2018
6 years ago
Martin Kroeker
4c6a457358
Merge pull request #2300 from wjc404/develop
Optimize SGEMM on SKYLAKEX CPUs
6 years ago
wjc404
836c414e22
optimizations of software prefetching
6 years ago
Martin Kroeker
3cd97f1a80
Merge pull request #2301 from martin-frbg/ppc8be
Disable IDAMIN/MAX and IZAMIN/MAX optimizations on big-endian POWER8
6 years ago
wjc404
430c11e135
Add files via upload
6 years ago
wjc404
fbacd2605d
optimizations via software prefetches
6 years ago
Martin Kroeker
68597002ea
The assembly microkernel is not safe to use on ELFv1
6 years ago
Martin Kroeker
d2a6285549
The assembly microkernel is not safe to use on ELFv1
6 years ago
Martin Kroeker
d999688d1a
The assembly microkernel is not safe to use on ELFv1
6 years ago
Martin Kroeker
928fe1b28e
The assembly microkernel is not safe to use on ELFv1
6 years ago
wjc404
1df9a2013d
new sgemm kernel for skylakex
6 years ago
Martin Kroeker
85ccdce8c4
Remove the IOS fallbacks to generic C kernels
6 years ago
wjc404
6ff013bae0
native support for icopy_4
90% MKL 1-thread performance.
6 years ago
wjc404
0d669e04bb
Update dgemm_kernel_8x8_skylakex.c
6 years ago
wjc404
17cdd9f9e1
some correction
6 years ago
wjc404
6bcb06fcb1
make further changes to icopy_8 easier
6 years ago
wjc404
b7315f8401
Add files via upload
6 years ago
wjc404
9b19e9e1b0
Update dgemm_kernel_8x8_skylakex.c
6 years ago
wjc404
6bd67ddbab
Update dgemm_kernel_8x8_skylakex.c
6 years ago
wjc404
844629af57
Add files via upload
6 years ago
Martin Kroeker
a448884a63
Remove automatic label postfixes from macro included only once
6 years ago
Martin Kroeker
3a2df19db6
Fix accidental duplication of jump instruction
6 years ago
Martin Kroeker
d2093a40d3
Merge pull request #2277 from martin-frbg/issue2275
Rewrite ARMV8 code to allow cross-compilation for IOS
6 years ago
Martin Kroeker
56837e9d92
Make local labels in macro compatible with the xcode assembler
... which does not perform the automatic numbering on instantiation that the _@ suffix signifies
6 years ago
Martin Kroeker
5e244d80f2
Merge pull request #2271 from quickwritereader/strmm_fix
fixed bug power9 strmm . BLAS-TESTER passes
6 years ago
AbdelRauf
ede5efebab
trmm fix
6 years ago
Martin Kroeker
596a22325a
Fix prologue of power9 assembly cdot(c) kernel to provide cdotc
6 years ago
Martin Kroeker
7f58f3ad0e
Fix mis-edits in the gcc-derived power8 caxpy kernel
6 years ago
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
6 years ago
Martin Kroeker
e7c4d6705a
Revert #2051 and replace with a better fix ( #2261 )
* Revert #2051 and add a better fix for TARGET=generic with DYNAMIC_ARCH
fixes #2257 without breaking #2048 again
6 years ago
Martin Kroeker
f3c314550c
Merge pull request #2243 from quickwritereader/develop
possible cgemv,caxpy,cdot fix
6 years ago
AbdelRauf
847c20c9b7
fix uninitialized variables i
6 years ago
AbdelRauf
4c22828812
caxpy and cdot are using vec_vsx_ld
6 years ago
AbdelRauf
e79712d969
cgemv using vec_vsx_ld instead of letting gcc to decide
6 years ago
AbdelRauf
be09551cdf
aligned
6 years ago
Martin Kroeker
11c59acfb1
Keep both PGI/SUN and default code paths to avoid breaking Clang/WIndows
6 years ago
Martin Kroeker
3a55dca2dc
Make x86_64 zdot compile with PGI and Sun C again
broken by #2222 as CREAL,CIMAG do not expand to a valid lvalue with these compilers
6 years ago
Martin Kroeker
9ef96b32a6
Add multithreading support to the x86_64 zdot kernel ( #2222 )
* Add multithreading support
copied from the ThunderX2T99 kernel. For #2221
6 years ago
Martin Kroeker
103b32fdb7
Merge pull request #2216 from martin-frbg/issue2214
Remove case-sensitivity in x86 LSAME on (AMD) cpus without CMOV
6 years ago
Martin Kroeker
aef9804089
Fix unwanted case-sensitivity in x86 LSAME for (AMD) processors without CMOV
Problem was already noticed some years ago in #238 , but back then the problem was only corrected in one of the #ifdef branches.
Fixes #2214
6 years ago
Martin Kroeker
dccff2e785
Merge pull request #2206 from martin-frbg/zen-dtrmm
Replace vpermpd with vpermilpd in the Haswell DTRMM kernel
6 years ago