Tight Enclosure of Matrix Multiplication with Level 3 BLAS
- K. Ozaki (Shibaura Institute of Technology)
joint work with
- T. Ogita (Tokyo Woman’s Christian University)
Tight Enclosure of Matrix Multiplication with Level 3 BLAS K. Ozaki - - PowerPoint PPT Presentation
Tight Enclosure of Matrix Multiplication with Level 3 BLAS K. Ozaki (Shibaura Institute of Technology) joint work with T. Ogita (Tokyo Womans Christian University) 8th Small Workshop on Interval Methods the Charles university, Prague, Czech
joint work with
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 1
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 2
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 3
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 4
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
by using optimized BLAS, Numerical Linear Algebra With Applications, Vol. 18:2 (2011), pp. 237-248.
SWIM2015– 5
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
Let a constant β be
Two vectors σ ∈ Fm and τ ∈ Fp are defined as
(1) where two vectors v ∈ Fm and w ∈ Fp are defined as
1≤ j≤n |aij|⌉,
1≤i≤n |bij|⌉.
(2)
SWIM2015– 6
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
ij = fl
ij = fl
ij
ij = fl
ij = fl
ij
SWIM2015– 7
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
Figure 1: Image of Error-Free Splitting
SWIM2015– 8
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
i j | ≤ 2−βσi,
ij ∈ uσiZ,
ij | ≤ uσi
i j | ≤ 2−βτ j,
ij ∈ uτ jZ,
ij | ≤ uτ j
n
k=1
ik b(1) kl ≤ n
k=1
ik ||b(1) kl | ≤ n2−2βσiτ j ≤ uσiτ j.
SWIM2015– 9
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 10
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
function C1 = MAT2(A,B) n=size(A,2); mu=max(abs(A),[],2); temp=2.ˆ(ceil(log2(mu)+ceil(53+log2(n))/2)); sigma=repmat(temp,1,n); A1=(A+sigma)-sigma; A2=A-A1; mu=max(abs(B)); temp=2.ˆ(ceil(log2(mu))+ceil((53+log2(n))/2)); tau=repmat(temp,n,1); B1=(B+tau)-tau; B2=B-B1; C1=A1*B1+(intval(A1)*B2+intval(A2)*B); end
SWIM2015– 11
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 12
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 13
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
n
k=1
ik b(1) kl ≤ n
k=1
ik ||b(1) kl | ≤ n2−2βσiτ j ≤ uσiτ j.
SWIM2015– 14
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
i ,
j ,
i
j are defined by
i
1≤j≤n |a(k) ij |⌉,
j = ⌈log2 max 1≤i≤n |b(l) ij |⌉.
SWIM2015– 15
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
i j = fl((ai j + ˜
ij = fl((bij + ˜
i j = fl(ai j − ˜
i j ) , ˜
ij = fl(bij − ˜
ij ).
SWIM2015– 16
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 17
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 18
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 19
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 20
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
. . . 2 971 2 1024 a (1) i1 b (1) 1j a (1) i2 b (1) 2j a (1) i3 b (1) 3j a (1) in b (1) nj 53 bitsFigure 2: Image of ’error-free’
SWIM2015– 21
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 22
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 23
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
Table 1: Maximum Radius for n = 1000 (β′ =
⌈ (log2 2 √n − log2 u)/2 ⌉
)
cnd M1 M2 M3
2.1886e-14 2.2204e-16 1.1102e-16
1.1438e-12 2.2204e-16 1.6653e-16
8.1741e-11 2.2204e-16 2.2204e-16
6.3854e-09 1.1979e-14 2.9039e-15
5.4939e-07 9.1551e-13 2.2889e-13
4.7074e-05 9.1188e-11 2.1964e-11
4.0933e-03 7.7183e-09 1.9427e-09
SWIM2015– 24
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
Table 2: Maximum Radius for n = 3000 (β′ =
⌈ (log2 √n − log2 u)/2 ⌉
)
cnd M1 M2 M3
1.6470e-14 2.2204e-16 1.3323e-16
8.1070e-13 2.2204e-16 2.2204e-16
5.6153e-11 4.4409e-16 2.2204e-16
4.4313e-09 1.9826e-14 2.4057e-15
3.6058e-07 1.5753e-12 1.9344e-13
3.0595e-05 1.1507e-10 1.4501e-11
2.6405e-03 1.1664e-08 1.4252e-09
SWIM2015– 25
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
Table 3: Maximum Radius for n = 5000 (β′ =
⌈ (log2 √n/2 − log2 u)/2 ⌉
)
cnd M1 M2 M3
1.5932e-14 2.2204e-16 1.1102e-16
7.2014e-13 2.2204e-16 2.2204e-16
4.8332e-11 4.4409e-16 2.2204e-16
3.7116e-09 1.7172e-14 2.1559e-15
3.0865e-07 1.2709e-12 1.5906e-13
2.5739e-05 1.2665e-10 1.5930e-11
2.2455e-03 9.8396e-09 1.2168e-09
SWIM2015– 26
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
Table 4: Maximum Radius for n = 10000 (β′ =
⌈ (log2 √ 2n − log2 u)/2 ⌉
)
cnd M1 M2 M3
1.5954e-14 2.2204e-16 1.5543e-16
6.1814e-13 2.2204e-16 2.2204e-16
4.2197e-11 6.6613e-16 2.2204e-16
3.2493e-09 3.1193e-14 3.9090e-15
2.5984e-07 2.8944e-12 3.5628e-13
2.1861e-05 2.1475e-10 2.7377e-11
1.9012e-03 1.7609e-08 2.2116e-09
SWIM2015– 27
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 28
Katsuhisa Ozaki Tight Enclosure of Matrix Multiplication with Level 3 BLAS
SWIM2015– 29