/*! \page faq Frequently Asked Questions
-\htmlinclude FAQ.toc
+\htmlinclude .FAQ.doc.toc
\section faq_installation Installing the SimGrid library
version are available. Here is what you can find if you try a <tt>ls
/home/joe/lib</tt>:
-\verbatim libsimgrid.a libsimgrid.la libsimgrid.so libsimgrid.so.0 libsimgrid.so.0.0.1
+\verbatim libsimgrid.a libsimgrid.la libsimgrid.so libsimgrid.so.0 libsimgrid.so.0.0.1
\endverbatim
Thus, there is two ways to link your program with SimGrid:
to gforge so people that are interested by helping on this part will
have the possibility to do it.
-\subsection faq_SG_DAG How to implement a distributed dynamic scheduler of DAGs without the SG module?
+\subsection faq_SG_DAG How to implement a distributed dynamic scheduler of DAGs.
Distributed is somehow "contagious". If you start making distributed
decisions, there is no way to handle DAGs directly anymore (unless I am
Note however that SURF will be slower than the old SG to handle traces with
a lots of variations (there is no trace integration anymore).
-\subsection faq_SG_future Is there a chance for SG to come back one day in the maintained branch?
+\subsection faq_SG_future Will SG come back in the maintained branch one day?
Sure. In fact, we already have thought about a new and cleaner API:
\verbatim
void SG_task_dependency_add(const char *name, void *data, SG_task_t src, SG_task_t dst);
void SG_task_dependency_remove(SG_task_t src, SG_task_t dst);
e_SG_task_state_t SG_task_state_get(SG_task_t task); /* e_SG_task_state_t can be either SG_SCHEDULED, SG_RUNNING, SG_DONE, or SG_FAILED */
-void SG_task_watch(SG_task_t task, e_SG_task_state_t state); /* SG_simulate will stop as soon as the state of this task is the one given in argument. Watch-poin
-t is then automatically removed */
+void SG_task_watch(SG_task_t task, e_SG_task_state_t state); /* SG_simulate will stop as soon as the state of this task is the one given in argument.
+ Watch-point is then automatically removed */
void SG_task_unwatch(SG_task_t task, e_SG_task_state_t state);
void SG_task_unschedule(SG_task_t task); /* change state and rerun.. */
bandwidth_file and latency_file do not express fraction of available
power but are expressed directly in Mb/s and seconds.
-\subsection faq_flexml_bypassing How could I have some C functions do what the platform and deployment files do?
+\subsection faq_flexml_bypassing How can I have some C functions do what the platform file does?
So you want to bypass the XML files parser, uh? Maybe doin some parameter
sweep experiments on your simulations or so? This is possible, but it's not
#####################################################################
/** @addtogroup GRAS_run
+ Virtualization facilities allow your code to run both on top of the simulator or in real setting.
+
@{ */
/** @defgroup GRAS_globals Globals */
#####################################################################
/** @addtogroup GRAS_code
+ Here is how to setup your code when you want to use GRAS. You will also
+ learn how to get the most repetitive parts of your code generated
+ automatically.
+
+ (use the tabs on top of the page to navigate)
+
\htmlonly <!--
DOXYGEN_NAVBAR_LABEL="Project management"
DOXYGEN_NAVBAR_CHILD "main() and GRAS"=GRAS_main_generation.html
#####################################################################
/** @addtogroup GRAS_ex
+ There is for now rather few examples of GRAS, but it's better than
+ nothing, isn't it?
+
+ - \ref GRAS_ex_ping
+ - \ref GRAS_ex_mmrpc
+ - \ref GRAS_ex_timer
+
\htmlonly <!--
DOXYGEN_NAVBAR_CHILD "Ping-Pong"=GRAS_ex_ping.html
DOXYGEN_NAVBAR_CHILD "RPC"=GRAS_ex_mmrpc.html
DOXYGEN_NAVBAR_CHILD "Timers"=GRAS_ex_timer.html
--> \endhtmlonly
+
+ There is some more examples in the distribution, under the directory
+ <tt>examples/gras</tt>.
*/
#####################################################################
* @{
*/
- /*PORTABILITY*/
- /** @defgroup XBT_syscall Malloc and friends */
+ /** @defgroup XBT_grounding Grounding features */
+ /** @defgroup XBT_adt Usual data structures */
+
+/** @} */
+
+/*
+ * +++++++++++++
+ * + GROUNDING +
+ * +++++++++++++
+ */
- /*GROUNDING*/
+/** @addtogroup XBT_grounding
+ *
+ * Grounding features are the basement of SimGrid. You'll find portable (and
+ * secure) wrappers to the malloc-like functions, logging support, error
+ * reporting features, etc.
+ *
+ * @{
+ */
+ /** @defgroup XBT_syscall Malloc and friends */
/** @defgroup XBT_ex Exception support */
/** @defgroup XBT_log Logging support */
/** @defgroup XBT_error Assert macro familly */
/** @defgroup XBT_config Configuration support */
- /*DATA STRUCTS*/
+/** @} */
+
+/*
+ * ++++++++++++++++
+ * + DATA STRUCTS +
+ * ++++++++++++++++
+ */
+
+/** @addtogroup XBT_adt
+ *
+ * Here are the basic data containers that every C programmer rewrites one day.
+ * You won't need to do so yourself, you lucky one, because we did it for you.
+ *
+ * @{
+ */
/** @defgroup XBT_dynar Dynar: generic dynamic array */
/** @defgroup XBT_dict Dict: generic dictionnary */
/** @defgroup XBT_set Set: generic set datatype */
/** @defgroup XBT_swag Swag: O(1) set datatype */
/** @defgroup XBT_heap Heap: generic heap data structure */
+/** @} */ End of XBT_adt
+
/* ************************* *
- * * PORTABILITY-INTERNALS * *
+ * * PORTABILITY-INTERNALS * * (not included in documentation)
* ************************* */
/** \defgroup XBT_context Portable context implementation
* You should use those environments instead.
*/
-/** @} */ End of XBT_API