monolish  0.16.0
MONOlithic LInear equation Solvers for Highly-parallel architecture
Installation using apt

This page describes how to install pre-build monolish onto Ubuntu 20.04 LTS. Following commands assumes wget command exists. It can be installed by

$ sudo apt update
$ sudo apt install -y wget

For CPU

monolish deb file can be downloaded from GitHub Release page:

$ wget https://github.com/ricosjp/monolish/releases/download/0.16.0/monolish_common_0.16.0.deb
$ wget https://github.com/ricosjp/monolish/releases/download/0.16.0/monolish_0.16.0+oss_amd64.deb
$ sudo apt install -y ./monolish_common_0.16.0.deb ./monolish_0.16.0+oss_amd64.deb

There are two variants according to backend BLAS and LAPACK implementation:

  • +oss means it uses OpenBLAS
  • +mkl means it uses Intel MKL

For NVIDIA GPU

First, you need to nable CUDA 11.4 repository to enable cuBLAS, cuSPARSE, cuSOLVER using following steps:

$ sudo apt install -y gnupg software-properties-common
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
$ sudo apt install -y cuda-11-4

Then, install monolish by following steps:

$ wget https://github.com/ricosjp/monolish/releases/download/0.16.0/monolish_common_0.16.0.deb
$ wget https://github.com/ricosjp/monolish/releases/download/0.16.0/monolish_0.16.0+oss-nvidia_amd64.deb
$ sudo apt install -y ./monolish_common_0.16.0.deb ./monolish_0.16.0+oss-nvidia_amd64.deb

monolish for GPU has shared libraries for each generation of GPU. Following commands set the path to the shared library for generation of GPU #0.

$ export PATH=$PATH:/usr/local/cuda-11.4/bin/
$ /usr/share/monolish/link_monolish_gpu.sh