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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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