refman.tex 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. % StarPU --- Runtime system for heterogeneous multicore architectures.
  2. %
  3. % Copyright (C) 2013,2015-2016,2018 Inria
  4. % Copyright (C) 2013-2017 CNRS
  5. % Copyright (C) 2014,2018 Université de Bordeaux
  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. \input{./version.sty}
  19. \begin{titlepage}
  20. \vspace*{4cm}
  21. {\Huge \textbf{StarPU Handbook}}\\
  22. \rule{\textwidth}{1.5mm}
  23. \begin{flushright}
  24. {\Large for StarPU \STARPUVERSION}
  25. \end{flushright}
  26. \rule{\textwidth}{1mm}
  27. ~\\
  28. \vspace*{15cm}
  29. \begin{flushright}
  30. Generated by Doxygen.
  31. \end{flushright}
  32. \end{titlepage}
  33. \begin{figure}[p]
  34. This manual documents the usage of StarPU version \STARPUVERSION. Its contents
  35. was last updated on \STARPUUPDATED.\\
  36. Copyright © 2009–2018 Université de Bordeaux\\
  37. Copyright © 2010-2018 CNRS
  38. Copyright © 2011-2018 Inria
  39. \medskip
  40. \begin{quote}
  41. Permission is granted to copy, distribute and/or modify this document
  42. under the terms of the GNU Free Documentation License, Version 1.3 or
  43. any later version published by the Free Software Foundation; with no
  44. Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
  45. copy of the license is included in the section entitled “GNU Free
  46. Documentation License”.
  47. \end{quote}
  48. \end{figure}
  49. \pagenumbering{roman}
  50. \setcounter{tocdepth}{2}
  51. \tableofcontents
  52. \pagenumbering{arabic}
  53. \hypersetup{pageanchor=true,citecolor=blue}
  54. \chapter{Introduction}
  55. \label{index}
  56. \hypertarget{index}{}
  57. \input{index}
  58. \part{StarPU Basics}
  59. \chapter{Building and Installing StarPU}
  60. \label{BuildingAndInstallingStarPU}
  61. \hypertarget{BuildingAndInstallingStarPU}{}
  62. \input{BuildingAndInstallingStarPU}
  63. \chapter{Basic Examples}
  64. \label{BasicExamples}
  65. \hypertarget{BasicExamples}{}
  66. \input{BasicExamples}
  67. \part{StarPU Quick Programming Guide}
  68. \chapter{Advanced Examples}
  69. \label{AdvancedExamples}
  70. \hypertarget{AdvancedExamples}{}
  71. \input{AdvancedExamples}
  72. \chapter{Check List When Performance Are Not There}
  73. \label{CheckListWhenPerformanceAreNotThere}
  74. \hypertarget{CheckListWhenPerformanceAreNotThere}{}
  75. \input{CheckListWhenPerformanceAreNotThere}
  76. \part{StarPU Inside}
  77. \chapter{Tasks In StarPU}
  78. \label{TasksInStarPU}
  79. \hypertarget{TasksInStarPU}{}
  80. \input{TasksInStarPU}
  81. \chapter{Data Management}
  82. \label{DataManagement}
  83. \hypertarget{DataManagement}{}
  84. \input{DataManagement}
  85. \chapter{Scheduling}
  86. \label{Scheduling}
  87. \hypertarget{Scheduling}{}
  88. \input{Scheduling}
  89. \chapter{Scheduling Contexts}
  90. \label{SchedulingContexts}
  91. \hypertarget{SchedulingContexts}{}
  92. \input{SchedulingContexts}
  93. \chapter{Scheduling Context Hypervisor}
  94. \label{SchedulingContextHypervisor}
  95. \hypertarget{SchedulingContextHypervisor}{}
  96. \input{SchedulingContextHypervisor}
  97. \chapter{Modularized Scheduler}
  98. \label{ModularizedScheduler}
  99. \hypertarget{ModularizedScheduler}{}
  100. \input{ModularizedScheduler}
  101. \chapter{Debugging Tools}
  102. \label{DebuggingTools}
  103. \hypertarget{DebuggingTools}{}
  104. \input{DebuggingTools}
  105. \chapter{Online Performance Tools}
  106. \label{OnlinePerformanceTools}
  107. \hypertarget{OnlinePerformanceTools}{}
  108. \input{OnlinePerformanceTools}
  109. \chapter{Offline Performance Tools}
  110. \label{OfflinePerformanceTools}
  111. \hypertarget{OfflinePerformanceTools}{}
  112. \input{OfflinePerformanceTools}
  113. \chapter{Frequently Asked Questions}
  114. \label{FrequentlyAskedQuestions}
  115. \hypertarget{FrequentlyAskedQuestions}{}
  116. \input{FrequentlyAskedQuestions}
  117. \part{StarPU Extensions}
  118. \chapter{Out Of Core}
  119. \label{OutOfCore}
  120. \hypertarget{OutOfCore}{}
  121. \input{OutOfCore}
  122. \chapter{MPI Support}
  123. \label{MPISupport}
  124. \hypertarget{MPISupport}{}
  125. \input{MPISupport}
  126. \chapter{FFT Support}
  127. \label{FFTSupport}
  128. \hypertarget{FFTSupport}{}
  129. \input{FFTSupport}
  130. \chapter{MIC/SCC Support}
  131. \label{MICSCCSupport}
  132. \hypertarget{MICSCCSupport}{}
  133. \input{MICSCCSupport}
  134. \chapter{C Extensions}
  135. \label{cExtensions}
  136. \hypertarget{cExtensions}{}
  137. \input{cExtensions}
  138. \chapter{Native Fortran Support}
  139. \label{NativeFortranSupport}
  140. \hypertarget{NativeFortranSupport}{}
  141. \input{NativeFortranSupport}
  142. \chapter{SOCL OpenCL Extensions}
  143. \label{SOCLOpenclExtensions}
  144. \hypertarget{SOCLOpenclExtensions}{}
  145. \input{SOCLOpenclExtensions}
  146. \chapter{SimGrid Support}
  147. \label{SimGridSupport}
  148. \hypertarget{SimGridSupport}{}
  149. \input{SimGridSupport}
  150. \chapter{OpenMP Runtime Support}
  151. \label{OpenMPRuntimeSupport}
  152. \hypertarget{OpenMPRuntimeSupport}{}
  153. \input{OpenMPRuntimeSupport}
  154. \chapter{Clustering a Machine}
  155. \label{ClusteringAMachine}
  156. \hypertarget{ClusteringAMachine}{}
  157. \input{ClusteringAMachine}
  158. \part{StarPU Reference API}
  159. \chapter{Execution Configuration Through Environment Variables}
  160. \label{ExecutionConfigurationThroughEnvironmentVariables}
  161. \hypertarget{ExecutionConfigurationThroughEnvironmentVariables}{}
  162. \input{ExecutionConfigurationThroughEnvironmentVariables}
  163. \chapter{Compilation Configuration}
  164. \label{CompilationConfiguration}
  165. \hypertarget{CompilationConfiguration}{}
  166. \input{CompilationConfiguration}
  167. \chapter{Module Index}
  168. \input{modules}
  169. \chapter{Module Documentation a.k.a StarPU's API}
  170. \label{ModuleDocumentation}
  171. \hypertarget{ModuleDocumentation}{}
  172. \input{group__API__Versioning}
  173. \input{group__API__Initialization__and__Termination}
  174. \input{group__API__Standard__Memory__Library}
  175. \input{group__API__Toolbox}
  176. \input{group__API__Threads}
  177. \input{group__API__Bitmap}
  178. \input{group__API__Workers__Properties}
  179. \input{group__API__Data__Management}
  180. \input{group__API__Data__Interfaces}
  181. \input{group__API__Data__Partition}
  182. \input{group__API__Out__Of__Core}
  183. \input{group__API__Multiformat__Data__Interface}
  184. \input{group__API__Codelet__And__Tasks}
  185. \input{group__API__Insert__Task}
  186. \input{group__API__Explicit__Dependencies}
  187. \input{group__API__Implicit__Data__Dependencies}
  188. \input{group__API__Performance__Model}
  189. \input{group__API__Profiling}
  190. \input{group__API__Theoretical__Lower__Bound__on__Execution__Time}
  191. \input{group__API__CUDA__Extensions}
  192. \input{group__API__OpenCL__Extensions}
  193. \input{group__API__OpenMP__Runtime__Support}
  194. \input{group__API__MIC__Extensions}
  195. \input{group__API__SCC__Extensions}
  196. \input{group__API__Miscellaneous__Helpers}
  197. \input{group__API__FxT__Support}
  198. \input{group__API__FFT__Support}
  199. \input{group__API__MPI__Support}
  200. \input{group__API__Task__Bundles}
  201. \input{group__API__Task__Lists}
  202. \input{group__API__Parallel__Tasks}
  203. \input{group__API__Running__Drivers}
  204. \input{group__API__Expert__Mode}
  205. \input{group__API__StarPUTop__Interface}
  206. \input{group__API__Scheduling__Contexts}
  207. \input{group__API__Scheduling__Policy}
  208. \input{group__API__Tree}
  209. \input{group__API__SC__Hypervisor__usage}
  210. \input{group__API__SC__Hypervisor}
  211. \input{group__API__Modularized__Scheduler}
  212. \input{group__API__Clustering__Machine}
  213. \chapter{File Index}
  214. \input{files}
  215. \chapter{File Documentation}
  216. \label{FileDocumentation}
  217. \hypertarget{FileDocumentation}{}
  218. \input{starpu_8h}
  219. \input{starpu__bitmap_8h}
  220. \input{starpu__bound_8h}
  221. \input{starpu__clusters__util_8h}
  222. \input{starpu__config_8h}
  223. \input{starpu__cublas_8h}
  224. \input{starpu__cuda_8h}
  225. \input{starpu__data_8h}
  226. \input{starpu__data__filters_8h}
  227. \input{starpu__data__interfaces_8h}
  228. \input{starpu__deprecated__api_8h}
  229. \input{starpu__disk_8h}
  230. \input{starpu__driver_8h}
  231. \input{starpu__expert_8h}
  232. \input{starpu__fxt_8h}
  233. \input{starpu__hash_8h}
  234. \input{starpu__mic_8h}
  235. \input{starpu__opencl_8h}
  236. \input{starpu__openmp_8h}
  237. \input{starpu__perfmodel_8h}
  238. \input{starpu__profiling_8h}
  239. \input{starpu__rand_8h}
  240. \input{starpu__scc_8h}
  241. \input{starpu__sched__ctx_8h}
  242. \input{starpu__sched__ctx__hypervisor_8h}
  243. \input{starpu__scheduler_8h}
  244. \input{starpu__sink_8h}
  245. \input{starpu__stdlib_8h}
  246. \input{starpu__task_8h}
  247. \input{starpu__task__bundle_8h}
  248. \input{starpu__task__list_8h}
  249. \input{starpu__task__util_8h}
  250. \input{starpu__thread_8h}
  251. \input{starpu__thread__util_8h}
  252. \input{starpu__top_8h}
  253. \input{starpu__tree_8h}
  254. \input{starpu__util_8h}
  255. \input{starpu__worker_8h}
  256. \input{starpu__mpi_8h}
  257. \input{starpufft_8h}
  258. \input{sc__hypervisor_8h}
  259. \input{sc__hypervisor__config_8h}
  260. \input{sc__hypervisor__lp_8h}
  261. \input{sc__hypervisor__monitoring_8h}
  262. \input{sc__hypervisor__policy_8h}
  263. \chapter{Deprecated List}
  264. \label{deprecated}
  265. \hypertarget{deprecated}{}
  266. \input{deprecated}
  267. \part{Appendix}
  268. \chapter{Full Source Code for the ’Scaling a Vector’ Example}
  269. \label{FullSourceCodeVectorScal}
  270. \hypertarget{FullSourceCodeVectorScal}{}
  271. \input{FullSourceCodeVectorScal}
  272. \chapter{GNU Free Documentation License}
  273. \label{GNUFreeDocumentationLicense}
  274. \hypertarget{GNUFreeDocumentationLicense}{}
  275. \input{GNUFreeDocumentationLicense}
  276. \part{Index}
  277. \addcontentsline{toc}{chapter}{Index}
  278. \printindex
  279. \end{document}