-
Notifications
You must be signed in to change notification settings - Fork 0
/
introduction.tex
38 lines (31 loc) · 3.31 KB
/
introduction.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
% \section{Introduction}
Lax-Wendroff Flux Reconstruction (LWFR) is a high order, explicit spectral element method for solving systems of partial differential equations in conservative form.
\begin{equation}
\boldsymbol{u}_t + \nabla_x \cdot \boldsymbol{f^a(u)} - \nabla_x \cdot \boldsymbol{f^v}(\boldsymbol{u},\nabla \boldsymbol{u}) = \boldsymbol{S(u)}
\end{equation}
An example of above system is the \href{https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_equations}{compressible Navier-Stokes equations.} Traditional spectral element methods for solving these equations are the Runge-Kutta Flux Reconstruction (RKFR) schemes which perform a spatial discretization (i.e., in x) and then use a \textbf{multi-stage} Runge-Kutta ODE solver to perform time discretization (i.e., in t). The Runge-Kutta method requires multiple inter-element communication for each of its stages which can become the bottleneck, especially in a parallel code.
Lax-Wendroff Flux Reconstruction (LWFR) schemes are an alternative to this as they perform the evolution in a single stage, thus decreasing the inter-element communication. The main goal while writing parallel algorithm should be to minimize the data to be communicated without creating redundant data in each process's memory.
Using parallel algorithms has its own advantages and disadvantages but the gain that we acquire is far more than the loss for data and compute intensive problems.
\section{Advantages of parallelization}
\begin{itemize}
\item Execution of code on many nodes each with its own computing units enables to use extra compute.
\item Execution of memory intensive programs on a multi-node environment enables it to use memeory available on each node.
\item Using multiple cores on many nodes can speed up the process and can save time.
\end{itemize}
\section{Challenges of parallelization}
\begin{itemize}
\item Execution of code in an multi-node environment requires a lot of resources such as computing units, interconnects, networking hardwares etc.
\item Data communication between processes puts a additional overhead to the execution time which can be significant if code is not written efficiently.
\item It increases the complexity of the code hence it is difficult to develop, modify and maintain the parallel code.
\end{itemize}
In chapter \ref{tf}, we will discuss the theoritical framework for LWFR method. I have also included finite volume method (FVM) as background for the LWFR as knowing about FVM can be very helpful to comprehend flux reconstruction method.
\vspace{5pt}\hspace{-26pt}
In chapter \ref{m}, I have explained the methodology of how parallelization of \linebreak {\ttfamily TrixiLW.jl} has been done. I also have mentioned about the data structures that has been used for parallelization.
Along with the methodology that we have followed, I have also provided a alternate way of parallelization using the newly released MPI Remote memory access (RMA) in chapter \ref{am}
\vspace{5pt}\hspace{-23pt}
In chapter \ref{ai}, I have performed analysis of results in terms of speed and accuracy, and provided a possible interpretation of results.
\vspace{5pt}\hspace{-23pt}
In later chapters \ref{c} and \ref{ra}, the conclusion and the results that we got from the code along with results of scaling tests are shown.
\begin{center}
\rule{3cm}{1pt}
\end{center}