iccsa-20-wind

git clone https://git.igankevich.com/iccsa-20-wind.git
Log | Files | Refs

commit 368f64a624ee3eae23b4283053dd5bb3002396a0
parent 96f8cb015d7485e42afac30d8c284a9a6e14eaf1
Author: Ivan Gankevich <i.gankevich@spbu.ru>
Date:   Sun, 15 Mar 2020 14:46:19 +0300

Discussion and conclusion.

Diffstat:
main.tex | 97+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 88 insertions(+), 9 deletions(-)

diff --git a/main.tex b/main.tex @@ -350,14 +350,30 @@ Virtual testbed is a programme for workstations that simulates ship motions in extreme conditions and physical phenomena that causes them: ocean waves, wind, compartment flooding etc. -The solver was written for both OpenMP and OpenCL to make use of graphical -accelerator available on most modern workstations. - -We performed benchmarks for three ships: Aurora, Diogen and MICW (tab.~\ref{tab-ships}). +We performed benchmarks for three ships: Diogen, Aurora and MICW. Diogen is a +small-size fishing vessel, Aurora is mid-size cruiser and MICW is a large-size +ship with small moment of inertia for the current waterline +(fig.~\ref{fig-ships}). Ships in our database do not have superstructures, they +have only hulls and compartments. The main difference between them that affects +benchmarks is the number of panels into which the hull is decomposed. These numbers +and sizes are show in tab.~\ref{tab-ships}. + +Benchmarks were performed using three workstations: DarkwingDuck, GPUlab, +Capybara. DarkwingDuck is a laptop, GPUlab is a desktop workstation, and +Capybara is a desktop with professional graphical accelerator server-grade +processor (tab.~\ref{tab-config}). All of the workstations are equipped with +graphical accelerators that allow to greatly increase their performance. + +Wind solver was written for both OpenMP and OpenCL to make use of graphical +accelerator available on most modern workstations. The solvers use single +precision floating point numbers. Benchmark results are presented in +tab.~\ref{tab-benchmark}. \begin{table} \centering - \caption{Time is in milliseconds.\label{tab-benchmark}} + \caption{Performance benchmarks results. Numbers represent average time in milliseconds + that is needed to compute wind field on the ship hull and near the ship + hull.\label{tab-benchmark}} \begin{tabular}{l@{\hskip 3mm}r@{\hskip 2mm}r@{\hskip 3mm}r@{\hskip 2mm}r@{\hskip 3mm}r@{\hskip 2mm}r} \toprule & \multicolumn{2}{l}{Diogen} @@ -370,7 +386,7 @@ We performed benchmarks for three ships: Aurora, Diogen and MICW (tab.~\ref{tab- & MP & CL & MP & CL \\ \midrule - Laptop + DarkwingDuck & 114 & 14.00 & 164 & 16 & 314 & 29 @@ -388,6 +404,26 @@ We performed benchmarks for three ships: Aurora, Diogen and MICW (tab.~\ref{tab- \end{tabular} \end{table} +\begin{table} + \centering + \caption{Hardware configurations for benchmarks. For all benchmarks we + used GCC version 9.1.0 compiler and optimisation flags \texttt{-O3 + -march=native}.\label{tab-config}} + \begin{tabular}{lllrr} + \toprule + & & & \multicolumn{2}{c}{GPU GFLOPS} \\ + \cmidrule(r){4-5} + Node & CPU & GPU & Single & Double \\ + \midrule + DarkwingDuck & Intel i7-3630QM & NVIDIA GT740M & 622 & \\ + GPUlab & AMD FX-8370 & NVIDIA GTX1060 & 4375 & 137 \\ + Capybara & Intel E5-2630 v4 & NVIDIA P5000 & 8873 & 277 \\ + \bottomrule + \end{tabular} +\end{table} + + + \section{Discussion} Solution on the boundary \eqref{eq-solution-on-the-boundary} provides simple @@ -406,14 +442,57 @@ point near the boundary the solution includes reflected velocity vectors for each panel. Wind speed of 27 m/s matches storm with 9--12.5 m high waves on the Beaufort -scale which would affect the ship more severly than the wind. Nevertheless, in +scale which would affect the ship more severely than the wind. Nevertheless, in intelligent onboard systems even small variations in static roll at less severe weather conditions have to be considered for the correct operation of the system. +Static roll angle of 10\textdegree{} seems unnatural. We explain it by the fact that in +our experiment wind load on the ship is constant whereas in real-world scenario +wind blows in gusts. Ocean waves at wind speed of 50 m/s are so high that they +affect wind field, whereas in our experiment there were no waves, as our model +does not take into account wind-wave interactions. So, large roll angle +is a result of pure wind-ship interaction. + +Performance benchmarks showed that performance of both OpenMP and OpenCL +solvers increases from the least powerful (DarkwingDuck) workstation to the +most powerful one (Capybara). In addition to this, performance of OpenCL is +always better than of OpenMP by a factor of 16--58. Our solver uses explicit +analytic formula to compute wind field and to compute wind field at each point +iterates over all panels of the ship. All panels are stored and accessed +sequentially and all points of wind field are stored sequentially and accessed +in parallel, which makes the solver easy to implement in OpenCL and allows to +achieve high performance on the graphical accelerator. Finally, as expected +performance increases and the ratio between OpenCL and OpenMP performance +decreases from the large-size to small-size ship. The only exception from the +above-mentioned observations is the performance of OpenCL on Capybara for MICW +hull. This behaviour requires further investigation. + \section{Conclusion} -Future work is to include circular motion in the model. +This paper proposes a new simple mathematical model for wind field around the +ship hull. On the ship hull boundary this model is equivalent to the known +formula for potential flow around a cylinder. Near the boundary this model is +close to this formula, but has slightly smaller decay. In both cases the model +satisfies boundary conditions and continuity equation (conservation of mass), +which makes it suitable for physical simulations. + +We applied this model to simulate ship motions under the effect of wind with +constant speed and direction (and in the absence of all other effects except +buoyancy force), and discovered that to get static roll angle of 1\textdegree{} +we need wind speed that occur only in storm weather (10 on the Beaufort scale). + +From the computational standpoint the model shows high performance on modern +processors as well as graphical accelerators due to linear memory access pattern +and absence of synchronisation and data transfer between parallel processes. +Using any up-to-date workstation is enough to perform real-world simulations. + +Future work is to include stratification and circular motion in the model. +Stratification~--- an increase of wind speed with height~--- is known phenomena +in atmosphere which affects wind field around tall ships, and thus may improve +accuracy of our solver. The motivation behind including circular motion is to +better understand air motion around object and the fact that linear motion is a +special case of it when the circle radius is infinity. \subsubsection*{Acknowledgements.} Research work is supported by Saint Petersburg State University (grants @@ -445,7 +524,7 @@ no.~TODO) and Council for grants of the President of the Russian Federation \includegraphics{build/ships/aurora.eps}\hfill \includegraphics{build/ships/micw.eps} \caption{Diogen, Aurora and MICW three-dimensional ship hull - models.\label{fig-models}} + models.\label{fig-ships}} \end{figure}