Commit Graph

240 Commits

Author SHA1 Message Date
Vladimir Chalupecky
194082cf5b blas/testblas: clean up Drotmg test and relax tolerance 2023-07-29 11:54:43 +02:00
Vladimir Chalupecky
fd2bc7697a blas/testblas: add flag to DrotgTest to skip extreme values 2023-07-27 17:56:55 +02:00
Chris Nobody
45b800a8c6 all: add pkg.go.dev reference README badges
As discussed during the review of the immediately preceding changesets.
2023-03-16 06:40:50 +10:30
Chris Nobody
f040f6bd07 all: replace godoc.org README badges with godocs.io ones
The links have been redirecting to `pkg.go.dev` for a while now. In the
case of the main README, that made the badge a virtual duplicate of the
"go.dev reference" one.
2023-03-16 06:40:50 +10:30
Dan Kortschak
5f0141ca4c all: run gofmt and generate all packages
Changes made in dsp/fourier/internal/fftpack break the formatting used
there, so these are reverted. There will be complaints in CI.

[git-generate]
gofmt -w .
go generate gonum.org/v1/gonum/blas
go generate gonum.org/v1/gonum/blas/gonum
go generate gonum.org/v1/gonum/unit
go generate gonum.org/v1/gonum/unit/constant
go generate gonum.org/v1/gonum/graph/formats/dot
go generate gonum.org/v1/gonum/graph/formats/rdf
go generate gonum.org/v1/gonum/stat/card

git checkout -- dsp/fourier/internal/fftpack
2022-08-06 07:05:17 +09:30
Dan Kortschak
a2c6f817bf ci: replace golangci-lint with staticcheck 2022-05-18 21:35:57 +09:30
Dan Kortschak
d8ad7756b6 all: fix spelling and typos 2022-03-14 21:32:06 +10:30
Jinesi Yelizati
befe5e99e1 blas: update README 2021-10-01 05:45:00 +09:30
Vladimir Chalupecky
e25273b06b blas/gonum: rewrite Drotg and extend its test 2021-05-19 11:41:04 +02:00
Dan Kortschak
62923c3fe1 blas/gonum,internal/asm/f32: harmonise gemv implementations in blas/gonum 2021-04-05 17:33:26 +09:30
Dan Kortschak
72a4f789d0 blas/{gonum,testblas}: increase coverage cases for alpha and beta zeros 2021-03-31 16:26:44 +10:30
Dan Kortschak
da72779e7a floats/scalar: new package containing non-vector functions from floats 2020-08-07 07:59:02 +09:30
Dan Kortschak
78ef2f096f blas/{gonum,testblas}: zero out elements of c when beta is zero 2020-03-30 20:22:58 +10:30
Egon Elbre
028ce68c53 blas/gonum: improve dgemmParallel performance
name                  old time/op  new time/op  delta
DgemmSmSmSm-32         820ns ± 1%   823ns ± 0%     ~     (p=0.127 n=5+5)
DgemmMedMedMed-32      137µs ± 1%   139µs ± 0%   +1.12%  (p=0.008 n=5+5)
DgemmMedLgMed-32       463µs ± 0%   450µs ± 0%   -2.88%  (p=0.008 n=5+5)
DgemmLgLgLg-32        25.0ms ± 1%  24.9ms ± 0%     ~     (p=1.000 n=5+5)
DgemmLgSmLg-32         685µs ± 1%   694µs ± 1%   +1.40%  (p=0.008 n=5+5)
DgemmLgLgSm-32         808µs ± 1%   761µs ± 0%   -5.77%  (p=0.008 n=5+5)
DgemmHgHgSm-32        71.7ms ± 0%  68.5ms ± 0%   -4.40%  (p=0.008 n=5+5)
DgemmMedMedMedTNT-32   345µs ±10%   228µs ± 1%  -33.97%  (p=0.008 n=5+5)
DgemmMedMedMedNTT-32   142µs ± 0%   149µs ± 1%   +5.05%  (p=0.008 n=5+5)
DgemmMedMedMedTT-32    584µs ±33%   417µs ± 4%  -28.48%  (p=0.008 n=5+5)
2020-03-14 20:16:27 +10:30
Dan Kortschak
86e8186781 blas/gonum: make drotmg test pass
This change prevents the compiler from emitting FMA instructions during
Drotmg and Drotm which would otherwise cause the arm64 build to fail.
2020-01-27 07:43:03 +10:30
Dan Kortschak
70a775755b blas/{blas32,blas64,cblas64,cblas128}: check vector length agreement 2019-11-07 20:54:07 +10:30
Dan Kortschak
d70617abe8 blas/blas32: add length field to Vector 2019-11-07 20:54:07 +10:30
Dan Kortschak
40a79689c0 blas/testblas: clean up lint 2019-11-07 19:56:23 +10:30
Dan Kortschak
89d1544a09 blas/{cblas64,cblas128}: add length field to Vector 2019-11-06 23:06:23 +10:30
Dan Kortschak
06383a2742 blas/{blas64,cblas128}: test wrapping of blas interfaces 2019-11-06 23:06:23 +10:30
Dan Kortschak
e2ba7f0950 internal/asm,blas,floats: move level 2 norm to asm
This allows sharing of the blas implementation with floats and opens the
possibility of an assembly implementation of this function.
2019-10-25 16:27:36 +10:30
Dan Kortschak
17ea55aedb blas,lapack: clean up docs and comments
Apply (with manual curation after the fact):
* s/^T/U+1d40/g
* s/^H/U+1d34/g
* s/, {2,3}if / $1/g

