Download presentation

Presentation is loading. Please wait.

Published byKristofer Waddell Modified over 2 years ago

1
SystemC-AMS(CUDA) Ruru 2012 8/14

2
Outline Introduction Modeling Formalisms ELN(Electrical Linear Networks) Solve Ordinary Differential Equation Solve Eln-Cluster Workflow SystemC Kernel Solver Performance

3
Introduction Positioning SystemC AMS Extensions

5
Introduction Modeling formalisms and use cases

7
Modeling Formalisms

8
Electrical Linear Networks ELN

9
Setup of the equation system Kirchhoff’s current law(KCL)

10
Electrical Linear Networks ELN elaboration and simulation phases

11
Problem : Thermo Model Thermo Model : RLC model Solve ELN equation Purpose Using CUDA to Speedup

12
Solve Ordinary Differential Equation Euler’s Method Backward Euler Method

13
SystemC Kernel Solver Eln-cluster Initialization Module(r, l, c …) : modules Node(sca_terminal, sca_node …) : equations Sparse Matrix Spcode

14
Solve Eln-Cluster Workflow Solve Differential Equation ana_solv DATA (Sdata, R, X) Next Cluster Next Timestamp Cluster? Timestamp? …

15
Modify ana_solv to GPU Every eln-cluster Every time stamp Workflow Copy matrix data to GPU Execute ana_solv by GPU Copy result data to host ana_solv DATA (Sdata, R, X) GPU ana_solv DATA (Sdata, R, X)

16
Solve Eln-Cluster Workflow Solve Differential Equation ana_solv DATA (Sdata, R, X) Next Cluster Next Timestamp Cluster? Timestamp? … GPU ana_solv DATA (Sdata, R, X)

17
Performance The result is correct No speed up 200 module of one cluster : 75 ms (CPU) 200 module of one cluster : 165 ms (GPU)

18
Thanks for Your Attention!

19
Euler’s Method Question : y’ = f(x, y), x0 < x < b, y(x0) = y0, h is constant xi = x0 + i*h ; (i = 0 1 2 ….) yi = y(xi) ~ Yi (Yi is result) yn+1 = yn + h*f(yn, xn) Example : y’ = y, y(0) = 1, h = 0.5 Solve : y1 = y(0) + y’(0)*h = 1 + 1*0.5 = 1.5 y2 = … Yi = exp(x) => Y(0.5) = 1.649… 1.5 vs 1.649

20
Backward Euler Method Question : y’ = f(x, y), x0 < x < b, y(x0) = y0, h is constant xi = x0 + i*h ; (i = 0 1 2 ….) yi = y(xi) ~ Yi (Yi is result) yn+1 = yn + h*f(yn, xn) Example : y’ = -y^3, y(0) = 1, h = 0.5 Solve : y1 = y(0) + f(x1, y1)*h = 1 - 0.5*y1^3 First => y1 = y(0) + f(x0, y0)*h = 1-0.5*y0^3 = 0.5 Then recursive… y1 = 0.9375 => 0.588 => 0.898 … => 0.7709

Similar presentations

Presentation is loading. Please wait....

OK

CSE245:Lecture12 Advisor: C.K. Cheng Date: 02/13/03.

CSE245:Lecture12 Advisor: C.K. Cheng Date: 02/13/03.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google