Running
Test Project
Once you have built Sassena, you may wish to try it on a sample project that is provided in the Sassena repository:
cd tests/waterdyn4
../../build-rel-cpu/bin/sassena --config scatter.xml
The command-line should terminate with something like:
[11:38:49 Rank 0] [info] Total runtime (s): 77.552289999999999
[11:38:49 Rank 0] [info] Successfully finished... Have a nice day!
and will output to signal.h5 by default.
Running with Docker
If you are using the Docker container, it is convenient to use the runner.sh script.
See Using Sassena with Docker for the complete command syntax.
The script automatically mounts your current directory to /data inside the container.
# Simple run (implicit Sassena flags)
./runner.sh run --config scatter.xml
# Run using MPI with 4 processes (explicit separation)
./runner.sh run --mpi -np 4 --sassena --config scatter.xml
# Run using MPI with 4 processes and 4 OpenMP threads per process
./runner.sh run --mpi -np 4 --sassena --config scatter.xml --limits.computation.threads=4
Running with CUDA
Sassena has a CUDA backend for self scattering, though it is only possible
to use it if you have built the project from source and used the “Release
(CPU+CUDA)” or “Dev (CPU+CUDA)” CMake preset. You must direct
Sassena to use it in the scatter.xml file by adding the following lines inside
the <scattering> tag:
<device>
<type>cuda</type>
<atoms>100</atoms>
</device>
The value in the <type> tag can be either cpu or cuda depending on
the desired backend. If using CUDA, you can dictate how many atoms to calculate
in parallel using the <atoms> tag. Note that this is subject to memory
capacity on the GPU and will fail if the value is too high. We recommend you
experiment and use a value as high as possible before the program refuses due to
lack of memory.
Sassena can still be run with mpirun in the usual way when using the CUDA
backend as only one process will claim the GPU.