\verbatim
"cmake -D[name]=[value] ... ./"
-[name] enable_gtnets [value] ON/OFF or TRUE/FALSE or 1/0
- enable_java ON/OFF or TRUE/FALSE or 1/0
- enable_lua ON/OFF or TRUE/FALSE or 1/0
- enable_ruby ON/OFF or TRUE/FALSE or 1/0
- enable_compile_optimizations ON/OFF or TRUE/FALSE or 1/0
- enable_compile_warnings ON/OFF or TRUE/FALSE or 1/0
- enable_smpi ON/OFF or TRUE/FALSE or 1/0
- enable_maintainer_mode ON/OFF or TRUE/FALSE or 1/0
- enable_supernovae ON/OFF or TRUE/FALSE or 1/0
- enable_tracing ON/OFF or TRUE/FALSE or 1/0
- enable_coverage ON/OFF or TRUE/FALSE or 1/0
- enable_memcheck ON/OFF or TRUE/FALSE or 1/0
- enable_model-checking ON/OFF or TRUE/FALSE or 1/0
- enable_doc ON/OFF or TRUE/FALSE or 1/0
-
- gtnets_path <path_to_gtnets_directory>
- prefix <path_to_install_directory>
- BIBTEX2HTML <path_to_bibtex2html>
- with_context auto/ucontext/pthread/window
+[name] enable_gtnets [value] ON/OFF or TRUE/FALSE or 1/0
+ enable_java ON/OFF or TRUE/FALSE or 1/0
+ enable_lua ON/OFF or TRUE/FALSE or 1/0
+ enable_ruby ON/OFF or TRUE/FALSE or 1/0
+ enable_compile_optimizations ON/OFF or TRUE/FALSE or 1/0
+ enable_compile_warnings ON/OFF or TRUE/FALSE or 1/0
+ enable_smpi ON/OFF or TRUE/FALSE or 1/0
+ enable_maintainer_mode ON/OFF or TRUE/FALSE or 1/0
+ enable_supernovae ON/OFF or TRUE/FALSE or 1/0
+ enable_tracing ON/OFF or TRUE/FALSE or 1/0
+ enable_coverage ON/OFF or TRUE/FALSE or 1/0
+ enable_memcheck ON/OFF or TRUE/FALSE or 1/0
+ enable_model-checking ON/OFF or TRUE/FALSE or 1/0
+ enable_doc ON/OFF or TRUE/FALSE or 1/0
+ gtnets_path <path_to_gtnets_directory>
+ prefix <path_to_install_directory>
+ BIBTEX2HTML <path_to_bibtex2html>
+ with_context auto/ucontext/pthread/window
+ pipol_user <pipol_username>
\endverbatim
\subsubsection faq_cmakeoption2 Options explaination
\li BIBTEX2HTML : Path where is installed bibtex2html.
\li with context : specify which context the user wants to use.
+
+ \li pipol_user : specify your pipol username if you want to use the pipol-remote command.
\subsubsection faq_cmakeoption3 Initialisation
prefix null
BIBTEX2HTML null
with_context auto
+pipol_user null
\endverbatim
\subsubsection faq_cmakeoption4 Option's cache and how to reset?
If you want to test before make a commit you can simply make "ctest -D Experimental" and then you can visualize results submitted into Cdash. <a href="http://cdash.inria.fr/CDash/index.php?project=Simgrid">(Go to Cdash site)</a>.
-\subsubsection faq_cmakecompilation4 Examples for different mode.
+\subsubsection faq_cmakecompilation5 Examples for different mode.
\li Mode maintainer
add_test(test-simdag-1 ${PROJECT_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:${PROJECT_DIRECTORY}/testsuite/simdag small_platform_variable.xml)
\endverbatim
+\subsection faq_PIPOL Pipol-remote
+
+Now we offer the possibility to test your local sources on pipol platforms before a commit. Of course you have to be user of pipol <a href="https://pipol.inria.fr/users/">(Account request)</a> cause you need to give your pipol_username to cmake. Here is a list of available systems :
+\verbatim
+ amd64_kvm-linux-debian-lenny
+ amd64_kvm-linux-debian-testing
+ amd64_kvm-windows-7
+ amd64-linux-centos-5.dd.gz
+ amd64-linux-debian-etch.dd.gz
+ amd64-linux-debian-lenny.dd.gz
+ amd64-linux-debian-testing.dd.gz
+ amd64-linux-fedora-core10.dd.gz
+ amd64-linux-fedora-core11.dd.gz
+ amd64-linux-fedora-core12.dd.gz
+ amd64-linux-fedora-core13.dd.gz
+ amd64-linux-fedora-core7.dd.gz
+ amd64-linux-fedora-core8.dd.gz
+ amd64-linux-fedora-core9.dd.gz
+ amd64-linux-mandriva-2007_springs_powerpack.dd.gz
+ amd64-linux-mandriva-2009_powerpack.dd.gz
+ amd64-linux-opensuse-11.dd.gz
+ amd64-linux-redhatEL-5.0.dd.gz
+ amd64-linux-suse-LES10.dd.gz
+ amd64-linux-ubuntu-feisty.dd.gz
+ amd64-linux-ubuntu-hardy.dd.gz
+ amd64-linux-ubuntu-intrepid.dd.gz
+ amd64-linux-ubuntu-jaunty.dd.gz
+ amd64-linux-ubuntu-karmic.dd.gz
+ amd64-linux-ubuntu-lucid.dd.gz
+ amd64-unix-freebsd-7.dd.gz
+ amd64-windows-server-2003-64bits.dd.gz
+ amd64-windows-server-2008-64bits.dd.gz
+ i386_kvm-linux-debian-lenny
+ i386_kvm-linux-debian-testing
+ i386_kvm-linux-fedora-core13
+ i386_kvm-windows-xp-pro-sp3
+ i386-linux-centos-5.dd.gz
+ i386-linux-debian-etch.dd.gz
+ i386-linux-debian-lenny.dd.gz
+ i386-linux-debian-testing.dd.gz
+ i386-linux-fedora-core10.dd.gz
+ i386-linux-fedora-core11.dd.gz
+ i386-linux-fedora-core12.dd.gz
+ i386-linux-fedora-core13.dd.gz
+ i386-linux-fedora-core7.dd.gz
+ i386-linux-fedora-core8.dd.gz
+ i386-linux-fedora-core9.dd.gz
+ i386-linux-mandriva-2007_springs_powerpack.dd.gz
+ i386-linux-mandriva-2009_powerpack.dd.gz
+ i386-linux-opensuse-11.dd.gz
+ i386-linux-redhatEL-5.0.dd.gz
+ i386-linux-suse-LES10.dd.gz
+ i386-linux-ubuntu-feisty.dd.gz
+ i386-linux-ubuntu-hardy.dd.gz
+ i386-linux-ubuntu-intrepid.dd.gz
+ i386-linux-ubuntu-jaunty.dd.gz
+ i386-linux-ubuntu-karmic.dd.gz
+ i386-linux-ubuntu-lucid.dd.gz
+ i386_mac-mac-osx-server-leopard.dd.gz
+ i386-unix-freebsd-7.dd.gz
+ i386-unix-opensolaris-10.dd.gz
+ i386-unix-opensolaris-11.dd.gz
+ i386-unix-solaris-10.dd.gz
+ ia64-linux-debian-lenny.dd
+ ia64-linux-fedora-core9.dd
+ ia64-linux-redhatEL-5.0.dd
+ x86_64_mac-mac-osx-server-snow-leopard.dd.gz
+ x86_mac-mac-osx-server-snow-leopard.dd.gz
+\endverbatim
+
+Two kind of uses are possible :
+\verbatim
+This command copy your source and execute a configure then a build and finish with tests.
+ bob@caraja:~/Developments/simgrid/tmp_build$ make <name_of_image>
+
+This command copy your source and execute a \"ctest -D Experimental\" and submit the result to cdash.
+ bob@caraja:~/Developments/simgrid/tmp_build$ make <name_of_image>_experimental
+\endverbatim
+All commands are resumed with :
+\verbatim
+bob@caraja:~/Developments/simgrid/tmp_build$ make pipol_experimental_list_images
+bob@caraja:~/Developments/simgrid/tmp_build$ make pipol_test_list_images
+\endverbatim
+
\subsection faq_cmakeExplain Explaination of sources files for cmake
\li CMakeLists.txt
SimGrid behavior. In particular, you can change the default cpu and
network models...
+\subsubsection faq_simgrid_configuration_fullduplex Using Fullduplex
+
+Experimental fullduplex support is now available on the svn branch. In order to fullduple to work your platform must have two links for each pair
+of interconnected hosts, see an example here:
+\verbatim
+ simgrid_svn_sources/exemples/msg/gtnets/fullduplex-p.xml
+\endverbatim
+
+Using fullduplex support ongoing and incoming communication flows are
+treated independently for most models. The exception is the LV08 model which
+adds 0.05 of usage on the opposite direction for each new created flow. This
+can be useful to simulate some important TCP phenomena such as ack compression.
+
+Running a fullduplex example:
+\verbatim
+ cd simgrid_svn_sources/exemples/msg/gtnets
+ ./gtnets fullduplex-p.xml fullduplex-d.xml --cfg=fullduplex:1
+\endverbatim
+
+
+
+
+
\subsubsection faq_simgrid_configuration_gtnets Using GTNetS
It is possible to use a packet-level network simulator
- <b>Enable GTNetS support in SimGrid</b>
+
+In order to enable gtnets with simgrid you have to give where is gtnets. (path to <gtnets_path>/lib and <gtnets_path>/include)
\verbatim
+ Since v3.4 (with cmake)
+ cmake . -Dgtnets_path=/<userhome>/usr
+
+ Until v3.4 (with autotools)
./configure --with-gtnets=/<userhome>/usr
\endverbatim
runntime with the following options:</b>
\verbatim
+ Since v3.4 (with cmake)
+ cd simgrid
+ make
+ ctest -R gtnets
+
+ Until v3.4 (with autotools)
cd simgrid/example/msg/
make
make check
\subsubsubsection Mandatory Functions
-\li <b>\c TRACE_start (const char *filename)</b>: This is the first function to
-be called. It receives a single argument as parameter that contains the name of
-the file that will hold the trace in the end of the simulation. It returns 0 if
-everything was properly initialized, 1 otherwise. All trace functions called
-before TRACE_start do nothing.
+\li <b>\c TRACE_start ()</b>: This is the first function to
+be called. It returns 0 if everything was properly initialized, 1 otherwise.
+All trace functions called before TRACE_start do nothing.
\li <b>\c TRACE_category (const char *category)</b>: This function should be used
to define a user category. The category can be used to differentiate the tasks
that will be used when these functions are called is the one returned by
the function \c MSG_host_self().
+\subsubsection faq_tracing_options Tracing configuration Options
+
+These are the options accepted by the tracing system of SimGrid:
+
+\li <b>\c tracing/filename</b>: use this to specify the name of the trace file
+that will be created during the simulation. For example, after the binary
+of your simulator, you can pass as parameter this:
+\verbatim
+--cfg=tracing/filename:mytracefile.trace
+\endverbatim
+in order to trace the behavior of the simulation in a file with the name
+mytracefile.trace.
+
+\li <b>\c tracing/platform</b>: use this to activate the tracing of the
+platform. For example, you can pass as parameter to your simulator:
+\verbatim
+--cfg=tracing/platform:1
+\endverbatim
+to trace the platform utilization by the categories you declared in your
+simulator. By default, this options is set to 0.
+
\subsubsection faq_tracing_example Example of Instrumentation
A simplified example using the tracing mandatory functions.
\verbatim
int main (int argc, char **argv)
{
- TRACE_start ("traced_simulation.trace");
+ MSG_global_init (&argc, &argv);
+
+ //note that TRACE_start must be called after MSG_global_init
+ TRACE_start ();
TRACE_category ("request");
TRACE_category ("computation");
TRACE_category ("finalize");
-
- MSG_global_init (&argc, &argv);
//(... after deployment ...)
header files with tons of __declspec(dllexport) cruft. We only need to do so
for data, but there is no public data in SimGrid so we are good.
+