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.