\include{Chapters/symbollist}
\setcounter{page}{1}
-\part{Presentation of GPUs}
-\include{Chapters/chapter1/ch1}
-\include{Chapters/chapter2/ch2}
-\part{Image processing}
-\include{Chapters/chapter3/ch3}
-\part{Software development}
-\include{Chapters/chapter5/ch5}
-\include{Chapters/chapter6/ch6}
-\part{Optimization}
-\include{Chapters/chapter8/ch8}
-\include{Chapters/chapter9/ch9}
+%\part{Presentation of GPUs}
+%\include{Chapters/chapter1/ch1}
+%\include{Chapters/chapter2/ch2}
+%\part{Image processing}
+%\include{Chapters/chapter3/ch3}
+%\part{Software development}
+%\include{Chapters/chapter5/ch5}
+%\include{Chapters/chapter6/ch6}
+%\part{Optimization}
+%\include{Chapters/chapter8/ch8}
+%\include{Chapters/chapter9/ch9}
\part{Numerical applications}
-\include{Chapters/chapter7/ch7}
-\include{Chapters/chapter11/ch11}
-\include{Chapters/chapter12/ch12}
-\include{Chapters/chapter13/ch13}
-\include{Chapters/chapter14/ch14}
-\include{Chapters/chapter15/ch15}
-\include{Chapters/chapter16/ch16}
+\include{Chapters/chapter7/ch7} %pb fonts
+%\include{Chapters/chapter11/ch11}
+%\include{Chapters/chapter12/ch12}
+%\include{Chapters/chapter13/ch13}
+%\include{Chapters/chapter14/ch14}
+%\include{Chapters/chapter15/ch15}
+%\include{Chapters/chapter16/ch16}
\part{Other}
-\include{Chapters/chapter18/ch18}
-\include{Chapters/chapter19/ch19}
+%\include{Chapters/chapter18/ch18}
+%\include{Chapters/chapter19/ch19}
\bibliographystyle{hep}
%%%\bibliography{biblio}
\@writefile{toc}{\author{Rapha\IeC {\"e}l Couturier}{}}
\@writefile{toc}{\author{Jacques Bahi}{}}
\@writefile{loa}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {chapter}{\numberline {11}Solving sparse linear systems with GMRES and CG methods on GPU clusters}{259}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {10}Solving sparse linear systems with GMRES and CG methods on GPU clusters}{215}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\newlabel{ch12}{{11}{259}}
-\@writefile{toc}{\contentsline {section}{\numberline {11.1}Introduction}{259}}
-\newlabel{ch12:sec:01}{{11.1}{259}}
-\@writefile{toc}{\contentsline {section}{\numberline {11.2}Krylov iterative methods}{260}}
-\newlabel{ch12:sec:02}{{11.2}{260}}
-\newlabel{ch12:eq:01}{{11.1}{260}}
-\newlabel{ch12:eq:02}{{11.2}{260}}
-\newlabel{ch12:eq:03}{{11.3}{260}}
-\newlabel{ch12:eq:11}{{11.4}{261}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {11.2.1}CG method}{261}}
-\newlabel{ch12:sec:02.01}{{11.2.1}{261}}
-\newlabel{ch12:eq:04}{{11.5}{261}}
-\newlabel{ch12:eq:05}{{11.6}{261}}
-\newlabel{ch12:eq:06}{{11.7}{261}}
-\newlabel{ch12:eq:07}{{11.8}{261}}
-\newlabel{ch12:eq:08}{{11.9}{261}}
-\newlabel{ch12:eq:09}{{11.10}{261}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {9}{\ignorespaces Left-preconditioned CG method\relax }}{262}}
-\newlabel{ch12:alg:01}{{9}{262}}
-\newlabel{ch12:eq:10}{{11.11}{262}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {11.2.2}GMRES method}{263}}
-\newlabel{ch12:sec:02.02}{{11.2.2}{263}}
-\newlabel{ch12:eq:12}{{11.12}{263}}
-\newlabel{ch12:eq:13}{{11.13}{263}}
-\newlabel{ch12:eq:14}{{11.14}{263}}
-\newlabel{ch12:eq:15}{{11.15}{263}}
-\newlabel{ch12:eq:16}{{11.16}{263}}
-\newlabel{ch12:eq:17}{{11.17}{263}}
-\newlabel{ch12:eq:18}{{11.18}{263}}
-\newlabel{ch12:eq:19}{{11.19}{263}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {10}{\ignorespaces Left-preconditioned GMRES method with restarts\relax }}{264}}
-\newlabel{ch12:alg:02}{{10}{264}}
-\@writefile{toc}{\contentsline {section}{\numberline {11.3}Parallel implementation on a GPU cluster}{265}}
-\newlabel{ch12:sec:03}{{11.3}{265}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {11.3.1}Data partitioning}{265}}
-\newlabel{ch12:sec:03.01}{{11.3.1}{265}}
-\@writefile{lof}{\contentsline {figure}{\numberline {11.1}{\ignorespaces A data partitioning of the sparse matrix $A$, the solution vector $x$ and the right-hand side $b$ into four portions.\relax }}{266}}
-\newlabel{ch12:fig:01}{{11.1}{266}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {11.3.2}GPU computing}{266}}
-\newlabel{ch12:sec:03.02}{{11.3.2}{266}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {11.3.3}Data communications}{267}}
-\newlabel{ch12:sec:03.03}{{11.3.3}{267}}
-\@writefile{lof}{\contentsline {figure}{\numberline {11.2}{\ignorespaces Data exchanges between \textit {Node 1} and its neighbors \textit {Node 0}, \textit {Node 2} and \textit {Node 3}.\relax }}{268}}
-\newlabel{ch12:fig:02}{{11.2}{268}}
-\@writefile{lof}{\contentsline {figure}{\numberline {11.3}{\ignorespaces Columns reordering of a sparse sub-matrix.\relax }}{269}}
-\newlabel{ch12:fig:03}{{11.3}{269}}
-\@writefile{toc}{\contentsline {section}{\numberline {11.4}Experimental results}{270}}
-\newlabel{ch12:sec:04}{{11.4}{270}}
-\@writefile{lof}{\contentsline {figure}{\numberline {11.4}{\ignorespaces General scheme of the GPU cluster of tests composed of six machines, each with two GPUs.\relax }}{270}}
-\newlabel{ch12:fig:04}{{11.4}{270}}
-\@writefile{lof}{\contentsline {figure}{\numberline {11.5}{\ignorespaces Sketches of sparse matrices chosen from the Davis collection.\relax }}{271}}
-\newlabel{ch12:fig:05}{{11.5}{271}}
-\@writefile{lot}{\contentsline {table}{\numberline {11.1}{\ignorespaces Main characteristics of sparse matrices chosen from the Davis collection.\relax }}{271}}
-\newlabel{ch12:tab:01}{{11.1}{271}}
-\@writefile{lot}{\contentsline {table}{\numberline {11.2}{\ignorespaces Performances of the parallel CG method on a cluster of 24 CPU cores vs. on a cluster of 12 GPUs.\relax }}{272}}
-\newlabel{ch12:tab:02}{{11.2}{272}}
-\@writefile{lot}{\contentsline {table}{\numberline {11.3}{\ignorespaces Performances of the parallel GMRES method on a cluster 24 CPU cores vs. on cluster of 12 GPUs.\relax }}{272}}
-\newlabel{ch12:tab:03}{{11.3}{272}}
-\newlabel{ch12:eq:20}{{11.20}{273}}
-\@writefile{lof}{\contentsline {figure}{\numberline {11.6}{\ignorespaces Parallel generation of a large sparse matrix by four computing nodes.\relax }}{274}}
-\newlabel{ch12:fig:06}{{11.6}{274}}
-\@writefile{lot}{\contentsline {table}{\numberline {11.4}{\ignorespaces Main characteristics of sparse banded matrices generated from those of the Davis collection.\relax }}{274}}
-\newlabel{ch12:tab:04}{{11.4}{274}}
-\@writefile{lot}{\contentsline {table}{\numberline {11.5}{\ignorespaces Performances of the parallel CG method for solving linear systems associated to sparse banded matrices on a cluster of 24 CPU cores vs. on a cluster of 12 GPUs.\relax }}{275}}
-\newlabel{ch12:tab:05}{{11.5}{275}}
-\@writefile{toc}{\contentsline {section}{\numberline {11.5}Conclusion}{275}}
-\newlabel{ch12:sec:05}{{11.5}{275}}
-\@writefile{lot}{\contentsline {table}{\numberline {11.6}{\ignorespaces Performances of the parallel GMRES method for solving linear systems associated to sparse banded matrices on a cluster of 24 CPU cores vs. on a cluster of 12 GPUs.\relax }}{276}}
-\newlabel{ch12:tab:06}{{11.6}{276}}
-\@writefile{toc}{\contentsline {section}{Bibliography}{276}}
+\newlabel{ch12}{{10}{215}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.1}Introduction}{215}}
+\newlabel{ch12:sec:01}{{10.1}{215}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.2}Krylov iterative methods}{216}}
+\newlabel{ch12:sec:02}{{10.2}{216}}
+\newlabel{ch12:eq:01}{{10.1}{216}}
+\newlabel{ch12:eq:02}{{10.2}{216}}
+\newlabel{ch12:eq:03}{{10.3}{216}}
+\newlabel{ch12:eq:11}{{10.4}{217}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.2.1}CG method}{217}}
+\newlabel{ch12:sec:02.01}{{10.2.1}{217}}
+\newlabel{ch12:eq:04}{{10.5}{217}}
+\newlabel{ch12:eq:05}{{10.6}{217}}
+\newlabel{ch12:eq:06}{{10.7}{217}}
+\newlabel{ch12:eq:07}{{10.8}{217}}
+\newlabel{ch12:eq:08}{{10.9}{217}}
+\newlabel{ch12:eq:09}{{10.10}{217}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {9}{\ignorespaces Left-preconditioned CG method\relax }}{218}}
+\newlabel{ch12:alg:01}{{9}{218}}
+\newlabel{ch12:eq:10}{{10.11}{218}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.2.2}GMRES method}{219}}
+\newlabel{ch12:sec:02.02}{{10.2.2}{219}}
+\newlabel{ch12:eq:12}{{10.12}{219}}
+\newlabel{ch12:eq:13}{{10.13}{219}}
+\newlabel{ch12:eq:14}{{10.14}{219}}
+\newlabel{ch12:eq:15}{{10.15}{219}}
+\newlabel{ch12:eq:16}{{10.16}{219}}
+\newlabel{ch12:eq:17}{{10.17}{219}}
+\newlabel{ch12:eq:18}{{10.18}{219}}
+\newlabel{ch12:eq:19}{{10.19}{219}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {10}{\ignorespaces Left-preconditioned GMRES method with restarts\relax }}{220}}
+\newlabel{ch12:alg:02}{{10}{220}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.3}Parallel implementation on a GPU cluster}{221}}
+\newlabel{ch12:sec:03}{{10.3}{221}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.1}Data partitioning}{221}}
+\newlabel{ch12:sec:03.01}{{10.3.1}{221}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.1}{\ignorespaces A data partitioning of the sparse matrix $A$, the solution vector $x$ and the right-hand side $b$ into four portions.\relax }}{222}}
+\newlabel{ch12:fig:01}{{10.1}{222}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.2}GPU computing}{222}}
+\newlabel{ch12:sec:03.02}{{10.3.2}{222}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.3}Data communications}{223}}
+\newlabel{ch12:sec:03.03}{{10.3.3}{223}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.2}{\ignorespaces Data exchanges between \textit {Node 1} and its neighbors \textit {Node 0}, \textit {Node 2} and \textit {Node 3}.\relax }}{224}}
+\newlabel{ch12:fig:02}{{10.2}{224}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.3}{\ignorespaces Columns reordering of a sparse sub-matrix.\relax }}{225}}
+\newlabel{ch12:fig:03}{{10.3}{225}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.4}Experimental results}{226}}
+\newlabel{ch12:sec:04}{{10.4}{226}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.4}{\ignorespaces General scheme of the GPU cluster of tests composed of six machines, each with two GPUs.\relax }}{226}}
+\newlabel{ch12:fig:04}{{10.4}{226}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.5}{\ignorespaces Sketches of sparse matrices chosen from the Davis collection.\relax }}{227}}
+\newlabel{ch12:fig:05}{{10.5}{227}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.1}{\ignorespaces Main characteristics of sparse matrices chosen from the Davis collection.\relax }}{227}}
+\newlabel{ch12:tab:01}{{10.1}{227}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.2}{\ignorespaces Performances of the parallel CG method on a cluster of 24 CPU cores vs. on a cluster of 12 GPUs.\relax }}{228}}
+\newlabel{ch12:tab:02}{{10.2}{228}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.3}{\ignorespaces Performances of the parallel GMRES method on a cluster 24 CPU cores vs. on cluster of 12 GPUs.\relax }}{228}}
+\newlabel{ch12:tab:03}{{10.3}{228}}
+\newlabel{ch12:eq:20}{{10.20}{229}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.6}{\ignorespaces Parallel generation of a large sparse matrix by four computing nodes.\relax }}{230}}
+\newlabel{ch12:fig:06}{{10.6}{230}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.4}{\ignorespaces Main characteristics of sparse banded matrices generated from those of the Davis collection.\relax }}{230}}
+\newlabel{ch12:tab:04}{{10.4}{230}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.5}{\ignorespaces Performances of the parallel CG method for solving linear systems associated to sparse banded matrices on a cluster of 24 CPU cores vs. on a cluster of 12 GPUs.\relax }}{231}}
+\newlabel{ch12:tab:05}{{10.5}{231}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.5}Conclusion}{231}}
+\newlabel{ch12:sec:05}{{10.5}{231}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.6}{\ignorespaces Performances of the parallel GMRES method for solving linear systems associated to sparse banded matrices on a cluster of 24 CPU cores vs. on a cluster of 12 GPUs.\relax }}{232}}
+\newlabel{ch12:tab:06}{{10.6}{232}}
+\@writefile{toc}{\contentsline {section}{Bibliography}{232}}
\@setckpt{Chapters/chapter12/ch12}{
-\setcounter{page}{278}
+\setcounter{page}{234}
\setcounter{equation}{22}
\setcounter{enumi}{4}
\setcounter{enumii}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{5}
-\setcounter{chapter}{11}
+\setcounter{chapter}{10}
\setcounter{section}{5}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{figure}{6}
\setcounter{table}{6}
\setcounter{numauthors}{0}
-\setcounter{parentequation}{46}
+\setcounter{parentequation}{8}
\setcounter{subfigure}{0}
\setcounter{lofdepth}{1}
\setcounter{subtable}{0}
\@writefile{toc}{\author{H. Wang}{}}
\@writefile{toc}{\author{H. Yu}{}}
\@writefile{loa}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {chapter}{\numberline {15}GPU-Accelerated Envelope-Following Method}{343}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {14}GPU-Accelerated Envelope-Following Method}{299}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {15.1}Introduction}{343}}
-\newlabel{fig:ef1}{{15.1(a)}{345}}
-\newlabel{sub@fig:ef1}{{(a)}{345}}
-\newlabel{fig:ef2}{{15.1(b)}{345}}
-\newlabel{sub@fig:ef2}{{(b)}{345}}
-\@writefile{lof}{\contentsline {figure}{\numberline {15.1}{\ignorespaces Transient envelope-following analysis. (Both two figures reflect backward-Euler style envelope-following.)\relax }}{345}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Illustration of one envelope skip.}}}{345}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {The envelope changes in a slow time scale.}}}{345}}
-\newlabel{fig:ef_intro}{{15.1}{345}}
-\@writefile{toc}{\contentsline {section}{\numberline {15.2}The envelope-following method in a nutshell}{346}}
-\newlabel{sec:ef}{{15.2}{346}}
-\newlabel{eq:dae}{{15.1}{346}}
-\newlabel{eq:Newton}{{15.2}{347}}
-\newlabel{eq:A}{{15.3}{347}}
-\@writefile{toc}{\contentsline {section}{\numberline {15.3}New parallel envelope-following method}{348}}
-\newlabel{sec:gmres}{{15.3}{348}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {15.3.1}GMRES solver for Newton update equation}{348}}
-\@writefile{lof}{\contentsline {figure}{\numberline {15.2}{\ignorespaces The flow of envelope-following method.\relax }}{349}}
-\newlabel{fig:ef_flow}{{15.2}{349}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {14}{\ignorespaces Standard GMRES algorithm.\relax }}{350}}
-\newlabel{alg:GMRES}{{14}{350}}
-\newlabel{line:mvp}{{5}{350}}
-\newlabel{line:newnorm}{{11}{350}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {15.3.2}Parallelization on GPU platforms}{350}}
-\newlabel{sec:gpu}{{15.3.2}{350}}
-\@writefile{lof}{\contentsline {figure}{\numberline {15.3}{\ignorespaces GPU parallel solver for envelope-following update.\relax }}{351}}
-\newlabel{fig:gmres}{{15.3}{351}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {15.3.3}Gear-2 based sensitivity calculation}{352}}
-\newlabel{sec:gear}{{15.3.3}{352}}
-\newlabel{eq:BE}{{15.4}{352}}
-\newlabel{eq:sens1}{{15.5}{352}}
-\newlabel{eq:Gear_t2}{{15.6}{353}}
-\newlabel{eq:sens2}{{15.7}{353}}
-\newlabel{eq:Gear_t3}{{15.8}{353}}
-\newlabel{eq:sensM}{{15.9}{353}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {15}{\ignorespaces The matrix-free method for Krylov subspace construction.\relax }}{354}}
-\newlabel{alg:mf_Gear}{{15}{354}}
-\newlabel{line:mf_Gear_loop}{{4}{354}}
-\newlabel{line:shift}{{8}{354}}
-\@writefile{toc}{\contentsline {section}{\numberline {15.4}Numerical examples}{354}}
-\newlabel{sec:exp}{{15.4}{354}}
-\@writefile{lof}{\contentsline {figure}{\numberline {15.4}{\ignorespaces Diagram of a zero-voltage quasi-resonant flyback converter.\relax }}{355}}
-\newlabel{fig:flyback}{{15.4}{355}}
-\@writefile{lof}{\contentsline {figure}{\numberline {15.5}{\ignorespaces Illustration of power/ground network model.\relax }}{355}}
-\newlabel{fig:pg}{{15.5}{355}}
-\newlabel{fig:flybackWhole}{{15.6(a)}{356}}
-\newlabel{sub@fig:flybackWhole}{{(a)}{356}}
-\newlabel{fig:flybackZoom}{{15.6(b)}{356}}
-\newlabel{sub@fig:flybackZoom}{{(b)}{356}}
-\@writefile{lof}{\contentsline {figure}{\numberline {15.6}{\ignorespaces Flyback converter solution calculated by envelope-following. The red curve is traditional SPICE simulation result, and the back curve is the envelope-following output with simulation points marked.\relax }}{356}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The whole plot}}}{356}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Detail of one EF simulation period}}}{356}}
-\newlabel{fig:flyback_wave}{{15.6}{356}}
-\@writefile{lof}{\contentsline {figure}{\numberline {15.7}{\ignorespaces Buck converter solution calculated by envelope-following.\relax }}{357}}
-\newlabel{fig:buck_wave}{{15.7}{357}}
-\@writefile{lot}{\contentsline {table}{\numberline {15.1}{\ignorespaces CPU and GPU time comparisons (in seconds) for solving Newton update equation with the proposed Gear-2 sensitivity. \relax }}{357}}
-\newlabel{table:circuit}{{15.1}{357}}
-\@writefile{toc}{\contentsline {section}{\numberline {15.5}Summary}{358}}
-\newlabel{sec:summary}{{15.5}{358}}
-\@writefile{toc}{\contentsline {section}{\numberline {15.6}Glossary}{358}}
-\@writefile{toc}{\contentsline {section}{Bibliography}{358}}
+\@writefile{toc}{\contentsline {section}{\numberline {14.1}Introduction}{299}}
+\newlabel{fig:ef1}{{14.1(a)}{301}}
+\newlabel{sub@fig:ef1}{{(a)}{301}}
+\newlabel{fig:ef2}{{14.1(b)}{301}}
+\newlabel{sub@fig:ef2}{{(b)}{301}}
+\@writefile{lof}{\contentsline {figure}{\numberline {14.1}{\ignorespaces Transient envelope-following analysis. (Both two figures reflect backward-Euler style envelope-following.)\relax }}{301}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Illustration of one envelope skip.}}}{301}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {The envelope changes in a slow time scale.}}}{301}}
+\newlabel{fig:ef_intro}{{14.1}{301}}
+\@writefile{toc}{\contentsline {section}{\numberline {14.2}The envelope-following method in a nutshell}{302}}
+\newlabel{sec:ef}{{14.2}{302}}
+\newlabel{eq:dae}{{14.1}{302}}
+\newlabel{eq:Newton}{{14.2}{303}}
+\newlabel{eq:A}{{14.3}{303}}
+\@writefile{toc}{\contentsline {section}{\numberline {14.3}New parallel envelope-following method}{304}}
+\newlabel{sec:gmres}{{14.3}{304}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {14.3.1}GMRES solver for Newton update equation}{304}}
+\@writefile{lof}{\contentsline {figure}{\numberline {14.2}{\ignorespaces The flow of envelope-following method.\relax }}{305}}
+\newlabel{fig:ef_flow}{{14.2}{305}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {14}{\ignorespaces Standard GMRES algorithm.\relax }}{306}}
+\newlabel{alg:GMRES}{{14}{306}}
+\newlabel{line:mvp}{{5}{306}}
+\newlabel{line:newnorm}{{11}{306}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {14.3.2}Parallelization on GPU platforms}{306}}
+\newlabel{sec:gpu}{{14.3.2}{306}}
+\@writefile{lof}{\contentsline {figure}{\numberline {14.3}{\ignorespaces GPU parallel solver for envelope-following update.\relax }}{307}}
+\newlabel{fig:gmres}{{14.3}{307}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {14.3.3}Gear-2 based sensitivity calculation}{308}}
+\newlabel{sec:gear}{{14.3.3}{308}}
+\newlabel{eq:BE}{{14.4}{308}}
+\newlabel{eq:sens1}{{14.5}{308}}
+\newlabel{eq:Gear_t2}{{14.6}{309}}
+\newlabel{eq:sens2}{{14.7}{309}}
+\newlabel{eq:Gear_t3}{{14.8}{309}}
+\newlabel{eq:sensM}{{14.9}{309}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {15}{\ignorespaces The matrix-free method for Krylov subspace construction.\relax }}{310}}
+\newlabel{alg:mf_Gear}{{15}{310}}
+\newlabel{line:mf_Gear_loop}{{4}{310}}
+\newlabel{line:shift}{{8}{310}}
+\@writefile{toc}{\contentsline {section}{\numberline {14.4}Numerical examples}{310}}
+\newlabel{sec:exp}{{14.4}{310}}
+\@writefile{lof}{\contentsline {figure}{\numberline {14.4}{\ignorespaces Diagram of a zero-voltage quasi-resonant flyback converter.\relax }}{311}}
+\newlabel{fig:flyback}{{14.4}{311}}
+\@writefile{lof}{\contentsline {figure}{\numberline {14.5}{\ignorespaces Illustration of power/ground network model.\relax }}{311}}
+\newlabel{fig:pg}{{14.5}{311}}
+\newlabel{fig:flybackWhole}{{14.6(a)}{312}}
+\newlabel{sub@fig:flybackWhole}{{(a)}{312}}
+\newlabel{fig:flybackZoom}{{14.6(b)}{312}}
+\newlabel{sub@fig:flybackZoom}{{(b)}{312}}
+\@writefile{lof}{\contentsline {figure}{\numberline {14.6}{\ignorespaces Flyback converter solution calculated by envelope-following. The red curve is traditional SPICE simulation result, and the back curve is the envelope-following output with simulation points marked.\relax }}{312}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The whole plot}}}{312}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Detail of one EF simulation period}}}{312}}
+\newlabel{fig:flyback_wave}{{14.6}{312}}
+\@writefile{lof}{\contentsline {figure}{\numberline {14.7}{\ignorespaces Buck converter solution calculated by envelope-following.\relax }}{313}}
+\newlabel{fig:buck_wave}{{14.7}{313}}
+\@writefile{lot}{\contentsline {table}{\numberline {14.1}{\ignorespaces CPU and GPU time comparisons (in seconds) for solving Newton update equation with the proposed Gear-2 sensitivity. \relax }}{313}}
+\newlabel{table:circuit}{{14.1}{313}}
+\@writefile{toc}{\contentsline {section}{\numberline {14.5}Summary}{314}}
+\newlabel{sec:summary}{{14.5}{314}}
+\@writefile{toc}{\contentsline {section}{\numberline {14.6}Glossary}{314}}
+\@writefile{toc}{\contentsline {section}{Bibliography}{314}}
\@setckpt{Chapters/chapter16/ch16}{
-\setcounter{page}{360}
+\setcounter{page}{316}
\setcounter{equation}{9}
\setcounter{enumi}{2}
\setcounter{enumii}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{5}
-\setcounter{chapter}{15}
+\setcounter{chapter}{14}
\setcounter{section}{6}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\@writefile{toc}{\author{Rapha\IeC {\"e}l Couturier}{}}
\@writefile{toc}{\author{Christophe Guyeux}{}}
\@writefile{loa}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {chapter}{\numberline {16}Pseudorandom Number Generator on GPU}{363}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {15}Pseudorandom Number Generator on GPU}{319}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\newlabel{chapter18}{{16}{363}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.1}Introduction}{363}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.2}Basic Remindees}{365}}
-\newlabel{section:BASIC RECALLS}{{16.2}{365}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.1}A Short Presentation of Chaos}{365}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.2}On Devaney's Definition of Chaos}{365}}
-\newlabel{sec:dev}{{16.2.2}{365}}
-\newlabel{Devaney}{{16.1}{365}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.3}Chaotic iterations}{366}}
-\newlabel{subsection:Chaotic iterations}{{16.2.3}{366}}
-\newlabel{Chaotic iterations}{{2}{366}}
-\newlabel{eq:generalIC}{{16.4}{367}}
-\newlabel{equation Oplus}{{16.5}{367}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.3}Toward Efficiency and Improvement for CI PRNG}{367}}
-\newlabel{sec:efficient PRNG}{{16.3}{367}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.1}First Efficient Implementation of a PRNG based on Chaotic Iterations}{367}}
-\newlabel{algo:seqCIPRNG}{{16.1}{367}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.1}C code of the sequential PRNG based on chaotic iterations}{367}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.2}Efficient PRNGs based on Chaotic Iterations on GPU}{368}}
-\newlabel{sec:efficient PRNG gpu}{{16.3.2}{368}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.3}Naive Version for GPU}{368}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {16}{\ignorespaces Main kernel of the GPU ``naive'' version of the PRNG based on chaotic iterations\relax }}{369}}
-\newlabel{algo:gpu_kernel}{{16}{369}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.4}Improved Version for GPU}{369}}
-\newlabel{IR}{{17}{370}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {17}{\ignorespaces Main kernel for the chaotic iterations based PRNG GPU efficient version\relax }}{370}}
-\newlabel{algo:gpu_kernel2}{{17}{370}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.5}Chaos Evaluation of the Improved Version}{370}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.4}Experiments}{371}}
-\newlabel{sec:experiments}{{16.4}{371}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.5}Summary}{371}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.1}{\ignorespaces Quantity of pseudorandom numbers generated per second with the xorlike-based PRNG\relax }}{372}}
-\newlabel{fig:time_xorlike_gpu}{{16.1}{372}}
-\@writefile{toc}{\contentsline {section}{Bibliography}{373}}
+\newlabel{chapter18}{{15}{319}}
+\@writefile{toc}{\contentsline {section}{\numberline {15.1}Introduction}{319}}
+\@writefile{toc}{\contentsline {section}{\numberline {15.2}Basic Remindees}{321}}
+\newlabel{section:BASIC RECALLS}{{15.2}{321}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {15.2.1}A Short Presentation of Chaos}{321}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {15.2.2}On Devaney's Definition of Chaos}{321}}
+\newlabel{sec:dev}{{15.2.2}{321}}
+\newlabel{Devaney}{{15.1}{321}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {15.2.3}Chaotic iterations}{322}}
+\newlabel{subsection:Chaotic iterations}{{15.2.3}{322}}
+\newlabel{Chaotic iterations}{{2}{322}}
+\newlabel{eq:generalIC}{{15.4}{323}}
+\newlabel{equation Oplus}{{15.5}{323}}
+\@writefile{toc}{\contentsline {section}{\numberline {15.3}Toward Efficiency and Improvement for CI PRNG}{323}}
+\newlabel{sec:efficient PRNG}{{15.3}{323}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {15.3.1}First Efficient Implementation of a PRNG based on Chaotic Iterations}{323}}
+\newlabel{algo:seqCIPRNG}{{15.1}{323}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {15.1}C code of the sequential PRNG based on chaotic iterations}{323}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {15.3.2}Efficient PRNGs based on Chaotic Iterations on GPU}{324}}
+\newlabel{sec:efficient PRNG gpu}{{15.3.2}{324}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {15.3.3}Naive Version for GPU}{324}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {16}{\ignorespaces Main kernel of the GPU ``naive'' version of the PRNG based on chaotic iterations\relax }}{325}}
+\newlabel{algo:gpu_kernel}{{16}{325}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {15.3.4}Improved Version for GPU}{325}}
+\newlabel{IR}{{17}{326}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {17}{\ignorespaces Main kernel for the chaotic iterations based PRNG GPU efficient version\relax }}{326}}
+\newlabel{algo:gpu_kernel2}{{17}{326}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {15.3.5}Chaos Evaluation of the Improved Version}{326}}
+\@writefile{toc}{\contentsline {section}{\numberline {15.4}Experiments}{327}}
+\newlabel{sec:experiments}{{15.4}{327}}
+\@writefile{toc}{\contentsline {section}{\numberline {15.5}Summary}{327}}
+\@writefile{lof}{\contentsline {figure}{\numberline {15.1}{\ignorespaces Quantity of pseudorandom numbers generated per second with the xorlike-based PRNG\relax }}{328}}
+\newlabel{fig:time_xorlike_gpu}{{15.1}{328}}
+\@writefile{toc}{\contentsline {section}{Bibliography}{329}}
\@setckpt{Chapters/chapter18/ch18}{
-\setcounter{page}{375}
+\setcounter{page}{331}
\setcounter{equation}{5}
\setcounter{enumi}{2}
\setcounter{enumii}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{6}
-\setcounter{chapter}{16}
+\setcounter{chapter}{15}
\setcounter{section}{5}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\begin{figure}[!htb]
\centering
-\includegraphics[width=0.95\textwidth]{Chapters/chapter7/figures/figSeries60CB06Type7StedaySnapshot.eps}
+\includegraphics[width=0.95\textwidth]{Chapters/chapter7/figures/figSeries60CB06Type7StedaySnapshot-eps-converted-to.pdf}
%\caption{Snapshot of steady state wave field generated by a Series 60 ship hull.}
\end{figure}
\centering
\subfigure[Grid scaling, $x=(1-a)\xi^3+a\xi$.]{
% MainLaplace2D_ex03.m
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/scalingNx25.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/scalingNx25-eps-converted-to.pdf}
}
\subfigure[High-order spatial discretisation and stable explicit time-stepping with large time steps for a nonlinear standing wave. Scaling based on $a=0$. ]{
% MainLaplace2D_ex03.m
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/standingwaveglozman.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/standingwaveglozman-eps-converted-to.pdf}
}
\subfigure[Uniform grid ($a=1$).]{
% MainLaplace2D_ex035_nonlinearLaplace.m
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/SFwaves_snapshots_uniform.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/SFwaves_snapshots_uniform-eps-converted-to.pdf}
}
\subfigure[Clustered grid ($a=0.05$).]{
% MainLaplace2D_ex035_nonlinearLaplace.m
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/SFwaves_snapshots_clustered.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/SFwaves_snapshots_clustered-eps-converted-to.pdf}
}
\caption{Numerical experiments to assess stability properties of numerical wave model. In three cases, computed snapshots are taken of the wave elevation over one wave period of time. In a) the grid distribution of nodes in a one-parameter mapping for the grid is illustrated. Results from changes in wave elevation are illustrated for b) a mildly nonlinear standing wave on a highly clustered grid, c) regular stream function wave of medium steepness in shallow water $(kh,H/L)=(0.5,0.0292)$ on a uniform grid ($N_x=80$) and d) for a nonuniform grid with a minimal grid spacing 20 times smaller(!). In every case the step size remains fixed at $\Delta t = T/160$ s corresponding to a Courant number $C_r=c\tfrac{\Delta t}{\Delta x}=0.5$ for the uniform grid. A 6'$th$ order scheme and explicit EKR4 time-stepping is used in each test case.}
\label{ch7:numexp}
\centering
\subfigure[Wave generation, reflection and absorption of small-amplitude waves.]{
% Script : MainLaplace2D_ex03penalityLINEAR_REFLECTEDWAVES.m
-\includegraphics[width=0.98\textwidth]{Chapters/chapter7/figures/standingwavespenalty.eps}
+\includegraphics[width=0.98\textwidth]{Chapters/chapter7/figures/standingwavespenalty-eps-converted-to.pdf}
% Nx = 480, 6th order, vertical clustering, Nz=6;
}
\subfigure[Wave generation and absorption of steep finite-amplitude waves.]{
% Script : MainLaplace2D_ex03penalityNONLINEAR_GENERATEWAVES.m
-\includegraphics[width=0.98\textwidth]{Chapters/chapter7/figures/nonlinearwavespenalty.eps}
+\includegraphics[width=0.98\textwidth]{Chapters/chapter7/figures/nonlinearwavespenalty-eps-converted-to.pdf}
% Nx = 540, 6th order, vertical clustering, Nz=6;
}
\caption{Snapshots at intervals $T/8$ over one wave period in time of computed a) small-amplitude $(kh,kH)=(0.63,0.005)$ and b) finite-amplitude $(kh,kH)=(1,0.41)$ stream function waves elevations having reached a steady state after transient startup. Combined wave generation and absorption zones in the western relaxation zone of both a) and b). In b) an absorption zone is positioned next to the eastern boundary and causes minor visible reflections. }
\begin{figure}[!htb]
\begin{center}
\subfigure[Uniform vertical grid.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/lineardispersion_Nx30-HL90-p6-vergrid0_Linear.eps}
+%\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/lineardispersion_Nx30-HL90-p6-vergrid0_Linear.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/lineardispersion_Nx30-HL90-p6-vergrid0_Linear-eps-converted-to.pdf}
}
\subfigure[Cosine-clustered vertical grid.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/lineardispersion_Nx30-HL90-p6_Linear.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/lineardispersion_Nx30-HL90-p6_Linear-eps-converted-to.pdf}
}
\end{center}
\caption{The accuracy in phase celerity $c$ determined by \eqref{ch7:errdisp} for small-amplitude (linear) wave.
\begin{figure}[!htb]
\begin{center}
\subfigure[Linear]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/kinematicsPHI_Nx30-HL90-p6_Linear.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/kinematicsPHI_Nx30-HL90-p6_Linear-eps-converted-to.pdf}
}
\subfigure[Linear]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/kinematicsW_Nx30-HL90-p6_Linear.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/kinematicsW_Nx30-HL90-p6_Linear-eps-converted-to.pdf}
}
\subfigure[Nonlinear]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/kinematicsPHI_Nx30-HL90-p6_Nonlinear.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/kinematicsPHI_Nx30-HL90-p6_Nonlinear-eps-converted-to.pdf}
}
\subfigure[Nonlinear]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/kinematicsW_Nx30-HL90-p6_Nonlinear.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/kinematicsW_Nx30-HL90-p6_Nonlinear-eps-converted-to.pdf}
}
\end{center}
\caption{Assessment of kinematic error is presented in terms of the depth-averaged error determined by \eqref{ch7:errkin} for a) scalar velocity potential and b) vertical velocity for a small-amplitude (linear) wave, and c) scalar velocity potential and d) vertical velocity for a finite-amplitude (nonlinear) wave with wave height $H/L=90\%(H/L)_\textrm{max}$.
\begin{center}
% MainLaplace2D_ex025nonlinearLaplaceSINGLE.m
\subfigure[Single precision.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/PrecisionSINGLE.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/PrecisionSINGLE-eps-converted-to.pdf}
}
\subfigure[Double precision.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/PrecisionDOUBLE.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/PrecisionDOUBLE-eps-converted-to.pdf}
}
\end{center}
\caption{Comparison between convergence histories for single and double precision computations using a PDC method for the solution of the transformed Laplace problem. Very steep nonlinear stream function wave in intermediate water $(kh,H/L)=(1,0.0903)$. Discretizaiton based on $(N_x,N_z)=(15,9)$ with 6'$th$ order stencils.}
\begin{center}
% DriverWavemodelDecomposition.m
\subfigure[Direct solve without filter.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/ComparisonLUNoFiltering.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/ComparisonLUNoFiltering-eps-converted-to.pdf}
}
\subfigure[Direct solve with filter.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/ComparisonLUWithFiltering.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/ComparisonLUWithFiltering-eps-converted-to.pdf}
} \\
\subfigure[Iterative PDC solve without filter.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/ComparisonDCNoFiltering.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/ComparisonDCNoFiltering-eps-converted-to.pdf}
}
\subfigure[Iterative PDC solve with filter.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/ComparisonDCWithFiltering.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/ComparisonDCWithFiltering-eps-converted-to.pdf}
}
\end{center}
\caption{Comparison between accuracy as a function of time for double precision calculations vs. single precision with and without filtering. The double precision result are unfiltered in each comparison and shows to be less sensitive to roundoff-errors. Medium steep nonlinear stream function wave in intermediate water $(kh,H/L)=(1,0.0502)$. Discretization is based on $(N_x,N_z)=(30,6)$, A courant number of $C_r=0.5$ and 6'$th$ order stencils.}
\begin{figure}[!htb]
\begin{center}
\subfigure[Hydrodynamic force calculations.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/figSeries60CB06Type7Resistance.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/figSeries60CB06Type7Resistance-eps-converted-to.pdf}
}
\subfigure[Kelvin pattern.]{
-\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/figSeries60CB06Type7kelvin.eps}
+\includegraphics[width=0.45\textwidth]{Chapters/chapter7/figures/figSeries60CB06Type7kelvin-eps-converted-to.pdf}
}
\end{center}
\caption{Computed results. Comparison with experiments for hydrodynamics force calculations confirming engineering accuracy for low Froudes numbers.}