Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add surf_cpu_init_im_bypass to be used to bypass the parser without passing through...
[simgrid.git] / src / include / surf / surf.h
index 54a195c..41ebfa0 100644 (file)
@@ -1,6 +1,5 @@
-/*     $Id$     */
-
-/* Copyright (c) 2004 Arnaud Legrand. All rights reserved.                  */
+/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. 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. */
@@ -41,6 +40,7 @@ XBT_PUBLIC(void *) surf_action_new(size_t size, double cost,
  */
      typedef struct surf_model_description {
        const char *name;
+       const char *description;
        surf_model_t model;
        void (*model_init_preparse) (const char *filename);
        void (*model_init_postparse) (void);
@@ -51,6 +51,7 @@ XBT_PUBLIC(void) update_model_description(s_surf_model_description_t * table,
                                           surf_model_t model);
 XBT_PUBLIC(int) find_model_description(s_surf_model_description_t * table,
                                        const char *name);
+XBT_PUBLIC(void) model_help(const char* category, s_surf_model_description_t * table);
 
 /** \brief Action structure
  * \ingroup SURF_actions
@@ -339,6 +340,18 @@ XBT_PUBLIC(void) create_workstations(void);
  */
 XBT_PUBLIC_DATA(surf_model_t) surf_network_model;
 
+/** \brief Same as network model 'LagrangeVelho', only with different correction factors.
+ *  \ingroup SURF_models
+ *  \param filename XML platform file name
+ *
+ * This model is proposed by Pierre-Nicolas Clauss and Martin Quinson and Stéphane Génaud
+ * based on the model 'LV08' and different correction factors depending on the communication
+ * size (< 1KiB, < 64KiB, >= 64KiB).
+ *
+ *  \see surf_workstation_model_init_SMPI()
+ */
+XBT_PUBLIC(void) surf_network_model_init_SMPI(const char *filename);
+
 /** \brief Initializes the platform with the network model 'LagrangeVelho'
  *  \ingroup SURF_models
  *  \param filename XML platform file name
@@ -365,6 +378,8 @@ XBT_PUBLIC(void) surf_network_model_init_LegrandVelho(const char *filename);
  */
 XBT_PUBLIC(void) surf_network_model_init_Constant(const char *filename);
 
+XBT_PUBLIC(void) surf_network_model_init_Vivaldi(const char *filename);
+
 /** \brief Initializes the platform with the network model CM02
  *  \ingroup SURF_models
  *  \param filename XML platform file name
@@ -612,6 +627,10 @@ XBT_PUBLIC_DATA(xbt_dict_t) trace_connect_list_latency;
 
 XBT_PUBLIC(double) get_cpu_power(const char *power);
 
+
+/* used to byPass XML ( interact direclty with cpu and  avoid callback ) */
+XBT_PUBLIC(void) surf_cpu_init_im_bypass(char* name,double power);
+
 #include "surf/surf_resource.h"
 #include "surf/surf_resource_lmm.h"