Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / src / smpi / smpirun.in
index 33fb524..194934f 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env sh
 
-# Copyright (c) 2007-2021. The SimGrid Team. All rights reserved.
+# Copyright (c) 2007-2023. The SimGrid Team. All rights reserved.
 
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the license (GNU LGPL) which comes with this package.
@@ -8,7 +8,7 @@
 @CMAKE_SMPI_COMMAND@
 
 SIMGRID_VERSION="@SIMGRID_VERSION_STRING@"
-SIMGRID_GITHASH="@SIMGRID_GITHASH@"
+SIMGRID_GITHASH="@GIT_VERSION@"
 
 DEFAULT_LOOPBACK_BANDWIDTH="498000000Bps"
 DEFAULT_LOOPBACK_LATENCY="0.000004s"
@@ -27,15 +27,15 @@ PRIVATIZE="--cfg=smpi/privatization:${SMPI_PRIVATIZATION:-@HAVE_PRIVATIZATION@}"
 NUMPROCS=0
 DEPLOYOPTS=""
 
-SIMOPTS="--cfg=surf/precision:1e-9 --cfg=network/model:SMPI"
+SIMOPTS="--cfg=precision/timing:1e-9 --cfg=network/model:SMPI"
 
 SMPITMPDIR="$(dirname $(mktemp -u))"
 
 #usage to print the way this script should be called
 usage () {
     cat <<EOF
-Usage: $0 [OPTIONS] -platform <xmldesc> -hostfile <hostfile> program [program-options]
-       $0 [OPTIONS] -platform <xmldesc> -hostfile <hostfile> -replay <tracefile> [program] [program-options]
+Usage: $0 [OPTIONS] -platform <xmldesc|so> -hostfile <hostfile> program [program-options]
+       $0 [OPTIONS] -platform <xmldesc|so> -hostfile <hostfile> -replay <tracefile> [program] [program-options]
 Options:
   -analyze                   # show information about allocations and timings at the end of execution
   -keep-temps                # don't remove the generated files after execution
@@ -47,7 +47,7 @@ Options:
   -np <numprocs>             # use that amount of processes from the hostfile.
                              # By default, all processes of the hostfile are used.
   -no-privatize              # Disable the globals privatization, that is activated by default
-  -tmpdir                    # Directory used to store temporary files. Defaults to system's. 
+  -tmpdir                    # Directory used to store temporary files. Defaults to system's.
   -trace-ti                  # activate time independent tracing (for replay, default in smpi_simgrid.txt)
   -trace                     # activate tracing (Paje, default in smpi_simgrid.trace)
   -trace-comment <comment>   # put a comment on the top of the trace file
@@ -59,6 +59,8 @@ Options:
 
   -version                   # Displays the SimGrid version (human readable)
   -git-version               # Displays the git hash of SimGrid
+  -help                      # Displays this information
+  -help-coll                 # Displays all available collective algorithms
 
 or (deprecated usage):
   $0 [-keep-temps] [-np <numprocs>] [-bandwidth <bytes/sec>] [-latency <secs>] program [program-options]
@@ -233,13 +235,17 @@ while true; do
             shift 1
             ;;
         "-analyze")
-            SIMOPTS="$SIMOPTS --cfg=smpi/display-timing:yes --cfg=smpi/display-allocs:yes --cfg=smpi/list-leaks:50"
+            SIMOPTS="$SIMOPTS --cfg=smpi/display-timing:yes --cfg=smpi/display-allocs:yes --cfg=smpi/list-leaks:50 --cfg=smpi/pedantic:true --cfg=smpi/barrier-collectives:true"
             shift 1
             ;;
         "-help" | "--help" | "-h")
             usage
             exit 0
             ;;
+        "-help-coll" | "--help-coll")
+            ${WRAPPER} "@SMPIMAIN@" --help-coll
+            exit 0
+            ;;
         "-version" | "--version" | "-v")
             printf '%b\n' "$SIMGRID_VERSION"
             exit 0
@@ -336,10 +342,6 @@ fi
 DEPLOYOPTS="${DEPLOYOPTS} --cfg=smpi/np:${NUMPROCS}"
 DEPLOYOPTS="${DEPLOYOPTS} --cfg=smpi/hostfile:${HOSTFILE}"
 
-#if [ "${NUMPROCS}" -gt "${hostfile_procs}" ] ; then
-#    echo "You requested to use ${NUMPROCS} ranks, but there is only ${hostfile_procs} processes in your hostfile..." >&2
-#fi
-
 ##-------------------------------- DEFAULT or SPECIFIED PLATFORM --------------------------------------
 if [ -z "${PLATFORM}" ]; then
     PLATFORMTMP="$(mktemp smpitmp-platfXXXXXX)"