Skip to content

Latest commit

 

History

History
52 lines (45 loc) · 3.16 KB

install.md

File metadata and controls

52 lines (45 loc) · 3.16 KB
layout title
install_and_compile
Install and Compile

This page talks about how to get the source of VerHem as well as the other necessary sources of third party library dependencies, and how to properly compile and link different parts of source codes and dependencies. VerHem is designed for and has been implemented on memory distributed system, good understanding of Message Passing Interface (MPI) is suggested. There are two major frameworks, which VerHem depends on, deal.ii and Trilinos. Except these two major libraries, p4est, LAPCK, ScaLAPACK, METIS and MPI are also necessary. The building configuration system of VerHem is cmake, so do deal.ii and Trilinos.

Install and Compile

Getting source tree, configure and build

From [GitLab](https://gitlab.com/verhem/verkko-hem-repo) ```shell $ git clone https://gitlab.com/verhem/verkko-hem-repo.git ``` or from [GitHub](https://github.com/VerHem/verkko-Hem-repo) ```shell $ git clone https://github.com/VerHem/verkko-Hem-repo.git ``` then run [**cmake**](https://cmake.org/) to configure the build system ```shell $ cd verkko-Hem-repo $ mkdir build && cd build $ cmake .. ``` after then, build the binary executable ```shell $ cmake --build . -j N ``` The built executable locates in `./build/sol` with file name `VerHem`. In most case, this work just fine. However, compiling error may still happens here or there. For sake of debugging, one may add `--verbose` or `-v` in building step i.e., ```shell $ cmake --build . -j N --verbose ``` to checkout object files building and libraries linking. Depending on the system you are working with, the building tool under management of `CMake` may be different. On most `GNU/Linux` platforms, `GNU Make` a.k.a `gmake` is used. another building tool which VerHem could use is `ninja`.

About dependencies

To successfully compile, link and run VerHem application, few significant third party libraries have to be built or installed.

These dependencies are:

For most of HPC cluster platforms, many of listed above are available by default. Frequently, users may notice that what they have to install manually are deal.ii and Trilinos, which both are cmake-configured libraries. On platform with Spack, these dependencies will be more easy to handle. If user wish to run VerHem applications on their UNIX-BSD/GNU+Linux desktop or laptop, these dependencies may be installed from ports or package management systems.