-
Notifications
You must be signed in to change notification settings - Fork 0
/
times
67 lines (54 loc) · 1.62 KB
/
times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
cppspin execution times
# long double
size: 12x12, flags: -g -O2, normal 2m12.360s
size: 12x12, flags: -g -O2, sparse 1m12.042s
size: 20x20, flags: -g -O2, sparse 33m29.128s
# double
size: 12x12, flags: -g -O3, sparse 0m11.222s
size: 17x17, flags: -g -O3, sparse 1m39.662s
size: 20x20, flags: -g -O3, sparse 5m37.963s
size: 30x30, flags: -g -O3, sparse 72m24
# double, with axpy_prod(), and sparse matrices
size: 15x15, flags: -g -O3 0m15.753s
size: 17x17, flags: -g -O3 0m34.284s
size: 20x20, flags: -g -O3 1m31.373s
size: 25x25, flags: -g -O3 5m25.196s
size: 30x30, flags: -g -O3 16m47.059s mem: 853m
size: 35x35, flags: -g -O3 47m52.492s
size: 40x40, flags: -g -O3 156m18.156s
size: 50x50, flags: -g -O3 706m7.276s
# double, with sparse_product(), -O3
10x10 0m0.220s
15x15 0m2.923s
20x20 0m18.281s
25x25 1m7.723s
30x30 3m45.815s
40x40 39m9.469s
60x60 684m15.563s for the matrix inversion, then
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted
# double, with eigen2 solvers
30x30 0m33.801s
40x40 2m50.600s
50x50 10m23.373s
60x60 30m35.666s
nano execution times
size: 12x12, flags: -g -O2 0m15.596s
size: 20x20, flags: -g -O2 7m50.786s
# With SuperLU backend to eigen2
# OrderingMethod flags:
40x40:
default: 0m53.482s
0x0200: 0m18.442s
0x0300: 0m12.897s
0x0400: 0m12.525s
60x60:
0x0300: 1m1.354s
0x0400: 0m59.187s
200x200, reduced leads
MinimumDegree_ATA 2m19.405s
MinimumDegree_AT_PLUS_A 2m28.616s
ColApproxMinimumDegree 2m17.738s
ColApproxMinimumDegree + CompleteFactorization 2m18.437s
ColApproxMinimumDegree + IncompleteFactorization 2m20.987s