SIMMSUS source files can be downloaded here :

The build system is based on make. The current makefile supports different compilation targets for CPU and GPU execution.

Serial / CPU Compilation

Depending on the available compiler, SIMMSUS can be compiled with a standard Fortran compiler such as gfortran or Intel Fortran. Typical examples: make gfortran or make ifx

OpenMP Compilation

To compile the OpenMP version: make openmp

The OpenMP implementation is intended for shared-memory CPU execution. It preserves the historical parallelization strategy of SIMMSUS, especially for the outer loops over realizations and particles.

A typical OpenMP execution uses: export OMP_NUM_THREADS=32 and then ./simmsus.ex

The OpenMP benchmark suite in benchmarks_hpc/openmp/ provides scripts to run the code with different thread counts and compare performance.

OpenACC Compilation

To compile the OpenACC GPU version: make openacc

The OpenACC version is intended for NVIDIA GPUs and has been tested with:

  • NVIDIA HPC SDK 26.3

  • CUDA 13.2

  • NVIDIA GeForce RTX 5070

The OpenACC target uses NVIDIA Fortran (nvfortran) and flags consistent with GPU offloading, managed memory, and relocatable device code.

Compilation instructions