Scroll to navigation

smpirun(1) General Commands Manual smpirun(1)

NAME

smpirun - Execute MPI programs in the SimGrid simulator

SYNOPSIS

smpirun [SMPI OPTIONS]… -platform <platform.xml> -hostfile <hostfile> program [SIMULATION OPTIONS] [PROGRAM OPTIONS]

DESCRIPTION

smpirun can run MPI programs that were compiled with smpicc on top of the simulator. Basically, it generates a deployment file from the provided hostfile (if needed), and launches the simulation with the right arguments. It is intended to be easy to use to regular MPI users.

MANDATORY PARAMETERS

XML file describing the platform on which we want to deploy the program. Please refer to the online documentation.
Hostfile listing all the machines in use

SMPI OPTIONS

The smpirun itself accepts some optional parameters, that are not to be mixed with the configuration options described in the next section.

Print the usage and a summary of the available options.
Do not remove the generated files after execution.
Use command to run the program (e.g. "valgrind", "gdb --args", "rr record"). You usually want to use the "-foreground" option as well in order to have a TTY.
Run within GDB (equivalent to -wrapper "gdb --args" -keep-temps).
Run within LLDB (equivalent to -wrapper "lldb --" -keep-temps).
Run within Valgrind+GDB (equivalent to -wrapper "valgrind --vgdb=yes --vgdb-error=0" -keep-temps).
Run the child process in the foreground. This gives the child process access to the TTY.
Display the machine on which each process rank is mapped.
Use that amount of processes. By default, there is the same number of processes as there are of hosts in the hostfile.
Disable the privatization of global variables, that is activated by default. This should only be necessary if you use dynamic libraries, but you should probably link statically instead of disabling this. Do not link statically against SimGrid, only against the other libraries.
Activate the trace mechanism if available (equivalent to --cfg=tracing:yes --cfg=tracing/smpi:yes)
Activate time independent tracing.
Put a comment on the top of the trace file.
Insert the content of the file at the head of the trace file as a comment.
Group MPI processes by location.
Trace resource utilization.
Name of the tracefile
Replay a trace instead of actually executing an application.
Reduce output verbosity. This is useful to make tests reproducible.
Displays the SimGrid version (human readable).
Displays the git hash of SimGrid.

SIMULATION OPTIONS

You can change many simulation parameters on command line by passing --cfg=parameter:value after the program name. A full list of the existing parameters and their meaning can be found at https://simgrid.org/doc/latest/Configuring_SimGrid.html

Here are some options commonly used with SMPI:

Only simulate computation chunks that last more than XXX seconds.
Disable the simulation of all computation chunks (that are still executed on the host machine).

AUTHORS

The SimGrid team

COPYRIGHT AND LICENCE

Copyright (c) 2014-2023. The SimGrid Team. All rights reserved.

This program is free software; you may redistribute it and/or modify it under the terms of GNU LGPL (v2.1) license.

SEE ALSO

smpicc(1) smpicxx(1) smpiff(1) smpif90(1)