What is “Signal 15 received”

This indicates the linux has delivered a SIGTERM to your process. This is usually at the request of some other process (via kill()) but could also be sent by your process to itself (using raise()). This signal requests an orderly shutdown of your process. If you need a quick cheatsheet of signal numbers, open a … Read more

struct serialization in C and transfer over MPI

Jeremiah is right – MPI_Type_create_struct is the way to go here. It’s important to remember that MPI is a library, not built into the language; so it can’t “see” what a structure looks like to serialize it by itself. So to send complex data types, you have to explicitly define its layout. In a language … Read more

HPC cluster: select the number of CPUs and threads in SLURM sbatch

Depending on the parallelism you are using: distributed or shared memory –ntasks=# : Number of “tasks” (use with distributed parallelism). –ntasks-per-node=# : Number of “tasks” per node (use with distributed parallelism). –cpus-per-task=# : Number of CPUs allocated to each task (use with shared memory parallelism). From this question: if every node has 24 cores, is … Read more

mpiexec vs mpirun

mpiexec is defined in the MPI standard (well, the recent versions at least) and I refer you to those (your favourite search engine will find them for you) for details. mpirun is a command implemented by many MPI implementations. It has never, however, been standardised and there have always been, often subtle, differences between implementations. … Read more