fxt_support.doxy 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2010-2015,2017 CNRS
  4. * Copyright (C) 2009-2011,2014,2016 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_FxT_Support FxT Support
  19. \struct starpu_fxt_codelet_event
  20. todo
  21. \ingroup API_FxT_Support
  22. \var char starpu_fxt_codelet_event::symbol[256]
  23. name of the codelet
  24. \var int starpu_fxt_codelet_event::workerid
  25. todo
  26. \var char starpu_fxt_codelet_event::perfmodel_archname[256]
  27. todo
  28. \var uint32_t starpu_fxt_codelet_event::hash
  29. todo
  30. \var size_t starpu_fxt_codelet_event::size
  31. todo
  32. \var float starpu_fxt_codelet_event::time
  33. todo
  34. \struct starpu_fxt_options
  35. todo
  36. \ingroup API_FxT_Support
  37. \var unsigned starpu_fxt_options::per_task_colour
  38. todo
  39. \var unsigned starpu_fxt_options::no_counter
  40. todo
  41. \var starpu_unsigned fxt_options::no_bus
  42. todo
  43. \var unsigned starpu_fxt_options::ninputfiles
  44. todo
  45. \var char *starpu_fxt_options::filenames[STARPU_FXT_MAX_FILES]
  46. todo
  47. \var char *starpu_fxt_options::out_paje_path
  48. todo
  49. \var char *starpu_fxt_options::distrib_time_path
  50. todo
  51. \var char *starpu_fxt_options::activity_path
  52. todo
  53. \var char *starpu_fxt_options::dag_path
  54. todo
  55. \var char *starpu_fxt_options::file_prefix
  56. In case we are going to gather multiple traces (e.g in the case of
  57. MPI processes), we may need to prefix the name of the containers.
  58. \var uint64_t starpu_fxt_options::file_offset
  59. In case we are going to gather multiple traces (e.g in the case of
  60. MPI processes), we may need to prefix the name of the containers.
  61. \var int starpu_fxt_options::file_rank
  62. In case we are going to gather multiple traces (e.g in the case of
  63. MPI processes), we may need to prefix the name of the containers.
  64. \var char starpu_fxt_options::worker_names[STARPU_NMAXWORKERS][256]
  65. Output parameters
  66. \var struct starpu_perfmodel_arch starpu_fxt_options::worker_archtypes[STARPU_NMAXWORKERS]
  67. Output parameters
  68. \var int starpu_fxt_options::nworkers
  69. Output parameters
  70. \var struct starpu_fxt_codelet_event **starpu_fxt_options::dumped_codelets
  71. In case we want to dump the list of codelets to an external tool
  72. \var long starpu_fxt_options::dumped_codelets_count
  73. In case we want to dump the list of codelets to an external tool
  74. \fn void starpu_fxt_options_init(struct starpu_fxt_options *options)
  75. \ingroup API_FxT_Support
  76. todo
  77. \fn void starpu_fxt_generate_trace(struct starpu_fxt_options *options)
  78. \ingroup API_FxT_Support
  79. todo
  80. \fn void starpu_fxt_start_profiling(void)
  81. \ingroup API_FxT_Support
  82. Start recording the trace. The trace is by default started from
  83. starpu_init() call, but can be paused by using
  84. starpu_fxt_stop_profiling(), in which case
  85. starpu_fxt_start_profiling() should be called to resume recording
  86. events.
  87. \fn void starpu_fxt_stop_profiling(void)
  88. \ingroup API_FxT_Support
  89. Stop recording the trace. The trace is by default stopped when calling
  90. starpu_shutdown(). starpu_fxt_stop_profiling() can however be used to
  91. stop it earlier. starpu_fxt_start_profiling() can then be called to
  92. start recording it again, etc.
  93. \fn void starpu_fxt_autostart_profiling(int autostart)
  94. \ingroup API_FxT_Support
  95. Determine whether profiling should be started by starpu_init(), or only when
  96. starpu_fxt_start_profiling() is called. \p autostart should be 1 to do so, or 0 to
  97. prevent it.
  98. \fn void starpu_fxt_write_data_trace(char *filename_in)
  99. \ingroup API_FxT_Support
  100. todo
  101. \fn void starpu_fxt_trace_user_event(unsigned long code)
  102. \ingroup API_FxT_Support
  103. Add an event in the execution trace if FxT is enabled.
  104. \fn void starpu_fxt_trace_user_event_string(const char *s)
  105. \ingroup API_FxT_Support
  106. Add a string event in the execution trace if FxT is enabled.
  107. */