X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9e68ca10e951fb61e944c99c7774b1e415ae9f6d..859be56ee4794f262b79665d2caa32664e52cbed:/doc/doxygen/options.doc diff --git a/doc/doxygen/options.doc b/doc/doxygen/options.doc index 02f6728456..b9ab520108 100644 --- a/doc/doxygen/options.doc +++ b/doc/doxygen/options.doc @@ -18,7 +18,7 @@ type the following: \verbatim my_simulator --cfg=Item:Value (other arguments) \endverbatim -Several \c --cfg command line arguments can naturally be used. If you +Several \c `--cfg` command line arguments can naturally be used. If you need to include spaces in the argument, don't forget to quote the argument. You can even escape the included quotes (write \' for ' if you have your argument between '). @@ -31,7 +31,8 @@ ignored so you don't really need to pass it. The important par is that within that tag, you can pass one or several \c \ tags to specify the configuration to use. For example, setting \c Item to \c Value can be done by adding the following to the beginning of your platform -file: \verbatim +file: +\verbatim @@ -173,7 +174,7 @@ price of a reduced numerical precision. By default, Surf computes the analytical models sequentially to share their resources and update their actions. It is possible to run them in parallel, using the \b surf/nthreads item (default value: 1). If you use a -negative value, the amount of available cores is automatically +negative or null value, the amount of available cores is automatically detected and used instead. Depending on the workload of the models and their complexity, you may get a @@ -239,7 +240,7 @@ initialization are done in the simulator. It is possible to specify a timing gap between consecutive emission on the same network card through the \b network/sender_gap item. This is still under investigation as of writting, and the default value is -to wait 0 seconds between emissions (no gap applied). +to wait 10 microseconds (1e-5 seconds) between emissions. \subsubsection options_model_network_asyncsend Simulating asyncronous send @@ -253,6 +254,10 @@ manually set for MSG mailboxes, by setting the receiving mode of the mailbox with a call to \ref MSG_mailbox_set_async . For MSG, all messages sent to this mailbox will have this behavior, so consider using two mailboxes if needed. +This value needs to be smaller than or equals to the threshold set at +\ref options_model_smpi_detached , because asynchronous messages are +meant to be detached as well. + \subsubsection options_pls Configuring packet-level pseudo-models When using the packet-level pseudo-models, several specific @@ -386,8 +391,8 @@ stacks), leading to segfaults with corrupted stack traces. If you want to push the scalability limits of your code, you really want to reduce the \b contexts/stack_size item. Its default value -is 128 (in Kib), while our Chord simulation works with stacks as small -as 16 Kib, for example. For the thread factory, the default value +is 128 (in KiB), while our Chord simulation works with stacks as small +as 16 KiB, for example. For the thread factory, the default value is the one of the system, if it is too large/small, it has to be set with this parameter. @@ -401,8 +406,8 @@ If you are using the \c ucontext or \c raw context factories, you can request to execute the user code in parallel. Several threads are launched, each of them handling as much user contexts at each run. To actiave this, set the \b contexts/nthreads item to the amount of -cores that you have in your computer (or -1 to have the amount of cores -auto-detected). +cores that you have in your computer (or lower than 1 to have +the amount of cores auto-detected). Even if you asked several worker threads using the previous option, you can request to start the parallel execution (and pay the @@ -443,7 +448,7 @@ you never used the tracing API. - Any SimGrid-based simulator (MSG, SimDag, SMPI, ...) and raw traces: \verbatim ---cfg=tracing:1 --cfg=tracing/uncategorized:1 --cfg=triva/uncategorized:uncat.plist +--cfg=tracing:yes --cfg=tracing/uncategorized:yes --cfg=triva/uncategorized:uncat.plist \endverbatim The first parameter activates the tracing subsystem, the second tells it to trace host and link utilization (without any @@ -452,7 +457,7 @@ you never used the tracing API. - MSG or SimDag-based simulator and categorized traces (you need to declare categories and classify your tasks according to them) \verbatim ---cfg=tracing:1 --cfg=tracing/categorized:1 --cfg=triva/categorized:cat.plist +--cfg=tracing:yes --cfg=tracing/categorized:yes --cfg=triva/categorized:cat.plist \endverbatim The first parameter activates the tracing subsystem, the second tells it to trace host and link categorized utilization and the @@ -464,7 +469,7 @@ you never used the tracing API. smpirun -trace ... \endverbatim The -trace parameter for the smpirun script runs the -simulation with --cfg=tracing:1 and --cfg=tracing/smpi:1. Check the +simulation with --cfg=tracing:yes and --cfg=tracing/smpi:yes. Check the smpirun's -help parameter for additional tracing options. Sometimes you might want to put additional information on the trace to @@ -483,8 +488,7 @@ reproduce an experiment. You have two ways to do that: Please, use these two parameters (for comments) to make reproducible simulations. For additional details about this and all tracing -options, check See the \ref tracing_tracing_options "Tracing -Configuration Options subsection". +options, check See the \ref tracing_tracing_options. \section options_smpi Configuring SMPI @@ -525,6 +529,24 @@ to 1, \c smpirun will display this information when the simulation ends. \verbat Simulation time: 1e3 seconds. \endverbatim +\subsection options_model_smpi_detached Simulating MPI detached send + +(this configuration item is experimental and may change or disapear) + +This threshold specifies the size in bytes under which the send will return +immediately. This is different from the threshold detailed in \ref options_model_network_asyncsend +because the message is not effectively sent when the send is posted. SMPI still waits for the +correspondant receive to be posted to perform the communication operation. This threshold can be set +by changing the \b smpi/send_is_detached item. The default value is 65536. + +\subsection options_model_smpi_collectives Simulating MPI collective algorithms + +SMPI implements more than 100 different algorithms for MPI collective communication, to accurately +simulate the behavior of most of the existing MPI libraries. The \b smpi/coll_selector item can be used + to use the decision logic of either OpenMPI or MPICH libraries (values: ompi or mpich, by default SMPI +uses naive version of collective operations). Each collective operation can be manually selected with a +\b smpi/collective_name:algo_name. Available algorithms are listed in \ref SMPI_collective_algorithms . + \section options_generic Configuring other aspects of SimGrid \subsection options_generic_path XML file inclusion path @@ -591,6 +613,8 @@ It can be done by using XBT. Go to \ref XBT_log for more details. - \c smpi/display_timing: \ref options_smpi_timing - \c smpi/cpu_threshold: \ref options_smpi_bench - \c smpi/async_small_thres: \ref options_model_network_asyncsend +- \c smpi/send_is_detached: \ref options_model_smpi_detached +- \c smpi/coll_selector: \ref options_model_smpi_collectives - \c path: \ref options_generic_path - \c verbose-exit: \ref options_generic_exit