commit 4db20186419056dc3c2a670f59843ef93b93df50
parent 574fdb827df56ed5c684bc77c9705610e695a795
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Mon, 24 Jun 2019 16:50:59 +0300
motivation, tables, figures
Diffstat:
main.tex | | | 26 | +------------------------- |
preamble.tex | | | 25 | +++++++++++++++++++++++++ |
slides.tex | | | 118 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- |
3 files changed, 142 insertions(+), 27 deletions(-)
diff --git a/main.tex b/main.tex
@@ -8,33 +8,9 @@
\usetikzlibrary{arrows.meta}
\setlength{\tabcolsep}{4pt}
-\newcommand{\WaveVector}{\vec{k}}
-\newcommand{\WaveNumber}{\lvert\smash[b]{\WaveVector}\rvert}
-\newcommand{\Cosh}[1]{\cosh\left(#1\right)}
-\newcommand{\Fourier}[2]{\mathcal{F}_{#2}\!\left\{#1\right\}}
-\newcommand{\InverseFourier}[2]{\mathcal{F}^{-1}_{#2}\!\left\{#1\right\}}
-% properly aligned version of sqrt for \zeta_y^2
-\newcommand{\SqrtZeta}[1]{\sqrt{\vphantom{\zeta_x^2}\smash[b]{#1}}}
-\newcommand{\SqrtZetaXY}{\SqrtZeta{1 + \zeta_x^2 + \zeta_y^2}}
-\newcommand{\InertiaMatrix}{\mathcal{I}}
-
\definecolor{spbuWhite2}{RGB}{230,231,230}
\definecolor{spbuDarkGray}{HTML}{404040}
-\tikzstyle{Block} = [
- rectangle,
- draw=spbuDarkGray,
- thick,
- text width=1.4cm,
- align=center,
- fill=spbuWhite2,
- font=\footnotesize\linespread{1}\selectfont,
- inner sep=1mm,
-]
-\tikzstyle{Arrow} = [
- very thick,
- arrows={-Triangle[length=0.25cm,width=0.125cm]},
- draw=spbuDarkGray
-]
+\input{preamble}
\begin{document}
diff --git a/preamble.tex b/preamble.tex
@@ -0,0 +1,25 @@
+\newcommand{\WaveVector}{\vec{k}}
+\newcommand{\WaveNumber}{\lvert\smash[b]{\WaveVector}\rvert}
+\newcommand{\Cosh}[1]{\cosh\left(#1\right)}
+\newcommand{\Fourier}[2]{\mathcal{F}_{#2}\!\left\{#1\right\}}
+\newcommand{\InverseFourier}[2]{\mathcal{F}^{-1}_{#2}\!\left\{#1\right\}}
+% properly aligned version of sqrt for \zeta_y^2
+\newcommand{\SqrtZeta}[1]{\sqrt{\vphantom{\zeta_x^2}\smash[b]{#1}}}
+\newcommand{\SqrtZetaXY}{\SqrtZeta{1 + \zeta_x^2 + \zeta_y^2}}
+\newcommand{\InertiaMatrix}{\mathcal{I}}
+
+\tikzstyle{Block} = [
+ rectangle,
+ draw=spbuDarkGray,
+ thick,
+ text width=1.4cm,
+ align=center,
+ fill=spbuWhite2,
+ font=\footnotesize\linespread{1}\selectfont,
+ inner sep=1mm,
+]
+\tikzstyle{Arrow} = [
+ very thick,
+ arrows={-Triangle[length=0.25cm,width=0.125cm]},
+ draw=spbuDarkGray
+]
diff --git a/slides.tex b/slides.tex
@@ -1,14 +1,19 @@
\documentclass[aspectratio=169]{beamer}
+
\usepackage{booktabs}
+\usepackage{multicolumn}
\usepackage{polyglossia}
\usepackage{pgfgantt}
+\usepackage{tikz}
+\usetikzlibrary{arrows.meta}
+\setlength{\tabcolsep}{4pt}
+
\setdefaultlanguage{english}
%\setbeamertemplate{footline}[frame number]
\usetheme{SaintPetersburg}
\input{preamble}
-\input{math}
\title{Virtual testbed: Ship motion simulation for personal workstations}
\author{%
@@ -34,11 +39,23 @@ A.\:Grigorev%
Key features:
\begin{itemize}
\item Real-time. We have 16--33 ms to compute everything.
- \item Realistic marine objects. We load ships from IGES files.
+ \item Realistic marine objects. We load ships from electronic blueprints.
\item Arbitrary-amplitude ocean waves (work-in-progress).
\end{itemize}
\end{frame}
+\begin{frame}
+ \frametitle{Motivation}
+ \begin{itemize}
+ \item Supercomputer facilities are scarce resource.
+ \item Model basins are also scarce.
+ \item Without real-time visualisation we can not validate physics.
+ \item Regular workstations with a GPU can be used instead.
+ \end{itemize}
+ \vfill
+ How much performance can be gained using GPUs?
+\end{frame}
+
\begin{frame}{Project timeline (2018)}
\begin{tikzpicture}[remember picture,overlay]
\draw[TimelinePresent] (-2,0)--(7,0) node[right]{};
@@ -268,6 +285,103 @@ Solution:\vspace{-0.5\baselineskip}%
\end{frame}
\begin{frame}
+ \frametitle{Main loop}
+ \begin{tikzpicture}[x=2.2cm,y=-1.4cm]
+ \node[Block] (s1) at (0,0) {\strut{}Wavy surface};
+ \node[Block] (s2) at (1,0) {\strut{}Autoreg. model};
+ \node[Block] (s3) at (2,0) {\strut{}Wave numbers};
+ \node[Block] (s4) at (3,0) {\strut{}Velocity potential};
+ \node[Block] (s5) at (4,0) {\strut{}Wave pressure};
+ \node[Block] (s6) at (4,1) {\strut{}Wetted surface};
+ \node[Block] (s7) at (3,1) {\strut{}Elevation deriv.};
+ \node[Block] (s8) at (2,1) {\strut{}Pressure force};
+ \node[Block] (s9) at (1,1) {\strut{}Ship velocities};
+ \path[Arrow] (s1) -- (s2);
+ \path[Arrow] (s2) -- (s3);
+ \path[Arrow] (s3) -- (s4);
+ \path[Arrow] (s4) -- (s5);
+ \path[Arrow] (s5.east) -- ++(0.2,0) |- (s6.east);
+ \path[Arrow] (s6) -- (s7);
+ \path[Arrow] (s7) -- (s8);
+ \path[Arrow] (s8) -- (s9);
+ \path[Arrow] (s9) -| (s1);
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}
+ \frametitle{3-D ship models}
+ \includegraphics[width=0.5\textwidth]{build/aurora.eps}\hfill
+ \includegraphics[width=0.5\textwidth]{build/micw.eps}
+ \vfill
+ \begin{tabular}{lrrr}
+ \toprule
+ & Aurora & MICW & Sphere \\
+ \midrule
+ Length, m & 126.5 & 260 & 100 \\
+ Beam, m & 16.8 & 32 & 100 \\
+ Depth, m & 14.5 & 31 & 100 \\
+ No. of panels & 29306 & 10912 & 5120 \\
+ \bottomrule
+ \end{tabular}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Best median performance}
+ \begin{tabular}{lrrrlrrrlrrrl}
+ \toprule
+ & \multicolumn{4}{c}{Sphere}
+ & \multicolumn{4}{c}{Aurora}
+ & \multicolumn{4}{c}{MICW} \\
+ \cmidrule(r){2-5}
+ \cmidrule(r){6-9}
+ \cmidrule(r){10-13}
+ Node & \(t\), ms & \(m\) & \(n\) & ver.
+ & \(t\), ms & \(m\) & \(n\) & ver.
+ & \(t\), ms & \(m\) & \(n\) & ver. \\
+ \midrule
+ Storm & 16 & 64 & 1 & CL
+ & 14 & 72 & 1 & CL
+ & 29 & 34 & 1 & CL \\
+ GPUlab & 10 & 104 & 1 & CL
+ & 9 & 112 & 1 & CL
+ & 18 & 55 & 1 & CL \\
+ Capybara & 12 & 85 & 10 & MP
+ & 15 & 66 & 10 & MP
+ & 19 & 51 & 10 & MP \\
+ \bottomrule
+ \end{tabular}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Hardware configuration}
+ \begin{tabular}{lllrr}
+ \toprule
+ & & & \multicolumn{2}{c}{GPU GFLOPS} \\
+ \cmidrule(r){4-5}
+ Node & CPU & GPU & Single & Double \\
+ \midrule
+ Storm & Intel Q9550 & Radeon R7 360 & 1613 & 101 \\
+ GPUlab & AMD FX-8370 & NVIDIA GTX1060 & 4375 & 137 \\
+ Capybara & Intel E5-2630 v4 & NVIDIA P5000 & 8873 & 277 \\
+ \bottomrule
+ \end{tabular}
+\end{frame}
+
+\begin{frame}
+ \frametitle{OpenMP performance}
+ \includegraphics{build/openmp.eps}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Overall performance}
+ \includegraphics{build/histogram.eps}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Results}
+\end{frame}
+
+\begin{frame}
\centering
\Large
\vspace{1.5\baselineskip}