Mercurial > repos > public > sbplib_julia
annotate test/inference_trouble_test.jl @ 1208:e679d4fab8ee performance/get_region_type_inference
Add some tests for allocations
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 03 Feb 2023 22:34:38 +0100 |
parents | |
children |
rev | line source |
---|---|
1208
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 using Test |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 using Sbplib |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 using Sbplib.Grids |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 using Sbplib.SbpOperators |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 using Sbplib.RegionIndices |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 using BenchmarkTools |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 import Sbplib.SbpOperators: Stencil |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 @testset "First" begin |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 g = EquidistantGrid((10,10),(0.,0.), (1.,1.)) |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 v = evalOn(g, (x,y)->x^2+y^2+1) |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 H = inner_product(g, 1., [1/2]) |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 @test @ballocated(LazyTensors.apply($H.t1, $H.t2*$v, 1,2)) == 0 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 @test @ballocated(LazyTensors.apply($H.t1.tm, $(view(H.t2*v,:,1)), 2)) == 0 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 # Nedan är halvdåliga |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 @test @ballocated(LazyTensors.apply($H.t1.tm, $(view(H.t2*v,1,:)), 2)) == 0 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 @test @ballocated(LazyTensors.apply($H.t1.tm, $(view(v,1,:)), 2)) == 0 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 @test @ballocated(LazyTensors.apply($H.t1.tm, $(view(v,:,1)), 2)) == 0 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 @test @ballocated(LazyTensors.apply($H.t1.tm, $(v[:,1]), 2)) == 0 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 end |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 @testset "Second" begin |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 g = EquidistantGrid(10,0., 1.) |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 v = evalOn(g, (x)->x^2+1) |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 H = inner_product(g, 1., [1/2]) |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 V = SbpOperators.VolumeOperator(g, Stencil(1.,center=1), (Stencil(1/2,center=1),), SbpOperators.even) |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 b = SbpOperators.BoundaryOperator(g, Stencil(1/2,center=1), Lower()) |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 @test @ballocated(LazyTensors.apply($H, $H*$v, 2)) == 0 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 @test @ballocated(LazyTensors.apply($V, $V*$v, 2)) == 0 |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 end |
e679d4fab8ee
Add some tests for allocations
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 |