annotate benchmark/benchmarks.jl @ 1198:5d4a15d6118f tooling/benchmarks

Add some actual benchmarks
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 31 Jan 2023 20:40:18 +0100
parents 1aca445216b8
children f095c02081eb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1171
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 using BenchmarkTools
1198
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
2 using Sbplib
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
3 using Sbplib.Grids
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
4 using Sbplib.SbpOperators
1171
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 const SUITE = BenchmarkGroup()
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7
1198
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
8
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
9 sz(d) = ntuple(i->100, d)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
10 ll(d) = ntuple(i->0., d)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
11 lu(d) = ntuple(i->1., d)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
12
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
13 g1 = EquidistantGrid(sz(1),ll(1),lu(1))
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
14 g2 = EquidistantGrid(sz(2),ll(2),lu(2))
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
15 g3 = EquidistantGrid(sz(3),ll(3),lu(3))
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
16
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
17 v1 = rand(sz(1)...)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
18 v2 = rand(sz(2)...)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
19 v3 = rand(sz(3)...)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
20
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
21 u1 = rand(sz(1)...)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
22 u2 = rand(sz(2)...)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
23 u3 = rand(sz(3)...)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
24
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
25 stencil_set = read_stencil_set(joinpath(sbp_operators_path(),"standard_diagonal.toml"); order=4)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
26
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
27 SUITE["derivatives"] = BenchmarkGroup()
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
28
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
29
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
30 SUITE["derivatives"]["first_derivative"] = BenchmarkGroup()
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
31
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
32 D₁ = first_derivative(g1,stencil_set)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
33 SUITE["derivatives"]["first_derivative"]["1D"] = @benchmarkable $u1 .= $D₁*$v1
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
34
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
35 Dx = first_derivative(g2,stencil_set,1)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
36 Dy = first_derivative(g2,stencil_set,2)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
37 SUITE["derivatives"]["first_derivative"]["2D"] = BenchmarkGroup()
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
38 SUITE["derivatives"]["first_derivative"]["2D"]["x"] = @benchmarkable $u2 .= $Dx*$v2
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
39 SUITE["derivatives"]["first_derivative"]["2D"]["y"] = @benchmarkable $u2 .= $Dy*$v2
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
40
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
41 Dx = first_derivative(g3,stencil_set,1)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
42 Dy = first_derivative(g3,stencil_set,2)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
43 Dz = first_derivative(g3,stencil_set,3)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
44 SUITE["derivatives"]["first_derivative"]["3D"] = BenchmarkGroup()
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
45 SUITE["derivatives"]["first_derivative"]["3D"]["x"] = @benchmarkable $u3 .= $Dx*$v3
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
46 SUITE["derivatives"]["first_derivative"]["3D"]["y"] = @benchmarkable $u3 .= $Dy*$v3
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
47 SUITE["derivatives"]["first_derivative"]["3D"]["z"] = @benchmarkable $u3 .= $Dz*$v3
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
48
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
49
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
50 SUITE["derivatives"]["second_derivative"] = BenchmarkGroup()
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
51
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
52 D₁ = second_derivative(g1,stencil_set)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
53 SUITE["derivatives"]["second_derivative"]["1D"] = @benchmarkable $u1 .= $D₁*$v1
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
54
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
55 Dx = second_derivative(g2,stencil_set,1)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
56 Dy = second_derivative(g2,stencil_set,2)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
57 SUITE["derivatives"]["second_derivative"]["2D"] = BenchmarkGroup()
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
58 SUITE["derivatives"]["second_derivative"]["2D"]["x"] = @benchmarkable $u2 .= $Dx*$v2
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
59 SUITE["derivatives"]["second_derivative"]["2D"]["y"] = @benchmarkable $u2 .= $Dy*$v2
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
60
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
61 Dx = second_derivative(g3,stencil_set,1)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
62 Dy = second_derivative(g3,stencil_set,2)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
63 Dz = second_derivative(g3,stencil_set,3)
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
64 SUITE["derivatives"]["second_derivative"]["3D"] = BenchmarkGroup()
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
65 SUITE["derivatives"]["second_derivative"]["3D"]["x"] = @benchmarkable $u3 .= $Dx*$v3
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
66 SUITE["derivatives"]["second_derivative"]["3D"]["y"] = @benchmarkable $u3 .= $Dy*$v3
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
67 SUITE["derivatives"]["second_derivative"]["3D"]["z"] = @benchmarkable $u3 .= $Dz*$v3
5d4a15d6118f Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents: 1190
diff changeset
68
1171
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
69
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
70 SUITE