Download presentation

Presentation is loading. Please wait.

Published byKristofer Waddell Modified over 4 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

OK

GPU Programming Contest. Contents Target: Clustering with Kmeans How to use toolkit1.0 Towards the fastest program.

GPU Programming Contest. Contents Target: Clustering with Kmeans How to use toolkit1.0 Towards the fastest program.

© 2019 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google