arcaneframework / alien

Alien: an interface for linear solvers
Apache License 2.0
8 stars 7 forks source link
hpc library linear-algebra wrapper

Alien

All Alien world into one git repository. This repository aims at easing development by compiling together Alien's core, its high level dependencies and its plugins.

How to use ?

Simply clone this repository.

git clone https://github.com/arcaneframework/alien.git
cd alien

After, you can run CMake (at least version 3.18).

mkdir build && cd build
cmake ..

Useful CMake options:

We can mention also other generic CMake options :

Requirements

Alien requires a recent build environment:

On Ubuntu-20.04, installing these packages is sufficient for running hypre solvers:

apt-get install build-essential cmake gcc g++ gdb \
        libhypre-dev \
        libboost-dev libboost-program-options-dev libgtest-dev libglib2.0-dev

For GoogleTest, one must finish installation by running:

cd $(mktemp -d) && cmake /usr/src/googletest && cmake --build . --target install

How it works ?

This repository contains the following subdirectories:

For git developers, Arccore and Arccon dependencies can be built on the fly by setting ALIENDEV_EMBEDDED to ON.

Documentation generation

Documentation is available on documentation, but can be locally built.

You need a python version 3 with sphinx and breathe modules.

You can easily create a conda environment as following:

cd $ALIEN_ROOT/tools/python
conda env create -f alien-env.yml
conda activate alien-env

Then the CMake flag for documentation has to be activated in the Alien configuration step

cmake -S `pwd`/alien \
      -B `pwd`/build-alien \
      -DALIEN_GENERATE_DOCUMENTATION=ON \
       ....

make -C `pwd`/build-alien install
make -C `pwd`/build-alien doc_alien

The documentation is generated in :

firefox `pwd`/build-alien/alien_doc/index.html