1 \section{Numerical examples}
4 The presented algorithm has been prototyped and numerical experiments
5 have been carried out on a server which has an Intel Xeon quad-core
6 CPU with 2.0~GHz clock speed, and 24~GBytes memory. The GPU card
7 mounted on this server is NVIDIA's Tesla~C2070 (Fermi), which contains
8 448 cores (14 MPs $\times$ 32 cores per MP) running at a 1.30~GHz and
9 has 4~GBytes on-chip memory. Some initial results have been published
10 in~\cite{LiuTan1:DATE'12}.
12 The envelope-following method with the proposed Gear-2
13 sensitivity matrix computation is added to an open-source
14 SPICE\index{SPICE}, implemented in C~\cite{ngspice}.
15 Our envelope-following program is implemented by following
16 the algorithm mentioned in~\cite{Kato:COMPEL'06}.
17 To solve the Newton update equation,
18 different methods are used to compare the computation time,
19 such as direct LU, GMRES with explicitly formed matrix,
20 and GMRES with implicit matrix-vector multiplication (matrix-free).
21 Moreover, the matrix-free method is also incorporated to the same SPICE
22 simulator using CUDA C programming interface, as described in
23 Section~\ref{sec:gpu}.
27 \resizebox{.8\textwidth}{!}{\input{./Chapters/chapter16/figures/resonant_flyback.pdf_t}}
28 \caption{Diagram of a zero-voltage quasi-resonant flyback converter.}
35 \resizebox{.6\textwidth}{!}{\input{./Chapters/chapter16/figures/pgMesh.pdf_t}}
36 \caption{Illustration of power/ground network model.}
42 \subfigure[The whole plot]{
43 \includegraphics[width=.6\textwidth]{./Chapters/chapter16/figures/flyback_wave_emb.eps}
44 \label{fig:flybackWhole}
46 \subfigure[Detail of one EF simulation period]{
47 \includegraphics[width=.6\textwidth]{./Chapters/chapter16/figures/flyback_zoomin_emb.eps}
48 \label{fig:flybackZoom}
50 \caption[Flyback converter solution calculated by envelope-following.]{Flyback converter solution calculated by envelope-following.
51 The red curve is traditional SPICE simulation result, and
52 the back curve is the envelope-following output with simulation points
54 \label{fig:flyback_wave}
60 \includegraphics[width=.6\textwidth]{./Chapters/chapter16/figures/buck_wave_emb.eps}
61 \caption{Buck converter solution calculated by envelope-following.}
65 We use several integrated on-chip converters as simulation examples
66 to measure running time and speedup. They include a Buck converter,
67 a quasi-resonant flyback converter (shown in Figure~\ref{fig:flyback}),
68 and two boost converters.
69 Each converter is directly integrated with on-chip power grid networks,
70 since the performance of the converters should be studied with their loads and
71 we can easily observe the waveforms at different nodes in a power
72 grid (see Figure~\ref{fig:pg} for a simplified power grid structure).
74 Figure~\ref{fig:flyback_wave}
75 and Figure~\ref{fig:buck_wave}
76 show the waveform at output node of the resonant flyback converter
77 and the Buck converter.
78 Note that on the envelope curve, the darker
79 dots in separated segments indicate the real simulation points that were
80 calculated in those cycles, and the segments without dots are the
81 envelope jumps where no simulation were done.
82 It can be verified that the proposed Gear-2 envelope-following method
83 produces a envelope matching the original waveform well.
88 \begin{tabular}{@{}c|c|c|c|c|c|c@{}}
90 Circuit & Nodes & Direct & Explicit & \multicolumn{3}{c}{Implicit GMRES}\\ \cline{5-7}
91 & & LU & GMRES & CPU & GPU & X \\
93 Buck & 910 & 423.8 & 420.3 & 36.8 & 3.9 & 9.4$\times$ \\
94 Flyback & 941 & 462.4 & 459.6 & 64.5 & 7.4 & 8.7$\times$ \\
95 Boost-1 & 976 & 695.1 & 687.7 & 73.2 & 6.2 & 11.8$\times$ \\
96 Boost-2 & 1093 & 729.5 & 720.8 & 71.0 & 8.5 & 9.9$\times$ \\
100 \caption{CPU and GPU time comparisons (in seconds) for solving Newton update equation
101 with the proposed Gear-2 sensitivity.
103 \label{table:circuit}
106 For the comparison of running time spent in solving
107 Newton update equation, Table~\ref{table:circuit} lists the time
108 cost by direct method, explicit GMRES, matrix-free GMRES,
109 and GPU matrix-free GMRES. All methods carry out the Gear-2 based
110 envelope-following method, but they handle the sensitivity and
111 equation solving in different implementation steps.
112 It is obvious that as long as the sensitivity matrix is explicitly formed,
113 such as in the cases of direct method and explicit GMRES,
114 the cost is much higher than the implicit methods.
115 When the matrix-free technique is applied to generate matrix-vector
116 products implicitly, the computation cost is greatly reduced.
117 Thus, for the same example, implicit GMRES would be one order
118 of magnitude faster than explicit GMRES. Furthermore, our GPU parallel
119 implementation of implicit GMRES makes this method even faster,
120 with a further 10$\times$ speedup.