iccsa-19-vtestbed

git clone https://git.igankevich.com/iccsa-19-vtestbed.git
Log | Files | Refs

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}