wernsaar
a135f5d9ed
added gemm_tcopy_2_bulldozer.S
2013-06-18 11:01:33 +02:00
wernsaar
d0b6299b13
added dgemm_tcopy_8_bulldozer.S
2013-06-17 14:19:09 +02:00
wernsaar
9e58dd509e
added gemm_ncopy_2_bulldozer.S
2013-06-17 12:55:12 +02:00
wernsaar
7c8227101b
cleanup of dgemv_n_bulldozer.S and optimization of inner loop
2013-06-16 12:50:45 +02:00
wernsaar
f67fa62851
added dgemv_n_bulldozer.S
2013-06-15 16:42:37 +02:00
Zhang Xianyi
cd1d473ba0
Merge pull request #230 from wernsaar/develop
...
Refs #230 . New dgemm and sgemm Kernel for BULLDOZER
2013-06-13 07:29:27 -07:00
wernsaar
0ded1fcc1c
performance optimizations in sgemm_kernel_16x2_bulldozer.S
2013-06-13 11:35:15 +02:00
wernsaar
a789b588cd
added cgemm_kernel_4x2_bulldozer.S
2013-06-12 15:55:27 +02:00
wernsaar
8eaa04acbb
added zgemm_kernel_2x2_bulldozer.S
2013-06-11 12:00:49 +02:00
wernsaar
d854b30ae6
Added UNROLL values for 3M to getarch_2nd.c, Makefile.system and Makefile.L3
2013-06-09 17:26:42 +02:00
wernsaar
d65bbec99b
added new sgemm kernel for BULLDOZER
2013-06-09 15:57:42 +02:00
wernsaar
e4c39c7c26
changed stack touching
2013-06-08 10:43:08 +02:00
wernsaar
25491e42f9
New dgemm kernel for BULLDOZER: dgemm_kernel_8x2_bulldozer.S
2013-06-08 09:40:17 +02:00
Zhang Xianyi
9f59f384d8
Refs #223 . Fixed s/dgemv bug on windows.
2013-06-04 16:01:05 +08:00
wangqian
23965f164c
Fixed overflow internal buffer bug of (s/d/c/z)gemv on x86_64.
2013-05-29 19:48:31 +08:00
wangqian
6a72840945
Fixed overflow internal buffer bug of (s/d/c/z)gemv on x86.
2013-05-29 13:23:12 +08:00
wernsaar
69aa6c8fb1
bad performance with some data
2013-04-28 11:14:23 +02:00
wernsaar
60b263f3d2
removed trsm_kernel_RT_4x4_bulldozer.S. wrong results
2013-04-27 17:23:08 +02:00
wernsaar
7ac306e0da
added trsm_kernel_RT_4x4_bulldozer.S
2013-04-27 16:48:48 +02:00
wernsaar
4cb454cdf2
added trsm_kernel_LT_4x4_bulldozer.S
2013-04-27 14:30:00 +02:00
wernsaar
19ad2fb128
prefetch improved. Defined 2 different kernels for inner loop
2013-04-27 13:40:49 +02:00
wernsaar
6821677489
minor improvements and code cleanup
2013-04-26 20:05:42 +02:00
Zhang Xianyi
3326f3152c
Merge pull request #213 from wernsaar/develop
...
Merged some improvements into dgemm_kernel_4x4_bulldozer.S.
2013-04-17 23:56:09 -07:00
wernsaar
7641f6e253
Merged some improvements into dgemm_kernel_4x4_bulldozer.S.
...
Changed the copy functions to generic to solve prefetch conflicts
2013-04-16 19:05:06 +02:00
Zhang Xianyi
3ad29452d1
Merge pull request #211 from wernsaar/develop
...
New version of dgemm_kernel_4x4_bulldozer.S
2013-04-15 00:20:55 -07:00
wernsaar
6e3f6f25a5
New version of dgemm_kernel_4x4_bulldozer.S
...
The peak performance with 8 cores is now 90 GFlops
2013-04-12 17:55:51 +02:00
Zhang Xianyi
724ae159ce
Fixed the Windows x86_64 ABI bug in s/daxpy kernels.
2013-03-08 22:28:34 +08:00
wernsaar
f300ce3df5
new optimization of dgemm kernel for bulldozer: 10% performance increase
2013-03-06 17:26:03 +01:00
wernsaar
66e64131ed
optimized again bulldozer dgemm kernel
2013-03-05 19:51:37 +01:00
wernsaar
9405f26f4b
new dgemm_kernel for bulldozer
2013-03-04 17:37:38 +01:00
Zhang Xianyi
5c8bf6ae0e
Merge branch 'bulldozer' into develop
2013-02-10 01:19:42 +08:00
Zhang Xianyi
a1ead62f28
Disable the warning of sgemm bulldozer kernel.
2013-02-09 17:03:13 +01:00
Zhang Xianyi
0133580148
Used sgemm bulldozer kernel on 64 bit.
2013-02-09 16:29:14 +01:00
Zhang Xianyi
274246651d
Merge branch 'bulldozer' of git://github.com/wernsaar/OpenBLAS into bulldozer
2013-02-09 16:25:07 +01:00
Zhang Xianyi
299b5a44dc
Merge branch 'develop' of github.com:xianyi/OpenBLAS into bulldozer
2013-02-09 16:22:04 +01:00
Zhang Xianyi
d311236dfd
Refs #189 . Fixed the bug of s/cdot about invalid reading NAN on x86_64.
2013-01-25 20:56:14 +08:00
Zhang Xianyi
0b08f7479e
Refs #154 . Fixed gemv_t bug about overflow 16MB buffer on x86.
2013-01-20 21:22:12 +08:00
Zhang Xianyi
99d1978df7
Fixed #180 . the typos in kernel/x86_64/sgemv_t.S
2013-01-12 12:31:14 +08:00
Zhang Xianyi
08bf6674d5
Refs #177 . Fixed sgemv_t compiling bug on Win64.
2013-01-05 11:36:39 +08:00
Zhang Xianyi
69200884e1
Refs #173 . Fixed overflow internal buffer bug of gemv_n on x86
2012-12-25 09:27:49 +08:00
Zhang Xianyi
0d1518add9
Refs #173 . Fixed overflow internal buffer bug of sgemv_t on x86
2012-12-25 09:10:17 +08:00
Zhang Xianyi
91ed4e4450
Refs #171 . Prevent loading the dirty number from the buffer in sgemv_t x86 kernel.
2012-12-23 23:14:17 +08:00
Zhang Xianyi
fd3046b32a
Refs #173 . Fixed overflow internal buffer bug of gemv_t on x86.
2012-12-23 21:47:22 +08:00
Julian Taylor
9fb341a9f8
set parameters for CORE_ATHLON
...
else dgemm_p is set to zero leading to a segfault in alloc_mmap due to
allocsize being zero
2012-12-15 16:05:33 +01:00
wernsaar
d48cff8cf1
Added optimized sgemm_kernel
2012-12-08 18:50:53 +01:00
Zhang Xianyi
f19af5ecc0
Refs #54 . Added AMD Bulldozer x86_64 dgemm kernel developed by Werner Saar <wernsaar at googlemail.com>
...
Based on the dgemm kernel for AMD Barcelona, he used AVX and FMA4 instructions.
Thank Werner Saar!
2012-12-07 01:05:11 +08:00
Zhang Xianyi
bfaaa975e6
Added BULLDOZER target. So far it uses barcelona kernels.
2012-12-07 00:53:31 +08:00
Zhang Xianyi
b7c0fa6bd2
Init AMD Bulldozer codebase.
2012-12-06 07:29:54 -05:00
Zhang Xianyi
cea1a885b5
Refs #154 . Fixed the build bug of dgemv_t on MinW64.
2012-11-27 07:24:04 +08:00
Zhang Xianyi
5f0117385e
Refs #154 . Fixed a SEGFAULT bug of dgemv_t when m is very large.
...
It overflowed the internal buffer. Thus, we split vector x into blocks when m is very large.
Thank @wangqian for this patch.
2012-11-19 22:32:27 +08:00
Zhang Xianyi
2573311308
refs #140 . Fixed zdot incompatibility ABI issue with GCC 4.7 on Win 32.
...
GCC 4.7 uses MSVC ABI on Win 32. This means the caller pops the hidden pointer for returning
aggregate structures larger than 8 bytes.
2012-09-24 20:34:33 +08:00
Jameson Nash
d0e731e8b8
provide support for passing CFLAGS, FFLAGS, PFLAGS, FPFLAGS to make on the command line
2012-08-21 00:31:12 -04:00
Xianyi Zhang
25f1a573fd
Fixed the build bug when DYNAMIC_ARCH=0.
2012-07-07 12:12:24 +08:00
wangqian
857a0fa0df
Fixed the issue of mixing AVX and SSE codes in S/D/C/ZGEMM.
2012-06-25 19:00:37 +08:00
wangqian
d34fce56e4
Refs #83 Fixed S/DGEMM calling conventions bug on windows.
2012-06-20 19:53:18 +08:00
wangqian
6cfcb54a28
Fixed align problem in S and C precision GEMM kernels.
2012-06-20 07:38:39 +08:00
wangqian
3ef96aa567
Fixed bug in MOVQ redefine and ALIGN SIZE problem.
2012-06-19 20:37:22 +08:00
wangqian
f76f952547
Refs #83 #53 . Adding Intel Sandy Bridge (AVX supported) kernel codes for BLAS level 3 functions.
2012-06-19 16:37:12 +08:00
Zhang Xianyi
eefd30881c
Refs #113 . Fixed the build bug on AMD Bobcat 64-bit OS.
2012-06-02 21:34:23 +08:00
Zhang Xianyi
d3b67d0bd8
Refs #113 . Fixed the typo BOBCATE -> BOBCAT
2012-05-31 22:40:15 +08:00
Zhang Xianyi
d6cab3f37e
Refs #113 . Support AMD Bobcate using Barcelona kernel codes. Replace 3DNow! with MMX.
2012-05-31 18:17:45 +08:00
Xianyi Zhang
a53c6e2440
Merge branch 'develop' into sandybridge
2012-05-25 23:16:44 +08:00
Xianyi Zhang
5d657c6e67
Fixed #96 a SEGFAULT bug in samax on x86.
2012-04-26 16:50:57 +08:00
Xianyi Zhang
03b0eb19f7
Refs #86 . Test alpha=Nan in x86/x86_64 dscale.
2012-04-05 18:16:18 +08:00
Xianyi Zhang
19a48b82cf
Init Sandybridge codes based on Nehalem.
2012-03-30 20:01:03 +08:00
Xianyi Zhang
3871b6a86d
Merge branch 'loongson3b' into release-0.1.0
2012-03-23 01:26:44 +08:00
Xianyi Zhang
83ecfbb9b3
Merge branch 'loongson3a' into release-0.1.0
2012-03-23 01:26:27 +08:00
unknown
dff146e306
refs #80 . Used GEMV SSE2 kernels on x86.
2012-03-19 17:56:22 +08:00
Wang Qian
8e53b57bb2
Appending gemmkernel and trmmkernel C code in kernel/generic, this code can be used to execute on a new platform which dose not have optimized assemble kernel.
2012-01-10 17:16:13 +00:00
Wang Qian
66904fc4e8
BLAS3 used standard MIPS instructions without extensions on Loongson 3B.
2011-11-25 11:20:25 +00:00
Xianyi Zhang
0884f6b78d
Merge branch 'loongson3a' of github.com:xianyi/OpenBLAS into loongson3b
2011-11-11 14:26:49 +00:00
traz
2d78fb05c8
Add conjugate condition to gemv.
2011-11-10 15:38:48 +00:00
Xianyi Zhang
b95ad4cfaf
Support detecting ICT Loongson-3B CPU.
2011-11-09 19:29:50 +00:00
Xianyi Zhang
3bbe3ddb31
Merge branch 'develop' of github.com:xianyi/OpenBLAS into loongson3b
2011-11-09 19:08:29 +00:00
traz
a32e56500a
Fix the compute error of gemv when incx and incy are negative numbers.
2011-11-04 19:32:21 +00:00
traz
c1e618ea2d
Add complete gemv function on Loongson3a platform.
2011-11-03 13:53:48 +00:00
traits
19f5b5c132
Fixed #66 the bug in zgemv kernel with transpose matrix on 64-bit MingW (Windows).
2011-10-18 18:44:23 +08:00
traits
c852ce3981
Ref #65 . Fixed 64-bit Windows calling convention bug in cdot and zdot.
...
According to 64-bit Windows calling convention, the return value is in %rax instead of %xmm0 in cdot kernel.
In zdot, the caller allocates a memory space for return value and sets this memory address to the first hidden parameter. Thus, the callee (zdot) should assign the result to this memory space and return the memory address in %rax.
2011-10-18 10:23:17 +08:00
traz
e08cfaf9ca
Complete all the complex single-precision functions of level3, but the performance needs further improve.
2011-09-16 17:50:40 +00:00
traz
ee4bb8bd25
Add ctrmm part in cgemm_kernel_loongson3a_4x2_ps.S.
2011-09-16 16:08:39 +00:00
traz
7fa3d23dd9
Complete cgemm function, but no optimization.
2011-09-15 16:08:23 +00:00
traz
9679dd077e
Fix some compute error.
2011-09-14 20:00:35 +00:00
Zhang Xiianyi
7b410b7f0e
Fixed #58 zdot SEGFAULT bug with GCC-4.6. Thank Mr. John for this patch.
...
In i386 calling convention, the caller put the address of return value of zdot into the first hidden parameter.
Thus, the callee should delete this address before return.
Actually, I have fixed the same bug on x86/zdot_sse2.S (issue #32 ). However, that is not a good implementation which uses 3 instructions. Mr. John told me used "ret $0x4" to skip the first hidden address (4 bytes).
2011-09-14 23:52:51 +08:00
traz
d238a768ab
Use ps instructions in cgemm.
2011-09-14 15:32:25 +00:00
traits
b1fe26c45a
refs #55 . Changed DTB_ENTRIES to DTB_DEFAULT_ENTRIES in x86 gemv_n kernel codes.
2011-09-06 14:14:07 +08:00
traits
9fc6764fa7
refs #55 . Added DTB_ENTRIES into dynamic arch setting parameters. Now, it can read DTB_ENTRIES on runtime.
2011-09-05 17:37:07 +08:00
traz
74d4cdb81a
Fix an illegal instruction for strmm_RTLU.
2011-09-02 19:41:06 +00:00
traz
7906146836
Fix an error for strmm_LLTN.
2011-09-02 16:57:33 +00:00
traz
3274ff47b8
Fix an error for strmm_LLTN.
2011-09-02 16:50:50 +00:00
traz
a059c553a1
Fix a compute error for strmm.
2011-09-02 16:00:04 +00:00
traz
23e182ca7c
Fix stack-pointer bug for strmm.
2011-09-02 15:28:01 +00:00
traz
a15bc95824
Add strmm part.
2011-09-02 09:15:09 +00:00
traz
09f49fa891
Using PS instructions to improve the performance of sgemm and it is 4.2Gflops now.
2011-08-31 21:24:03 +00:00
traz
cb0214787b
Modify compile options.
2011-08-30 20:57:00 +00:00
traz
2e8cdd1542
Using ps instruction.
2011-08-30 20:54:19 +00:00
traz
c8360e3ae5
Complete all the plura single precision functions of level3 on Loongson3a, the performance is 2.3GFlops.
2011-07-18 17:03:38 +00:00
traz
68532fa9ec
Merge branch 'loongson3a' of github.com:xianyi/OpenBLAS into loongson3a
2011-06-24 09:28:12 +00:00
traz
708d2b6255
Fix compute error in ztrmm.
2011-06-24 09:27:41 +00:00
traz
e72113f06a
Add ztrmm and ztrsm part on loongson3a. The average performance is 2.2G.
2011-06-23 21:11:00 +00:00
traz
14f81da375
Change prefetch length of A and B, the performance is 2.1G now.
2011-06-23 10:46:58 +00:00