Commit 35a934a6 authored by Jeremy Cohen's avatar Jeremy Cohen

Updated windows build docs and added MPI info.

parent f8bcaf92
......@@ -13,6 +13,7 @@ configuration.
\subsection{Obtaining the source code}
\label{s:installation:source:obtainingsource}
There are two ways to obtain the source code for \nekpp:
\begin{itemize}
\item Download the latest source-code archive from the
......@@ -369,10 +370,13 @@ tar -zxvf nektar++-(*\nekver*).tar.gz
\lstset{showstringspaces=false}
Windows compilation is supported, but the build process is somewhat convoluted
at present. As such, only serial execution is supported with a minimal amount of
additional build packages. These can either be installed by the user, or
automatically in the build process.
Windows compilation is supported but there are some complexities with building
additional features on this platform at present. As such, only builds with
a minimal amount of additional build packages are currently supported. These can
either be installed by the user, or automatically as part of the build process.
Support has recently been added for building with MPI on Windows. This enables
parallel computations to be carried out with \nekpp on Windows where only
sequential computations were previously supported.
\begin{center}
\begin{tabularx}{\linewidth}{lcccX}
......@@ -381,27 +385,27 @@ automatically in the build process.
Package & Req. & User & Auto. & Note \\
\midrule
MS Visual Studio & \cmark & \cmark & & 2015, 2017 and 2019 known working\\
CMake $\geq 3.5.1$ & \cmark & \cmark & & \\
CMake $\geq 3.5.1$ & \cmark & \cmark & & 3.16+ recommended, see details below\\
BLAS & \cmark & \cmark & \cmark & \\
LAPACK & \cmark & \cmark & \cmark & \\
Boost $\geq 1.61$ & \cmark & \cmark & & Install from binaries\\ %Compile with iostreams\\
Microsoft MPI $\geq 10.1.2$ & & \cmark & & Required for parallel execution. Install both runtime and SDK\\
\bottomrule
\end{tabularx}
\end{center}
\begin{notebox}
There are known issues at present with automatically building Boost from
source as a third party dependency during the Nektar++ build when using
MS Visual Studio 2015, 2017 and 2019. When using these versions of Visual Studio
you should install a suitable version of Boost from binaries as detailed in
the instructions below.
These instructions assume you are using a 64-bit version of Windows 10.
\end{notebox}
\begin{notebox}
These instructions assume you are using a 64-bit version of Windows 10.
There have been issues with automatically building Boost from source as
a third party dependency during the Nektar++ build when using MS Visual
Studio 2015, 2017 and 2019. This should now be possible but it is,
nonetheless, recommended you install a suitable version of Boost from
binaries as detailed in the instructions below.
\end{notebox}
\subsubsection{Detailed instructions}
\begin{enumerate}
......@@ -409,18 +413,18 @@ Boost $\geq 1.61$ & \cmark & \cmark & & Install from binaries\\ %Compile
work). This can be obtained from Microsoft free of charge by using their
Community developer tools from
\url{https://visualstudio.microsoft.com/vs/community/}.
\item Install CMake from \url{http://www.cmake.org/download/}. For building
on Windows you are strongly recommended to use a recent version of CMake, e.g 3.16+.
Minimum rquired CMake versions for building \nekpp on Windows with Visual Studio
Minimum required CMake versions for building \nekpp on Windows with Visual Studio
are CMake 3.5.1+ (VS2015), 3.7+ (VS2017), or 3.15+ (VS2019). When prompted,
select the option to add CMake to the system PATH.
\item (Optional) Install Git from \url{http://git-scm.com/download/win} to use
the development versions of \nekpp. When prompted, select the option to add
Git to the system PATH. You do not need to select the option to add Unix tools
to the PATH.
\item (Optional) It is possible to have Boost built from source as a third
party library during the \nekpp build. However, it is recommended to install
the boost binaries that can be found at
\item (Optional) As highlighted above, it is possible to have Boost built from
source as a third-party library during the \nekpp build. However, if you are
comfortable with making changes to system environment variables as detailed in
the instructions below, it is recommended to install the boost binaries that
can be found at
\url{http://sourceforge.net/projects/boost/files/boost-binaries}. By
default these install into \inlsh{C:\textbackslash local\textbackslash
boost\_<version>}. We recommend installing a specific version of the binaries
......@@ -458,7 +462,9 @@ Boost $\geq 1.61$ & \cmark & \cmark & & Install from binaries\\ %Compile
\emph{``Git from the command line and also from 3rd-party software''}. You do not
need to select the option to add Unix tools to the PATH.
\item Unpack \inlsh{nektar++-\nekver.zip}.
\item If you've downloaded the source code archive (as described in
Section~\ref{s:installation:source:obtainingsource}), unpack
\inlsh{nektar++-\nekver.zip}.
\begin{notebox}
Some Windows versions do not recognise the path of a folder which has
......@@ -467,9 +473,13 @@ Boost $\geq 1.61$ & \cmark & \cmark & & Install from binaries\\ %Compile
\inlsh{nektar++-\nekver} to \inlsh{nektar-\nekver}.
\end{notebox}
\item Create a \inlsh{build} directory within the \inlsh{nektar++-\nekver}
subdirectory.
subdirectory. \textit{If you cloned the source code from the git repository, your
\nekpp subdirectory will be called \inlsh{nektar} rather than
\inlsh{nektar++-\nekver}}
\item Open a Visual Studio terminal (\emph{Developer Command Prompt for VS [2015/2017/2019]} or \emph{x64 Native Tools Command Prompt}. From the
Start menu, this can be found under \emph{Visual Studio [2015/2017/2019]}.
\item Change directory into the \texttt{build} directory and run CMake to generate the build files.
You need to set the \emph{generator} to the correct Visual Studio version using the -G switch on the
command line, e.g. for VS2019:
......@@ -480,6 +490,12 @@ Boost $\geq 1.61$ & \cmark & \cmark & & Install from binaries\\ %Compile
You can see the list of available generators using \emph{cmake --help}. For VS2017 use
\emph{``Visual Studio 15 2017 Win64''} and for VS2015 use \emph{``Visual Studio 14 2015 Win64''}.
If you want to build a parallel version of \nekpp with MPI support, you need to add the
\emph{-DNEKTAR\_USE\_MPI=ON} switch to the cmake command, e.g.:
\begin{lstlisting}[style=BashInputStyle]
cmake -G "Visual Studio 16 2019" -D NEKTAR_USE_MPI=ON ..
\end{lstlisting}
\begin{notebox}
At this stage, you should ensure that the binary version of Boost that you installed has been correctly
detected by CMake. You should see a number of lines of output from CMake saying \emph{-- -- Found boost <library name> library: } followed paths to one or more files which should be located in the directory where you installed your Boost binaries. If you do not see this output, it is likely that CMake has failed to detect the installed Boost libraries and the Nektar++ build will fail.\\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment