top.doxy 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. /*
  2. * This file is part of the StarPU Handbook.
  3. * Copyright (C) 2009--2011 Universit@'e de Bordeaux
  4. * Copyright (C) 2010, 2011, 2012, 2013, 2014 Centre National de la Recherche Scientifique
  5. * Copyright (C) 2011, 2012 Institut National de Recherche en Informatique et Automatique
  6. * See the file version.doxy for copying conditions.
  7. */
  8. /*! \defgroup API_StarPUTop_Interface StarPU-Top Interface
  9. \enum starpu_top_data_type
  10. \ingroup API_StarPUTop_Interface
  11. StarPU-Top Data type
  12. \var starpu_top_data_type::STARPU_TOP_DATA_BOOLEAN
  13. \ingroup API_StarPUTop_Interface
  14. todo
  15. \var starpu_top_data_type::STARPU_TOP_DATA_INTEGER
  16. \ingroup API_StarPUTop_Interface
  17. todo
  18. \var starpu_top_data_type::STARPU_TOP_DATA_FLOAT
  19. \ingroup API_StarPUTop_Interface
  20. todo
  21. \enum starpu_top_param_type
  22. \ingroup API_StarPUTop_Interface
  23. StarPU-Top Parameter type
  24. \var starpu_top_param_type::STARPU_TOP_PARAM_BOOLEAN
  25. \ingroup API_StarPUTop_Interface
  26. todo
  27. \var starpu_top_param_type::STARPU_TOP_PARAM_INTEGER
  28. \ingroup API_StarPUTop_Interface
  29. todo
  30. \var starpu_top_param_type::STARPU_TOP_PARAM_FLOAT
  31. \ingroup API_StarPUTop_Interface
  32. todo
  33. \var starpu_top_param_type::STARPU_TOP_PARAM_ENUM
  34. \ingroup API_StarPUTop_Interface
  35. todo
  36. \enum starpu_top_message_type
  37. \ingroup API_StarPUTop_Interface
  38. StarPU-Top Message type
  39. \var starpu_top_message_type::TOP_TYPE_GO
  40. \ingroup API_StarPUTop_Interface
  41. todo
  42. \var starpu_top_message_type::TOP_TYPE_SET
  43. \ingroup API_StarPUTop_Interface
  44. todo
  45. \var starpu_top_message_type::TOP_TYPE_CONTINUE
  46. \ingroup API_StarPUTop_Interface
  47. todo
  48. \var starpu_top_message_type::TOP_TYPE_ENABLE
  49. \ingroup API_StarPUTop_Interface
  50. todo
  51. \var starpu_top_message_type::TOP_TYPE_DISABLE
  52. \ingroup API_StarPUTop_Interface
  53. todo
  54. \var starpu_top_message_type::TOP_TYPE_DEBUG
  55. \ingroup API_StarPUTop_Interface
  56. todo
  57. \var starpu_top_message_type::TOP_TYPE_UNKNOW
  58. \ingroup API_StarPUTop_Interface
  59. todo
  60. \struct starpu_top_data
  61. todo
  62. \ingroup API_StarPUTop_Interface
  63. \var unsigned int starpu_top_data::id
  64. todo
  65. \var const char *starpu_top_data::name
  66. todo
  67. \var int starpu_top_data::int_min_value
  68. todo
  69. \var int starpu_top_data::int_max_value
  70. todo
  71. \var double starpu_top_data::double_min_value
  72. todo
  73. \var double starpu_top_data::double_max_value
  74. todo
  75. \var int starpu_top_data::active
  76. todo
  77. \var enum starpu_top_data_type starpu_top_data::type
  78. todo
  79. \var struct starpu_top_data *starpu_top_data::next
  80. todo
  81. \struct starpu_top_param
  82. todo
  83. \ingroup API_StarPUTop_Interface
  84. \var unsigned int starpu_top_param::id
  85. todo
  86. \var const char *starpu_top_param::name
  87. todo
  88. \var enum starpu_top_param_type starpu_top_param::type
  89. todo
  90. \var void *starpu_top_param::value
  91. todo
  92. \var char **starpu_top_param::enum_values
  93. only for enum type can be NULL
  94. \var int starpu_top_param::nb_values
  95. todo
  96. \var void (*starpu_top_param::callback)(struct starpu_top_param*)
  97. todo
  98. \var int starpu_top_param::int_min_value
  99. only for integer type
  100. \var int starpu_top_param::int_max_value
  101. todo
  102. \var double starpu_top_param::double_min_value
  103. only for double type
  104. \var double starpu_top_param::double_max_value
  105. todo
  106. \var struct starpu_top_param *starpu_top_param::next
  107. todo
  108. @name Functions to call before the initialisation
  109. \ingroup API_StarPUTop_Interface
  110. \fn struct starpu_top_data *starpu_top_add_data_boolean(const char *data_name, int active)
  111. \ingroup API_StarPUTop_Interface
  112. This fonction register a data named data_name of type boolean.
  113. If \p active=0, the value will NOT be displayed to user by default.
  114. Any other value will make the value displayed by default.
  115. \fn struct starpu_top_data *starpu_top_add_data_integer(const char *data_name, int minimum_value, int maximum_value, int active)
  116. \ingroup API_StarPUTop_Interface
  117. This fonction register a data named \p data_name of type integer. The
  118. minimum and maximum value will be usefull to define the scale in UI.
  119. If \p active=0, the value will NOT be displayed to user by default.
  120. Any other value will make the value displayed by default.
  121. \fn struct starpu_top_data *starpu_top_add_data_float(const char *data_name, double minimum_value, double maximum_value, int active)
  122. \ingroup API_StarPUTop_Interface
  123. This fonction register a data named data_name of type float. The
  124. minimum and maximum value will be usefull to define the scale in UI.
  125. If \p active=0, the value will NOT be displayed to user by default.
  126. Any other value will make the value displayed by default.
  127. \fn struct starpu_top_param *starpu_top_register_parameter_boolean(const char *param_name, int *parameter_field, void (*callback)(struct starpu_top_param*))
  128. \ingroup API_StarPUTop_Interface
  129. This fonction register a parameter named \p parameter_name, of type
  130. boolean. The \p callback fonction will be called when the parameter is
  131. modified by UI, and can be null.
  132. \fn struct starpu_top_param *starpu_top_register_parameter_float(const char *param_name, double *parameter_field, double minimum_value, double maximum_value, void (*callback)(struct starpu_top_param*))
  133. \ingroup API_StarPUTop_Interface
  134. his fonction register a parameter named \p param_name, of type
  135. integer. Minimum and maximum value will be used to prevent user seting
  136. incorrect value. The \p callback fonction will be called when the
  137. parameter is modified by UI, and can be null.
  138. \fn struct starpu_top_param *starpu_top_register_parameter_integer(const char *param_name, int *parameter_field, int minimum_value, int maximum_value, void (*callback)(struct starpu_top_param*))
  139. \ingroup API_StarPUTop_Interface
  140. This fonction register a parameter named \p param_name, of type float.
  141. Minimum and maximum value will be used to prevent user seting
  142. incorrect value. The \p callback fonction will be called when the
  143. parameter is modified by UI, and can be null.
  144. \fn struct starpu_top_param *starpu_top_register_parameter_enum(const char *param_name, int *parameter_field, char **values, int nb_values, void (*callback)(struct starpu_top_param*))
  145. \ingroup API_StarPUTop_Interface
  146. This fonction register a parameter named \p param_name, of type enum.
  147. Minimum and maximum value will be used to prevent user seting
  148. incorrect value. The \p callback fonction will be called when the
  149. parameter is modified by UI, and can be null.
  150. @name Initialisation
  151. \ingroup API_StarPUTop_Interface
  152. \fn void starpu_top_init_and_wait(const char *server_name)
  153. \ingroup API_StarPUTop_Interface
  154. This function must be called when all parameters and data have been
  155. registered AND initialised (for parameters). This function will wait
  156. for a TOP to connect, send initialisation sentences, and wait for the
  157. GO message.
  158. @name To call after initialisation
  159. \ingroup API_StarPUTop_Interface
  160. \fn void starpu_top_update_parameter(const struct starpu_top_param *param)
  161. \ingroup API_StarPUTop_Interface
  162. This function should be called after every modification of a parameter
  163. from something other than starpu_top. This fonction notice UI that the
  164. configuration changed.
  165. \fn void starpu_top_update_data_boolean(const struct starpu_top_data *data, int value)
  166. \ingroup API_StarPUTop_Interface
  167. This function updates the value of the starpu_top_data on UI.
  168. \fn void starpu_top_update_data_integer(const struct starpu_top_data *data, int value)
  169. \ingroup API_StarPUTop_Interface
  170. This function updates the value of the starpu_top_data on UI.
  171. \fn void starpu_top_update_data_float(const struct starpu_top_data *data, double value)
  172. \ingroup API_StarPUTop_Interface
  173. This function updates the value of the starpu_top_data on UI.
  174. \fn void starpu_top_task_prevision(struct starpu_task *task, int devid, unsigned long long start, unsigned long long end)
  175. \ingroup API_StarPUTop_Interface
  176. This function notifies UI than the task have been planed to run from start to end, on computation-core.
  177. \fn void starpu_top_debug_log(const char *message)
  178. \ingroup API_StarPUTop_Interface
  179. This function is useful in debug mode. The starpu developper doesn't
  180. need to check if the debug mode is active. This is checked by
  181. starpu_top itsefl. It just send a message to display by UI.
  182. \fn void starpu_top_debug_lock(const char *message)
  183. \ingroup API_StarPUTop_Interface
  184. This function is useful in debug mode. The starpu developper doesn't
  185. need to check if the debug mode is active. This is checked by
  186. starpu_top itsefl. It send a message and wait for a continue message
  187. from UI to return. The lock (wich create a stop-point) should be
  188. called only by the main thread. Calling it from more than one thread
  189. is not supported.
  190. */