Skip to content

MRChemSoft/mrcpp

Repository files navigation

MRCPP logo

DOI License Documentation Status Build and test MRCPP CircleCI codecov

The MultiResolution Computation Program Package (MRCPP) is a general purpose numerical mathematics library based on multiresolution analysis and the multiwavelet basis which provide low-scaling algorithms as well as rigorous error control in numerical computations.

The code is being developed at the Hylleraas Centre for Quantum Molecular Sciences at UiT - The Arctic University of Norway.

User support: mrchem.slack.com

Documentation: mrcpp.readthedocs.io

Installation

For optimal performance it is recommended to build from source, as the packaged builds are quite generic without architecture specific optimizations.

From source including code examples

To build MRCPP from source with MPI+OpenMP parallelization:

$ git clone [email protected]:MRChemSoft/mrcpp.git
$ cd mrcpp
$ ./setup --prefix=<install-dir> --enable-examples --omp --mpi --cxx=<mpi-compiler> <build-dir>
$ cd <build-dir>
$ make
$ make test
$ make install

The --enable-examples will trigger compilation of the code snippets in the examples/ directory. Each example will get a separate executable under <build-dir>/bin, but these are not installed.

For more information on different kinds of builds, see installation instructions.

Using Conda

Anaconda-Server Badge Anaconda-Server Badge Anaconda-Server Badge

To install MRCPP in a Conda environment myenv:

$ conda create -n myenv
$ conda activate myenv
$ conda install -c conda-forge mrcpp                # latest version (OpenMP only)
$ conda install -c conda-forge mrcpp=1.3.6          # tagged version (OpenMP only)
$ conda install -c conda-forge mrcpp=*=*openmpi*    # latest version (MPI+OpenMP)
$ conda install -c conda-forge mrcpp=*=*mpich*      # latest version (MPI+OpenMP)

To list all available versions

$ conda search -c conda-forge mrcpp

Using Spack

To install MRCPP in a Spack environment myenv:

$ spack env create myenv
$ spack env activate myenv
$ spack install mrcpp                               # latest version (MPI+OpenMP)
$ spack install mrcpp @1.3.6                        # tagged version (MPI+OpenMP)
$ spack install mrcpp -mpi                          # latest version (OpenMP only)

For information on available Spack builds:

$ spack info mrcpp

Using EasyBuild

To install MRCPP in an EasyBuild/Lmod environment (only MPI+OpenMP version available):

$ eb MRCPP-<version>-<toolchain> --fetch
$ eb MRCPP-<version>-<toolchain> --robot
$ module load MRCPP/<version>-<toolchain>

See EasyBuild for available <versions> and <toolchains>.