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
Xianyi Zhang
fc21f7ad28
Merge branch 'release-v0.1alpha2' into loongson3a
2011-06-23 16:08:23 +08:00
traz
1c96d345e2
Improve zgemm performance from 1G to 1.8G, change block size in param.h.
2011-06-21 22:16:23 +00:00
Xianyi Zhang
c4efde7713
Merge branch 'loongson3a' into release-v0.1alpha2
2011-06-21 17:50:00 +08:00
Xianyi Zhang
32353a9d30
Refs #20 . Fixed the installation bug with DYNAMIC_ARCH=1.
2011-06-21 17:39:08 +08:00
Xianyi Zhang
b3d1887745
Fixed #35 a build bug with NO_LAPACK=1 DYNAMIC_ARCH=1 FC=gfortran. I forgot to test it with gfortran in last bug fixed commit.
2011-06-09 22:59:49 +08:00
Xianyi Zhang
8d50a9fd1a
Fixed #35 a build bug with NO_LAPACK=1 & DYNAMIC_ARCH=1.
2011-06-09 11:38:59 +08:00
Wang Qian
4335bca2f7
Fixed #33 ztrmm bug on Nehalem.
2011-06-07 12:53:25 +08:00
Xianyi
31040e4d80
Fixed #32 a SEGFAULT bug with gcc-4.6. According to i386 calling convention, The called funtion should remove the hidden return value address from the stack.
2011-06-03 13:19:54 +08:00
traz
88d94d0ec8
Fixed #30 strmm computational error on Loongson3A.
2011-05-28 09:48:34 +00:00
traz
fc84909115
Modify single precision compiler conditions, increasing single precision kernel code on Loongson3a.
2011-05-27 09:47:17 +00:00
traz
5ca4e51df0
Remove the useless code, modify code comments and format.
2011-05-18 10:54:51 +00:00
Xianyi Zhang
fcb5ce011b
Fixed #28 . Convert the result to double precision in MIPS64 dsdot_k kernel.
2011-05-17 21:24:00 +00:00
traz
a9320f896e
Fixed #25 dtrmm and dtrsm computational error on Loongson3A.
2011-05-14 22:00:57 +00:00
Xianyi Zhang
b206fc7075
Fixed #28 . Convert the result to double precision in the end of dsdot kernel.
2011-05-13 02:34:30 +08:00
traz
29dce62b8f
Finish dtrsm_kernel_Rx.S on Loongson3A.
2011-05-11 10:44:23 +00:00
traz
432c309f63
Finish dtrsm_kernel_Lx.S on Loongson3A.
2011-05-10 12:48:43 +00:00
traz
d2f351d819
Modify dtrsm compiler options
2011-05-09 17:31:58 +00:00
traz
5a991b7149
Fixed #24 drmm error on Loongson3A
2011-05-09 17:28:20 +00:00
traz
9320933520
Completely dtrmm function.
2011-04-17 20:26:49 +00:00
traz
921caefa56
Increased handling trmm part, no edge handling. Test size(M and N) must be a multiple of 4 .
2011-04-15 21:56:25 +00:00
traz
ecd4c1f3d9
Modify prefetching C.
2011-04-11 22:46:36 +00:00
traz
ab9e4ce351
Adjust kc size from 112 to 116 .
2011-04-11 22:17:57 +00:00
traz
782205a693
Add dgemm compiler Options in KERNEL.LOONGSON3A.
2011-04-06 10:38:34 +00:00
traz
ac494c0d04
New kernel in LOONGSON3A.
2011-04-06 10:36:44 +00:00
Xianyi Zhang
f405b5bcc5
Fixed the bug about Loongson3A gsLQC1 & gsSQC1 instructions in daxpy kernel. Now daxpy is correct.
2011-03-18 23:05:56 +00:00
Wang Qian
d5cffd506a
Modified the default kernel makefile in MIPS64 arch.
2011-03-07 11:23:12 +00:00
Xianyi Zhang
5838f12995
Support unalign address in daxpy on loongson3a simd..
2011-03-05 10:17:10 +08:00
Xianyi Zhang
5444a3f8f7
Unroll to 16 in daxpy on loongson3a.
2011-03-04 17:50:17 +08:00
Xianyi Zhang
88cbfcc5b5
Merge commit 'origin/x86' into loongson3a
2011-03-04 14:11:52 +00:00
Xianyi Zhang
ce78abe37e
Merge branch 'x86' of github.com:xianyi/OpenBLAS into x86
2011-03-04 11:53:04 +08:00
Xianyi Zhang
8f1090d32a
Support NO_LAPACK=1 to build the lib without LAPACK functions.
2011-03-04 11:51:32 +08:00
Xianyi
272f62a2b6
Changed movlps macro name in capital in x86/zdot_sse2.S file.
2011-03-03 00:46:39 +08:00
Xianyi
36016fe349
On x86 32bits, gcc 4.4.3 generated wrong codes (movsd) from movlps in zdot_sse2.S line 191.
...
This would casue zdotu & zdotc failures. Instead, use movlpd to walk around it. Fixed #8 . Fixed #9 .
2011-03-02 18:45:43 +08:00
Xianyi Zhang
6eb02bbb9c
Merge remote branch 'origin/x86' into loongson3a
2011-03-02 13:52:05 +08:00
Xianyi
12214e1d0f
Fixed #7 . Modified axpy kernel codes to avoid unloop with incx==0 or incy==0 in x86 32bits arch.
2011-02-23 20:08:34 +08:00
Xianyi Zhang
0cfd29a819
Fixed #7 . 1)Disable the multi-thread and 2) Modified kernel codes to avoid unloop in axpy function when incx==0 or incy==0.
2011-02-21 00:24:21 +08:00
Xianyi
bfaa80c316
fixed #4 csrot & drot returned the wrong result when incx==incy==0 on i686 arch.
2011-02-18 03:00:58 +08:00
Xianyi Zhang
c5852d4e30
fixed #4 csrot returned the wrong result when incx==incy==0.
2011-02-16 23:39:43 +08:00
Xianyi Zhang
84ba64e65b
fixed a bug in drot whe incx or incy equals to zero.
2011-02-16 23:35:41 +08:00
Xianyi Zhang
1e671b49f3
Did the experiment with Loongson 3A 128bit load & store instruction.
2011-01-29 03:05:27 +08:00
Xianyi Zhang
77b7020d69
changed prefetch order.
2011-01-29 03:03:34 +08:00
Xianyi Zhang
e003b811ab
load x & y contiguously in axpy.
2011-01-28 11:18:50 +08:00
Xianyi Zhang
ebe2da8474
Modified aligned size. Added additional prefetch instruction because of cache line is 32 bytes in Loongson 3A.
2011-01-27 23:07:06 +08:00
Xianyi Zhang
c0b5992fab
added axpy kernel with prefetch for Loongson3A. To-Do: tuning prefetch distance & instruction order.
2011-01-26 22:34:33 +08:00
Xianyi Zhang
342bbc3871
Import GotoBLAS2 1.13 BSD version codes.
2011-01-24 14:54:24 +00:00