Some additional manual editing of odd formatting.
2019-09-06 20:02:29 +09:30
Dan Kortschak
035030958a blas: fix copy paste error 2019-08-19 20:36:41 +09:30
Vladimir Chalupecky
9996f1428e blas/gonum: call internal/asm functions directly 2019-03-27 06:30:44 +01:00
Vladimir Chalupecky
03b8f50d86 blas/gonum: rename files for consistency 2019-03-27 06:30:44 +01:00
Vladimir Chalupecky
f5dd0ae53c blas/gonum: generate Complex64 implementation 2019-03-27 06:30:44 +01:00
Vladimir Chalupecky
e59520b803 blas/gonum: slice arguments to exact length
Also, avoid unnecessary use of ...To routines.
2019-02-12 23:50:47 +01:00
Vladimir Chalupecky
9ec2aaecbb blas/blas64: reorder fields of Vector
... so that the increment is after the data slice. This matches the
order in which the parameters are passed to the BLAS routines.
2019-01-28 10:32:12 +01:00
Dan Kortschak
d54847ab4d testblas: use testing Log instead of log.Println 2019-01-19 12:11:24 +10:30
Vladimir Chalupecky
54df3f38fd blas/testblas: rewrite DtrsmTest to test various matrix strides 2019-01-19 00:17:25 +01:00
Vladimir Chalupecky
c78761093b blas/gonum: fix matrix strides in Dtrsm and Dsyr2k 2019-01-17 17:29:26 +01:00
Vladimir Chalupecky
3681b8c377 blas/gonum: clean up Dtrsm and use asm functions where possible 2019-01-17 17:29:26 +01:00
Vladimir Chalupecky
61b0fc21a9 blas/gonum: add Ztrsm with test 2019-01-17 17:29:26 +01:00
Vladimir Chalupecky
6b65044604 blas/gonum: clean up Dtrmm and use asm functions where possible 2019-01-17 17:29:26 +01:00
Vladimir Chalupecky
24791c35e9 blas/gonum: add Ztrmm with test 2019-01-17 17:29:26 +01:00
Vladimir Chalupecky
1b07048b32 blas/gonum: add Zhemm with test 2019-01-15 21:56:57 +01:00
Vladimir Chalupecky
ff4d47a8e5 blas/gonum: add Zsymm with test 2019-01-15 21:56:57 +01:00
Vladimir Chalupecky
9a8f312b2c blas/gonum: clean up Dsymm
Remove harmless but unnecessary shadowing of ctmp slice.
2019-01-15 21:56:57 +01:00
Vladimir Chalupecky
cbd96b6d6f blas/gonum: use switch instead of 'else if' 2019-01-15 21:56:57 +01:00
Vladimir Chalupecky
14c5f9c2d5 blas/gonum: add Zher2k with test 2019-01-12 14:37:56 +01:00
Vladimir Chalupecky
fc3de8ad21 blas/gonum: add Zsyr2k with test 2019-01-12 14:37:56 +01:00
Vladimir Chalupecky
20cf5b6541 blas/gonum: handle special values of beta consistently in Zherk 2019-01-10 12:18:00 +01:00
Vladimir Chalupecky
9653a9356e blas/gonum: add Zherk with test 2019-01-10 12:18:00 +01:00
Vladimir Chalupecky
20d2a2bc77 blas/gonum: add Zsyrk with test 2019-01-10 12:18:00 +01:00
Vladimir Chalupecky
73c94a2aff blas/gonum: handle special values of beta consistently in Dsyrk 2019-01-10 12:18:00 +01:00
Vladimir Chalupecky
f41a0d0905 blas/gonum: fix bug in Dsyrk
The intention of the affected code was an optimization by avoiding
unnecessary multiplication of C when beta == 1. The bug was that the
condition compared beta to 0 instead of 1 (when uplo == blas.Lower)
which behaved correctly for all values except 0. This went unnoticed
since no test case used beta of 0 and the coverage was complete. This
commit fixes the bug and adds test cases for both Lower and Upper values
of uplo.
2019-01-10 12:18:00 +01:00
Vladimir Chalupecky
bf4bccac52 blas/gonum: add Zgemm with test 2019-01-10 12:18:00 +01:00
Brendan Tracey
572d9101fe blas64: add length field N to Vector
blas64: add length field N to Vector

Alongside, fix the implementation of mat.VecDense and mat.Diagonal, as well as other changes needed to fix this change.

Fixes #736.
2018-12-10 08:36:04 +00:00
Brendan Tracey
6b862e40c9 blas: Remove variable copying in dgemm (#734)
* blas: Remove variable copying in dgemm

Fixes #732.
2018-12-09 16:34:14 +00:00
Vladimir Chalupecky
e2f95e5c31 blas/gonum: add comments to parameter checks 2018-11-15 06:14:16 +01:00