install SWAN on Debian-based Linux distributions
prerequisites
The following packages must be installed first:
gcc
cmake
ninja
git
perl
wget
gnupg
intel-fortran-essentials
These packages can be installed using the package manager apt.
Open a command line terminal and run the following commands:
sudo apt -y update
followed by
sudo apt -y install build-essential cmake ninja-build git wget gnupg
Note
The build-essential package installs essential tools and libraries for compiling the source code, including gcc and make.
The Linux flavors Debian, Ubuntu and Mint have perl installed by default.
The final step is to install the Intel Fortran Essentials package which also includes the MPI libraries. First, set up the Intel repository by downloading the key to system keyring:
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
| gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
followed by adding signed entry to apt sources and configure the APT client to use Intel repository:
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
Next, update the repository index:
sudo apt update
Finally, install the package with the following command:
sudo apt -y install intel-fortran-essentials
Let your OS system know where to find the compilers and libraries:
echo export INTF=/opt/intel/oneapi >> ~/.bashrc
echo "source \$INTF/setvars.sh > /dev/null 2>&1" >> ~/.bashrc
source ~/.bashrc
verify installations
Verify the required installations by checking their versions, as follows
ifx --version
cmake --version
ninja --version
perl --version
git --version
If no error is reported, then the installation was successful.
Important
The
CMakeversion must be at least 3.20 or newer.The
ninjaversion should be at least 1.10.The
perlversion is 5 or higher.
installation SWAN
Once the prerequisites are taken care of, installing SWAN on your machine is a four-step process.
download SWAN
git clone https://gitlab.tudelft.nl/citg/wavemodels/swan.git && cd swan
Paste this into a shell terminal.
configure SWAN
make config
build SWAN
make
install SWAN
make install
SWAN is installed at folder $HOME/wavemodels/swan by default.
To run SWAN, you need to make sure that the /bin folder in this directory is added to your system’s PATH.
Open the terminal and enter
echo export PATH=$PATH:$HOME/wavemodels/swan/bin >> ~/.bashrc
source ~/.bashrc
options for configuring SWAN
If desired, the build can be configured by passing one or more options below to make config.
fc=<compiler>the Fortran90 compiler to use [default is determined by
CMake]
mpi=onenable build of SWAN with MPI [
offby default]
metis=onenable build of SWAN with Metis [
offby default]
prefix=<folder>set the installation folder [
$HOME/wavemodels/swanby default]
For example, the following command
make config fc=ifx prefix=/usr/local/swan
will configure SWAN to be built using ifx and then install it at /usr/local/swan.
building with MPI support
The SWAN source code also supports memory-distributed parallelism for high performance computing applications. A message passing approach is employed based on the Message Passing Interface (MPI) standard that enables communication between independent processors.
The Intel Fortran Essentials package also contains the Intel MPI Library. This can be checked with the following command:
mpirun --version
We proceed to build SWAN. First, we configure SWAN to be built with support for MPI, as follows
make config fc=mpiifx mpi=on
The actual building is done by typing
make
Finally, to install SWAN, run the following command
make install
SWAN is now ready for high performance computing.
building with Metis support
SWAN can be compiled with support for Metis to partition an unstructured mesh so that simulations can be carried out on distributed-memory machines. For this, an MPI implementation is still required, click here for details.
The actual mesh partitioning implemented in SWAN is the multilevel k-way method as explained in the Metis manual.
For a proper building, the Metis software package must be installed first on your machine.
On a Debian-based Linux:
sudo apt -y install libmetis-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libmetis.so /usr/local/lib/libmetis.so
After Metis has been installed we continue with the build of SWAN. First, configure SWAN:
make config fc=mpiifx mpi=on metis=on
Next, build SWAN:
make
And finally, install SWAN:
make install
clean up
To remove all files installed by make install, type the following command
make uninstall
If you want to remove the build directory and all files that have been created after running make or make build, then run
make clobber