top.doxy 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2010-2015,2017 CNRS
  4. * Copyright (C) 2009-2011,2014 Université de Bordeaux
  5. * Copyright (C) 2011-2012 Inria
  6. *
  7. * StarPU is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU Lesser General Public License as published by
  9. * the Free Software Foundation; either version 2.1 of the License, or (at
  10. * your option) any later version.
  11. *
  12. * StarPU is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  15. *
  16. * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  17. */
  18. /*! \defgroup API_StarPUTop_Interface StarPU-Top Interface
  19. \enum starpu_top_data_type
  20. \ingroup API_StarPUTop_Interface
  21. StarPU-Top Data type
  22. \var starpu_top_data_type::STARPU_TOP_DATA_BOOLEAN
  23. todo
  24. \var starpu_top_data_type::STARPU_TOP_DATA_INTEGER
  25. todo
  26. \var starpu_top_data_type::STARPU_TOP_DATA_FLOAT
  27. todo
  28. \enum starpu_top_param_type
  29. \ingroup API_StarPUTop_Interface
  30. StarPU-Top Parameter type
  31. \var starpu_top_param_type::STARPU_TOP_PARAM_BOOLEAN
  32. todo
  33. \var starpu_top_param_type::STARPU_TOP_PARAM_INTEGER
  34. todo
  35. \var starpu_top_param_type::STARPU_TOP_PARAM_FLOAT
  36. todo
  37. \var starpu_top_param_type::STARPU_TOP_PARAM_ENUM
  38. todo
  39. \enum starpu_top_message_type
  40. \ingroup API_StarPUTop_Interface
  41. StarPU-Top Message type
  42. \var starpu_top_message_type::TOP_TYPE_GO
  43. todo
  44. \var starpu_top_message_type::TOP_TYPE_SET
  45. todo
  46. \var starpu_top_message_type::TOP_TYPE_CONTINUE
  47. todo
  48. \var starpu_top_message_type::TOP_TYPE_ENABLE
  49. todo
  50. \var starpu_top_message_type::TOP_TYPE_DISABLE
  51. todo
  52. \var starpu_top_message_type::TOP_TYPE_DEBUG
  53. todo
  54. \var starpu_top_message_type::TOP_TYPE_UNKNOW
  55. todo
  56. \struct starpu_top_data
  57. todo
  58. \ingroup API_StarPUTop_Interface
  59. \var unsigned int starpu_top_data::id
  60. todo
  61. \var const char *starpu_top_data::name
  62. todo
  63. \var int starpu_top_data::int_min_value
  64. todo
  65. \var int starpu_top_data::int_max_value
  66. todo
  67. \var double starpu_top_data::double_min_value
  68. todo
  69. \var double starpu_top_data::double_max_value
  70. todo
  71. \var int starpu_top_data::active
  72. todo
  73. \var enum starpu_top_data_type starpu_top_data::type
  74. todo
  75. \var struct starpu_top_data *starpu_top_data::next
  76. todo
  77. \struct starpu_top_param
  78. todo
  79. \ingroup API_StarPUTop_Interface
  80. \var unsigned int starpu_top_param::id
  81. todo
  82. \var const char *starpu_top_param::name
  83. todo
  84. \var enum starpu_top_param_type starpu_top_param::type
  85. todo
  86. \var void *starpu_top_param::value
  87. todo
  88. \var char **starpu_top_param::enum_values
  89. only for enum type can be <c>NULL</c>
  90. \var int starpu_top_param::nb_values
  91. todo
  92. \var void (*starpu_top_param::callback)(struct starpu_top_param*)
  93. todo
  94. \var int starpu_top_param::int_min_value
  95. only for integer type
  96. \var int starpu_top_param::int_max_value
  97. todo
  98. \var double starpu_top_param::double_min_value
  99. only for double type
  100. \var double starpu_top_param::double_max_value
  101. todo
  102. \var struct starpu_top_param *starpu_top_param::next
  103. todo
  104. @name Functions to call before the initialisation
  105. \ingroup API_StarPUTop_Interface
  106. \fn struct starpu_top_data *starpu_top_add_data_boolean(const char *data_name, int active)
  107. \ingroup API_StarPUTop_Interface
  108. Register a data named \p data_name of type boolean.
  109. If \p active is 0, the value will NOT be displayed to users.
  110. Any other value will make the value displayed.
  111. \fn struct starpu_top_data *starpu_top_add_data_integer(const char *data_name, int minimum_value, int maximum_value, int active)
  112. \ingroup API_StarPUTop_Interface
  113. Register a data named \p data_name of type integer. \p minimum_value
  114. and \p maximum_value will be used to define the scale in the UI.
  115. If \p active is 0, the value will NOT be displayed to users.
  116. Any other value will make the value displayed.
  117. \fn struct starpu_top_data *starpu_top_add_data_float(const char *data_name, double minimum_value, double maximum_value, int active)
  118. \ingroup API_StarPUTop_Interface
  119. Register a data named \p data_name of type float. \p minimum_value and
  120. \p maximum_value will be used to define the scale in the UI.
  121. If \p active is 0, the value will NOT be displayed to users.
  122. Any other value will make the value displayed.
  123. \fn struct starpu_top_param *starpu_top_register_parameter_boolean(const char *param_name, int *parameter_field, void (*callback)(struct starpu_top_param*))
  124. \ingroup API_StarPUTop_Interface
  125. Register a parameter named \p parameter_name, of type
  126. boolean. If not \c NULL, the \p callback function will be called when
  127. the parameter is modified by the UI.
  128. \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*))
  129. \ingroup API_StarPUTop_Interface
  130. Register a parameter named \p param_name, of type
  131. integer. \p minimum_value and \p maximum_value will be used to prevent
  132. users from setting incorrect value. If not \c NULL, the \p callback
  133. function will be called when the parameter is modified by the UI.
  134. \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*))
  135. \ingroup API_StarPUTop_Interface
  136. Register a parameter named \p param_name, of type float.
  137. \p minimum_value and \p maximum_value will be used to prevent users
  138. from setting incorrect value. If not \c NULL, the \p callback function
  139. will be called when the parameter is modified by the UI.
  140. \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*))
  141. \ingroup API_StarPUTop_Interface
  142. Register a parameter named \p param_name, of type enum.
  143. \p values and \p nb_values will be used to prevent users from setting
  144. incorrect value. If not \c NULL, the \p callback function will be
  145. called when the parameter is modified by the UI.
  146. @name Initialisation
  147. \ingroup API_StarPUTop_Interface
  148. \fn void starpu_top_init_and_wait(const char *server_name)
  149. \ingroup API_StarPUTop_Interface
  150. Must be called when all parameters and data have been
  151. registered AND initialised (for parameters). It will wait
  152. for a TOP to connect, send initialisation sentences, and wait for the
  153. GO message.
  154. @name To call after initialisation
  155. \ingroup API_StarPUTop_Interface
  156. \fn void starpu_top_update_parameter(const struct starpu_top_param *param)
  157. \ingroup API_StarPUTop_Interface
  158. Should be called after every modification of a parameter
  159. from something other than starpu_top. It notices the UI that the
  160. configuration has changed.
  161. \fn void starpu_top_update_data_boolean(const struct starpu_top_data *data, int value)
  162. \ingroup API_StarPUTop_Interface
  163. Update the boolean value of \p data to \p value the UI.
  164. \fn void starpu_top_update_data_integer(const struct starpu_top_data *data, int value)
  165. \ingroup API_StarPUTop_Interface
  166. Update the integer value of \p data to \p value the UI.
  167. \fn void starpu_top_update_data_float(const struct starpu_top_data *data, double value)
  168. \ingroup API_StarPUTop_Interface
  169. Update the float value of \p data to \p value the UI.
  170. \fn void starpu_top_task_prevision(struct starpu_task *task, int devid, unsigned long long start, unsigned long long end)
  171. \ingroup API_StarPUTop_Interface
  172. Notift the UI that \p task is planned to run from \p start to \p end, on computation-core.
  173. \fn void starpu_top_debug_log(const char *message)
  174. \ingroup API_StarPUTop_Interface
  175. When running in debug mode, display \p message in the UI.
  176. \fn void starpu_top_debug_lock(const char *message)
  177. \ingroup API_StarPUTop_Interface
  178. When running in debug mode, send \p message to the UI and wait for a
  179. continue message to return. The lock (which creates a stop-point) should be
  180. called only by the main thread. Calling it from more than one thread
  181. is not supported.
  182. */