Skip to content

Commit 7fbf319

Browse files
committed
Add TimerOutputs to Project.toml file and timer to solution of linear equation systems
1 parent c9fdc0a commit 7fbf319

File tree

4 files changed

+21
-5
lines changed

4 files changed

+21
-5
lines changed

Manifest.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,11 @@ version = "0.8.5"
104104
deps = ["ArgTools", "LibCURL", "NetworkOptions"]
105105
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
106106

107+
[[ExprTools]]
108+
git-tree-sha1 = "b7e3d17636b348f005f11040025ae8c6f645fe92"
109+
uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04"
110+
version = "0.1.6"
111+
107112
[[FillArrays]]
108113
deps = ["LinearAlgebra", "Random", "SparseArrays"]
109114
git-tree-sha1 = "25b9cc23ba3303de0ad2eac03f840de9104c9253"
@@ -417,6 +422,12 @@ uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
417422
deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
418423
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
419424

425+
[[TimerOutputs]]
426+
deps = ["ExprTools", "Printf"]
427+
git-tree-sha1 = "209a8326c4f955e2442c07b56029e88bb48299c7"
428+
uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
429+
version = "0.5.12"
430+
420431
[[UUIDs]]
421432
deps = ["Random", "SHA"]
422433
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"

Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1010
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
1111
MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
1212
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
13+
TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
1314
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
1415

1516
[compat]
@@ -18,5 +19,6 @@ DiffRules = "1.0"
1819
Measurements = "2.6, 2.5, 2.4, 2.3"
1920
MonteCarloMeasurements = "0.10, 0.9"
2021
OrderedCollections = "1.4, 1.3"
22+
TimerOutputs = "0.5"
2123
Unitful = "1.6, 1.5, 1.4, 1.3"
2224
julia = "1.6, 1.5"

src/EquationAndStateInfo.jl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import DataFrames
88
import OrderedCollections
99
using LinearAlgebra
10+
import TimerOutputs
1011

1112
export StateCategory, XD, XALG, XLAMBDA, XMUE
1213
export ResidualCategory, FD, FC_ALG, FC_LOW_HIGH, FC_MUE
@@ -108,7 +109,7 @@ LinearEquations(args...) = LinearEquations{Float64}(args...)
108109

109110

110111
"""
111-
iterating = LinearEquationsIteration(leq::LinearEquations{FloatType}, isInitial::Bool, time)
112+
iterating = LinearEquationsIteration(leq::LinearEquations{FloatType}, isInitial::Bool, time, timer)
112113
113114
This function solves a linear equation system in residual form "residual = A*x - b"
114115
by iterating with a while loop over this system:
@@ -132,7 +133,7 @@ function getDerivatives!(_der_x, _x, _m, _time)::Nothing
132133
end
133134
```
134135
"""
135-
function LinearEquationsIteration(leq::LinearEquations{FloatType}, isInitial::Bool, time)::Bool where {FloatType}
136+
function LinearEquationsIteration(leq::LinearEquations{FloatType}, isInitial::Bool, time, timer)::Bool where {FloatType}
136137
#=
137138
while LinearEquationsIteration(leq, isInitial,time)
138139
# body of while-loop
@@ -313,8 +314,10 @@ function LinearEquationsIteration(leq::LinearEquations{FloatType}, isInitial::Bo
313314
end
314315
else
315316
x .= b
316-
leq.luA = lu!(A)
317-
ldiv!(leq.luA, x)
317+
TimerOutputs.@timeit timer "luA ldiv!" begin
318+
leq.luA = lu!(A)
319+
ldiv!(leq.luA, x)
320+
end
318321
end
319322

320323
elseif leq.A_is_constant && !isInitial # isInitial=false, LU decomposition of A is available in leq.luA

src/StateSelection.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -931,7 +931,7 @@ function addLinearEquations!(eq::EquationGraph, hasConstantCoefficients::Bool)::
931931
local $(vAssigned_names...)
932932
_leq_mode = _m.linearEquations[$leq_index]
933933
_leq_mode.mode = -2
934-
while ModiaBase.LinearEquationsIteration(_leq_mode, _m.isInitial, _m.time)
934+
TinyModia.TimerOutputs.@timeit _m.timer "LinearEquationsIteration" while ModiaBase.LinearEquationsIteration(_leq_mode, _m.isInitial, _m.time, _m.timer)
935935
$(while_body...)
936936
end
937937
_leq_mode = nothing

0 commit comments

Comments
 (0)