Prerequisites
Device:
- At least 8GB RAM.
Software:
- SIMPA is supported only under Linux at the moment ( tested with CentOS8, Ubuntu 20.0, Ubuntu22.04, but any x86 Linux distribution should be ok)
- Under Windows with the WSL Linux subsystem also works.
- SIMPA uses the Lapack package which must be installed before installing SIMPA. It also uses the FMM3D (
https://github.com/flatironinstitute/FMM3D
), however it does not need to be installed is a separate step, a generic pre-compiled binary is included in the SIMPA jar file for the linux-x86 architecture. If you want to run SIMPA in a different CPU architecture, for example ARM, you need to compile FMM3D yourself. - If you use SIMPA from the command line interface only ( that is, executing simpa scripts ) you don't need to install the JDK. The Java runtime environement JRE17 is included in the RPM or DEB installation packages. If you use the SIMPA API from a Java program, then of course you need the JDK17 or above.
Installing the dependencies
On REDHAT based system:
sudo yum install blas-devel lapack-devel
On DEBIAN based system:
sudo apt-get install gfortran libblas-dev liblapack-dev
SIMPA Download and Installation
Download of the latest version of SIMPA ACC from here: SIMPA RELEASES. The JDK17 runtime is packaged together with SIMPA, so you don't need to install it in a separate step, only if you want to use also the SIMPA JAVA API. In this case of course you need a JDK17 or above.
On REDHAT based system install the RPM you downloaded with: sudo rpm -iv ./simpa-acc-VERSION.x86_64.rpm
On other Linux systems download the tar.gz archive and unpack it with: tar xzvf simpa-acc-VERSION.tar.gz
You can check if all went good by launching SIMPA with: /opt/simpa-acc/bin/simpa-acc
or wherever you unpacked the tar.gz archive.
JDK-17 ( Optional for the CLI)
To install JDK-17, download the correct distribution for Linux here. Then install it.
On Ubuntu 22.04 LTS for example, JDK-17 can be installed using the command sudo apt install openjdk-17-jdk
.
Finally, add the JAVA_HOME environment variable and add the bin directory to the path, the following example is added to the ~/.bashrc file: export JAVA_HOME=**Java install directory**
. The bin directory is then added to the path with the following line: export PATH=$PATH:$JAVA_HOME/bin
.
Compiling FMM3D for yourself ( Optional )
For the linux-x86 CPU ( Intel, AMD ) architecture you don't need this step, but you can gain about 20 % in speed at the creation of field maps. For other CPU architectures, this step is mandatory.
Clone the FMM3D repository using the git command git clone https://github.com/flatironinstitute/FMM3D
, cd to the directory with the command cd FMM3D
and then follow the steps below based on your platform.
The following installation requires gcc to be installed with the gfortran dependency.
On Ubuntu gcc and gfortran can be installed with sudo apt install build-essential gfortran
On Redhat based Linux sudo yum install gcc-gfortran
On Linux run: make install. Then add the LD_LIBRARY_PATH environment variable to your system, the following example is added to the bottom of the .bashrc file in the home directory: export LD_LIBRARY_PATH=**The lib directory containing the FMM3D library**.