Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
This is not true on windows.
[simgrid.git] / doc / modules.doc
index 1c606f8..f8c8ebf 100644 (file)
@@ -6,25 +6,17 @@
     \brief The core toolbox of SimGrid, containing usefull datatypes,
            portability support and so on.
 
-  <center><table><tr><td><b>Top</b>        <td> [\ref index]
-                 <tr><td>   Other modules  <td> [\ref SURF_API] [\ref MSG_API] [\ref GRAS_API] [\ref AMOK_API] [\ref SMPI_API] 
-                 <tr><td><b>Down</b>       <td> [\ref XBT_syscall] </table></center>
 */
 
 /** \defgroup SURF_API       SURF
     \ingroup SimGrid_API
     \brief Kernel of all the simulators used in SimGrid, and associated models.
  
-  <center><table><tr><td><b>Top</b>     <td> [\ref index]
-                 <tr><td><b>Related modules</b> <td> [\ref XBT_API]   
-                 <tr><td>   Other modules      <td> [\ref MSG_API] [\ref GRAS_API] [\ref AMOK_API] [\ref SMPI_API] </table></center>
-
       SURF provides the core functionnalities to simulate a virtual
       platform. It is very low-level and is not intended to be used as
       such but rather to serve as a basis for higher-level simulators.
       We're still working on it and the structure is a little bit
-      complex. So we'll document it only when we'll be completely satisfied of 
-      the way it is organized.
+      complex.
 
       It is where platform models are encoded. If you need a model that is not 
       encoded yet, please tell me (<arnaud.legrand@imag.fr>) and we'll
     \ingroup SimGrid_API
     \brief Simple programming environment 
   
-  <center><table><tr><td><b>Top</b>     <td> [\ref index]
-                 <tr><td><b>Related modules</b> <td> [\ref XBT_API]   
-                 <tr><td>   Other modules      <td> [\ref SURF_API] [\ref GRAS_API] [\ref AMOK_API] [\ref SMPI_API] </table></center>
-
       MSG was the first distributed programming environment provided within
       SimGrid. While almost realistic, it remains quite simple (simplistic?).
 
       \section MSG_who Who should use this (and who shouldn't)
       
       You should use this module if you want to study some heuristics for a
-      given problem you don't really want to implement. If you want to get a
-      real implementation of your solution, have a look at the \ref GRAS_API 
-      programming environment. If you want to study an existing MPI program,
+      given problem you don't really want to implement.
+      If you want to use DAGs, have a look at the \ref SD_API programming
+      environment.
+      If you want to get a real implementation of your solution, have a look
+      at the \ref GRAS_API one. If you want to study an existing MPI program,
       have a look at the \ref SMPI_API one. If none of those programming
       environments fits your needs, you may consider implementing your own 
       directly on top of \ref SURF_API (but you probably want to contact us
       before). 
 */
 
+
 /** \defgroup GRAS_API      GRAS
     \ingroup SimGrid_API
     \brief Realistic programming environment (Grid Reality And Simulation)
   
-  <center><table><tr><td><b>Top</b>     <td> [\ref index]
-                 <tr><td><b>Related modules</b> <td> [\ref XBT_API]   [\ref AMOK_API]
-                 <tr><td>   Other modules       <td> [\ref SURF_API]  [\ref MSG_API] [\ref SMPI_API] 
-                 <tr><td><b>Down</b>            <td> [\ref GRAS_dd]   </table></center>
-
     GRAS provides a complete API to implement distributed application on top
     of heterogeneous plateforms. In addition to the SimGrid implementation
     of this interface (allowing you to work on your application within the
@@ -84,7 +70,7 @@
     may eventually be distributed. 
     If you just want to study some heuristics for a given problem you don't
     want to implement really (ie, if your result would be a theorem), have a
-    look at the \ref MSG_API one.
+    look at the \ref MSG_API one, or the \ref SD_API one if you need to use DAGs.
     If you want to study an existing MPI program, have a look at the 
     \ref SMPI_API one. 
     If none of those programming environments fits your needs, you may
     \ingroup SimGrid_API
     \brief Distributed toolkit built over \ref GRAS_API (Advanced Metacomputing Overlay Kit)
 
-  <center><table><tr><td><b>Top</b>     <td> [\ref index]
-                 <tr><td><b>Related modules</b> <td> [\ref XBT_API] [\ref GRAS_API]
-                 <tr><td>   Other modules      <td> [\ref SURF_API] [\ref MSG_API] [\ref SMPI_API] </table></center>
-
     AMOK provides several tools useful to most applications built on top of GRAS, 
     but yet not belonging to GRAS itself. It is planned that those modules will be 
     changed to real plugins one day, allowing users to load only the needed parts at
     \ingroup SimGrid_API
     \brief Programming environment for the simulation of MPI applications
   
-  <center><table><tr><td><b>Top</b>     <td> [\ref index]
-                 <tr><td><b>Related modules</b> <td> [\ref XBT_API] 
-                 <tr><td>   Other modules       <td> [\ref SURF_API] [\ref GRAS_API] [\ref AMOK_API] [\ref MSG_API] </table></center>
-
     Once implemented, this programming environment will allow you to study
     within the simulator any MPI application without having to modify them
     for that. In other words, it will constitute an emulation solution for
     \ref GRAS_API environment. 
     If you want to study some heuristics for a given problem (and if your
     goal is to produce theorems, not code), have a look at the \ref MSG_API
-    environment.
+    environment, or the \ref SD_API one if you need to use DAGs.
     If none of those programming environments fits your needs, you may
     consider implementing your own directly on top of \ref SURF_API (but you
     probably want to contact us before).
   
  */
+
+
+/** \defgroup SD_API      SimDag
+    \ingroup SimGrid_API
+    \brief Programming environment for DAG applications
+   
+    SimDag provides some functionnalities to simulate parallel task scheduling
+    with DAGs models (Direct Acyclic Graphs).
+    The old versions of SimGrid were based on DAGs. But the DAG part (named SG)
+    was removed in SimGrid 3 because the new kernel (\ref SURF_API) was implemented. \ref SURF_API
+    was much faster and more flexible than SG and did not use DAGs.
+    SimDag is a new implementation of DAGs handling and it is built on top of \ref SURF_API.
+    
+    \section SD_who Who should use this (and who shouldn't)
+    
+    You should use this programming environment of the SimGrid suite if you want
+    to study algorithms and heuristics with DAGs of parallel tasks.
+    If you don't need to use DAGs for your simulation, have a look at the
+    \ref MSG_API programming environment.
+    If you want to implement a real distributed application, have a look at the
+    \ref GRAS_API programming environment.
+    If you want to study an existing MPI program, have a look at the 
+    \ref SMPI_API one. 
+    If none of those programming environments fits your needs, you may
+    consider implementing your own directly on top of \ref SURF_API (but you
+    probably want to contact us before).
+
+*/