monolish
0.14.2
MONOlithic LIner equation Solvers for Highly-parallel architecture
|
The GPU implementation requires OpenMP Offloading in clang. Enabling OpenMP Offloading requires an option to be specified when building clang. This is not practical.
To share the development environment, the monolish development environment is provided in an allgebra Docker container.
If you want to add a feature that depends on a new library, please make a pull request to allgebra.
monolish will be installed in MONOLISH_DIR
. By default, monolish is installed in /opt/monolish/lib/
and /opt/monolish/include/
.
In the current version, it is necessary to specify the path to MONOLISH_DIR in order to compile the sample code. For example:
If Docker is not used, users need to install MKL, OpenBLAS, etc. which they depend on.
monolish requires:
Install cmake 3.18:
Install gcc, g++, make:
Install MKL
or install OpenBLAS
Install directory is MONOLIDH_DIR
.
Installation on the local environment is not supported. This is because monolish requires a clang with OpenMP Offloading enabled.
OpenMP Offloading enabled clang is provided by the following allgebra container.
SXAT and A64fx do not require Docker.
We use NEC nc++ 3.2.1
and NEC NLC 2.3.0
.
VE requires the setting of an environment variable VE_LD_LIBRARY_PATH
.
monolish only support fcc clang mode.
Currently, it does not work because the code depends on NVIDIA CUDA libraries.
OpenMP Offloading should work on these architecture, so it should be possible to make it work based on the design concept of monolish.
These architectures will be supported in the future.