smpirun - Execute MPI programs in the SimGrid simulator
smpirun [SMPI OPTIONS]… -platform
<platform.xml> -hostfile <hostfile> program
[SIMULATION OPTIONS] [PROGRAM OPTIONS]
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.
The smpirun itself accepts some optional parameters, that are not
to be mixed with the configuration options described in the next
section.
- -help
- Print the usage and a summary of the available options.
- -keep-temps
- Do not remove the generated files after execution.
- -wrapper
<command>
- 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.
- -gdb
- Run within GDB (equivalent to -wrapper "gdb --args"
-keep-temps).
- -lldb
- Run within LLDB (equivalent to -wrapper "lldb --"
-keep-temps).
- -vgdb
- Run within Valgrind+GDB (equivalent to -wrapper "valgrind --vgdb=yes
--vgdb-error=0" -keep-temps).
- -foreground
- Run the child process in the foreground. This gives the child process
access to the TTY.
- -map
- Display the machine on which each process rank is mapped.
- -np
<numprocs>
- Use that amount of processes. By default, there is the same number of
processes as there are of hosts in the hostfile.
- -no-privatize
- 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.
- -trace
- Activate the trace mechanism if available (equivalent to
--cfg=tracing:yes
--cfg=tracing/smpi:yes)
- -trace-ti
- 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.
- -trace-grouped
- Group MPI processes by location.
- -trace-resource
- Trace resource utilization.
- -trace-file
<tracefile>
- Name of the tracefile
- -replay
<tracefile>
- Replay a trace instead of actually executing an application.
- -quiet
- Reduce output verbosity. This is useful to make tests reproducible.
- -version
- Displays the SimGrid version (human readable).
- -git-version
- Displays the git hash of SimGrid.
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:
- --cfg=smpi/cpu-threshold:XXX
- Only simulate computation chunks that last more than XXX seconds.
- --cfg=smpi/simulate-computation:no
- Disable the simulation of all computation chunks (that are still executed
on the host machine).
Copyright (c) 2014-2022. 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.