commit d96d0106c89bd4bac3767fce7543b9b96f21b46c
parent 41a10483db6ab7ae5514d28b1354a1db7764bc55
Author: Ivan Gankevich <i.gankevich@spbu.ru>
Date: Sun, 15 Mar 2020 20:45:55 +0300
Numbers. CRLF -> LF
Diffstat:
main.tex | | | 236 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
1 file changed, 118 insertions(+), 118 deletions(-)
diff --git a/main.tex b/main.tex
@@ -1,118 +1,118 @@
-\documentclass[runningheads]{llncs}
-
-\usepackage{amsmath}
-\usepackage{booktabs}
-\usepackage{graphicx}
-\usepackage{url}
-
-\begin{document}
-
-\title{TODO\thanks{Supported by Saint Petersburg State University (grants
- no.~TODO) and Council for grants of the President of the Russian
- Federation (grant no.~TODO).}}
-\author{%
- Ivan Petriakov\inst{1}\orcidID{TODO-0000-0000-0000} \and\\
- Alexander Degtyarev\orcidID{0000-0003-0967-2949} \and\\
- Denis Egorov\orcidID{TODO-0000-0000-0000} \and\\
- Ivan Gankevich\textsuperscript{*}\orcidID{0000-0001-7067-6928} \and\\
- Anton Gavrikov\orcidID{0000-0003-2128-8368} \and\\
- Artemii Grigorev\orcidID{TODO-0000-0000-0000} \and\\
- Vasily Khramushin\orcidID{0000-0002-3357-169X}
-}
-
-%\titlerunning{Abbreviated paper title}
-\authorrunning{I.\,Petriakov et al.}
-
-\institute{Saint Petersburg State University\\
- 7-9 Universitetskaya Emb., St Petersburg 199034, Russia\\
-\email{st049350@student.spbu.ru},\\
-\email{a.degtyarev@spbu.ru},\\
-\email{TODO@student.spbu.ru},\\
-\email{i.gankevich@spbu.ru},\\
-\email{st047437@student.spbu.ru},\\
-\email{st016177@student.spbu.ru},\\
-\email{v.khramusin@spbu.ru}
-\url{https://spbu.ru/}}
-
-\maketitle
-
-\begin{abstract}
-The abstract should briefly summarize the contents of the paper in
-150--250 words.
-
-\keywords{%
-TODO
-\and TODO
-\and TODO.
-}
-\end{abstract}
-
-\section{Introduction}
-\section{Methods}
-
-Virtual testbed is a program for personal computers.
-Its main feature is to perform all calculations in real time,
- paying attention to the high accuracy of calculations.
-This is achieved by using graphical accelerator.
-Generating Gerstner waves isn't an exception.
-We implement algorithm for GPU, using OpenCL framework,
- and regular CPU, with the ability to parallelization, using OpenMP framework.
-
-This algorithm consists of several parts.
-First of all, we calculate wavy surface, according to our approach.
-Then, we compute wetted panels, which are located under the calculated surface.
-Finally, we find the buoyancy force, acting on a ship.
-These steps are repeated in infinity loop, and this is how we get things worked.
-
-Let's consider process of computing wavy surface in more details.
-Since we have an irregular structure of surface
- (it means, that we store set of points, describing surface),
- we just need to perform same formulas for each point of surface.
-It is easy to do with C++ for CPU computation, but it takes some effort
- to effectively run this algorithm with GPU acceleration.
-Our first implementations was quiet slow, when we had about five iterations of global loop,
- but now it is much more.
-
-Storage order is very important for GPU architecture.
-Those algorithms are efficient, which are with sequential memory access.
-In this way, we store our set of points in sequential order: one by one.
-It is very obviosly statement, but we need it to keep in mind.
-The next feature, that we use to increase performance, was built-in vector functions.
-So, we don't need to implement custom vector functions to work with our large set of vectors,
- and it leads to decreasing size of code and possible mistakes.
-Besides, these functions are very fast, and that is how we get there acceleration.
-The third feature, is cache managment.
-Unlike CPU, GPU allows programmers to control it's own kind of L3 cache
- (more precicely -- part of L3 cache), that is called "shared memory".
-Moreover, in most cases, among of any algorithms, we have to manage shared memory to accelerate them.
-A distinctive point of this kind of memory is that this memory has the smallest latency,
- at the same time sharing data between some others computing unit,
-As far as, memory bandwith remains a bottleneck, this kind of optimization would fit any situations.
-In our case, summation occurs over the surface of the ship,
- so we copy small pieces of it to shared memory.
-By this action we reduce number of access to global memory, which has a much bigger latency.
-Following these simple rules, we can easily implement efficient algorithm.
-All we have to do is:
- check storage order;
- include vector operations, as much, as possible;
- and finally, manage shared memory.
-
-
-
-
-
-
-
-\section{Results}
-\section{Discussion}
-\section{Conclusion}
-
-\subsubsection*{Acknowledgements.}
-Research work is supported by Saint Petersburg State University (grants
-no.~TODO) and Council for grants of the President of the Russian Federation
-(grant no.~TODO).
-
-\bibliographystyle{splncs04}
-\bibliography{references}
-
-\end{document}
+\documentclass[runningheads]{llncs}
+
+\usepackage{amsmath}
+\usepackage{booktabs}
+\usepackage{graphicx}
+\usepackage{url}
+
+\begin{document}
+
+\title{TODO\thanks{Supported by Saint Petersburg State University (grants
+ no.~51129371 and~51129725) and Council for grants of the President of the Russian
+ Federation (grant no.~\mbox{MK-383.2020.9}).}}
+\author{%
+ Ivan Petriakov\orcidID{0000-0001-5835-9313}\and\\
+ Alexander Degtyarev\orcidID{0000-0003-0967-2949} \and\\
+ Denis Egorov\orcidID{0000-0001-5478-2798}\and\\
+ Ivan Gankevich\textsuperscript{*}\orcidID{0000-0001-7067-6928} \and\\
+ Anton Gavrikov\orcidID{0000-0003-2128-8368} \and\\
+ Artemii Grigorev \and\\
+ Vasily Khramushin\orcidID{0000-0002-3357-169X}
+}
+
+%\titlerunning{Abbreviated paper title}
+\authorrunning{I.\,Petriakov et al.}
+
+\institute{Saint Petersburg State University\\
+ 7-9 Universitetskaya Emb., St Petersburg 199034, Russia\\
+\email{st049350@student.spbu.ru},\\
+\email{a.degtyarev@spbu.ru},\\
+\email{st047824@student.spbu.ru},\\
+\email{i.gankevich@spbu.ru},\\
+\email{st047437@student.spbu.ru},\\
+\email{st016177@student.spbu.ru},\\
+\email{v.khramusin@spbu.ru}
+\url{https://spbu.ru/}}
+
+\maketitle
+
+\begin{abstract}
+The abstract should briefly summarize the contents of the paper in
+150--250 words.
+
+\keywords{%
+TODO
+\and TODO
+\and TODO.
+}
+\end{abstract}
+
+\section{Introduction}
+\section{Methods}
+
+Virtual testbed is a program for personal computers.
+Its main feature is to perform all calculations in real time,
+ paying attention to the high accuracy of calculations.
+This is achieved by using graphical accelerator.
+Generating Gerstner waves isn't an exception.
+We implement algorithm for GPU, using OpenCL framework,
+ and regular CPU, with the ability to parallelization, using OpenMP framework.
+
+This algorithm consists of several parts.
+First of all, we calculate wavy surface, according to our approach.
+Then, we compute wetted panels, which are located under the calculated surface.
+Finally, we find the buoyancy force, acting on a ship.
+These steps are repeated in infinity loop, and this is how we get things worked.
+
+Let's consider process of computing wavy surface in more details.
+Since we have an irregular structure of surface
+ (it means, that we store set of points, describing surface),
+ we just need to perform same formulas for each point of surface.
+It is easy to do with C++ for CPU computation, but it takes some effort
+ to effectively run this algorithm with GPU acceleration.
+Our first implementations was quiet slow, when we had about five iterations of global loop,
+ but now it is much more.
+
+Storage order is very important for GPU architecture.
+Those algorithms are efficient, which are with sequential memory access.
+In this way, we store our set of points in sequential order: one by one.
+It is very obviosly statement, but we need it to keep in mind.
+The next feature, that we use to increase performance, was built-in vector functions.
+So, we don't need to implement custom vector functions to work with our large set of vectors,
+ and it leads to decreasing size of code and possible mistakes.
+Besides, these functions are very fast, and that is how we get there acceleration.
+The third feature, is cache managment.
+Unlike CPU, GPU allows programmers to control it's own kind of L3 cache
+ (more precicely -- part of L3 cache), that is called "shared memory".
+Moreover, in most cases, among of any algorithms, we have to manage shared memory to accelerate them.
+A distinctive point of this kind of memory is that this memory has the smallest latency,
+ at the same time sharing data between some others computing unit,
+As far as, memory bandwith remains a bottleneck, this kind of optimization would fit any situations.
+In our case, summation occurs over the surface of the ship,
+ so we copy small pieces of it to shared memory.
+By this action we reduce number of access to global memory, which has a much bigger latency.
+Following these simple rules, we can easily implement efficient algorithm.
+All we have to do is:
+ check storage order;
+ include vector operations, as much, as possible;
+ and finally, manage shared memory.
+
+
+
+
+
+
+
+\section{Results}
+\section{Discussion}
+\section{Conclusion}
+
+\subsubsection*{Acknowledgements.}
+Research work is supported by Saint Petersburg State University (grants
+no.~51129371 and~51129725) and Council for grants of the President of the Russian Federation
+(grant no.~MK-383.2020.9).
+
+\bibliographystyle{splncs04}
+\bibliography{references}
+
+\end{document}