refman.tex 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. % StarPU --- Runtime system for heterogeneous multicore architectures.
  2. %
  3. % Copyright (C) 2013-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
  4. % Copyright (C) 2013 Simon Archipoff
  5. %
  6. % StarPU is free software; you can redistribute it and/or modify
  7. % it under the terms of the GNU Lesser General Public License as published by
  8. % the Free Software Foundation; either version 2.1 of the License, or (at
  9. % your option) any later version.
  10. %
  11. % StarPU is distributed in the hope that it will be useful, but
  12. % WITHOUT ANY WARRANTY; without even the implied warranty of
  13. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. %
  15. % See the GNU Lesser General Public License in COPYING.LGPL for more details.
  16. %
  17. \input{./version.sty}
  18. \setlength{\parskip}{0pt}
  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–2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
  37. \medskip
  38. \begin{quote}
  39. Permission is granted to copy, distribute and/or modify this document
  40. under the terms of the GNU Free Documentation License, Version 1.3 or
  41. any later version published by the Free Software Foundation; with no
  42. Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
  43. copy of the license is included in the section entitled “GNU Free
  44. Documentation License”.
  45. \end{quote}
  46. \end{figure}
  47. \pagenumbering{roman}
  48. \setcounter{tocdepth}{2}
  49. \tableofcontents
  50. \pagenumbering{arabic}
  51. \hypersetup{pageanchor=true,citecolor=blue}
  52. \chapter{Introduction}
  53. \label{index}
  54. \hypertarget{index}{}
  55. \input{index}
  56. \part{StarPU Basics}
  57. \chapter{Building and Installing StarPU}
  58. \label{BuildingAndInstallingStarPU}
  59. \hypertarget{BuildingAndInstallingStarPU}{}
  60. \input{BuildingAndInstallingStarPU}
  61. \chapter{Basic Examples}
  62. \label{BasicExamples}
  63. \hypertarget{BasicExamples}{}
  64. \input{BasicExamples}
  65. \part{StarPU Quick Programming Guide}
  66. \chapter{Advanced Examples}
  67. \label{AdvancedExamples}
  68. \hypertarget{AdvancedExamples}{}
  69. \input{AdvancedExamples}
  70. \chapter{Check List When Performance Are Not There}
  71. \label{CheckListWhenPerformanceAreNotThere}
  72. \hypertarget{CheckListWhenPerformanceAreNotThere}{}
  73. \input{CheckListWhenPerformanceAreNotThere}
  74. \part{StarPU Inside}
  75. \chapter{Tasks In StarPU}
  76. \label{TasksInStarPU}
  77. \hypertarget{TasksInStarPU}{}
  78. \input{TasksInStarPU}
  79. \chapter{Data Management}
  80. \label{DataManagement}
  81. \hypertarget{DataManagement}{}
  82. \input{DataManagement}
  83. \chapter{Scheduling}
  84. \label{Scheduling}
  85. \hypertarget{Scheduling}{}
  86. \input{Scheduling}
  87. \chapter{Scheduling Contexts}
  88. \label{SchedulingContexts}
  89. \hypertarget{SchedulingContexts}{}
  90. \input{SchedulingContexts}
  91. \chapter{Scheduling Context Hypervisor}
  92. \label{SchedulingContextHypervisor}
  93. \hypertarget{SchedulingContextHypervisor}{}
  94. \input{SchedulingContextHypervisor}
  95. \chapter{How To Define a New Scheduling Policy}
  96. \label{HowToDefineANewSchedulingPolicy}
  97. \hypertarget{HowToDefineANewSchedulingPolicy}{}
  98. \input{HowToDefineANewSchedulingPolicy}
  99. \chapter{Debugging Tools}
  100. \label{DebuggingTools}
  101. \hypertarget{DebuggingTools}{}
  102. \input{DebuggingTools}
  103. \chapter{Online Performance Tools}
  104. \label{OnlinePerformanceTools}
  105. \hypertarget{OnlinePerformanceTools}{}
  106. \input{OnlinePerformanceTools}
  107. \chapter{Offline Performance Tools}
  108. \label{OfflinePerformanceTools}
  109. \hypertarget{OfflinePerformanceTools}{}
  110. \input{OfflinePerformanceTools}
  111. \chapter{Frequently Asked Questions}
  112. \label{FrequentlyAskedQuestions}
  113. \hypertarget{FrequentlyAskedQuestions}{}
  114. \input{FrequentlyAskedQuestions}
  115. \part{StarPU Extensions}
  116. \chapter{Python Interface}
  117. \label{PythonInterface}
  118. \hypertarget{PythonInterface}{}
  119. \input{PythonInterface}
  120. \chapter{Out Of Core}
  121. \label{OutOfCore}
  122. \hypertarget{OutOfCore}{}
  123. \input{OutOfCore}
  124. \chapter{MPI Support}
  125. \label{MPISupport}
  126. \hypertarget{MPISupport}{}
  127. \input{MPISupport}
  128. \chapter{Fault Tolerance}
  129. \label{FaultTolerance}
  130. \hypertarget{FaultTolerance}{}
  131. \input{FaultTolerance}
  132. \chapter{FFT Support}
  133. \label{FFTSupport}
  134. \hypertarget{FFTSupport}{}
  135. \input{FFTSupport}
  136. \chapter{Native Fortran Support}
  137. \label{NativeFortranSupport}
  138. \hypertarget{NativeFortranSupport}{}
  139. \input{NativeFortranSupport}
  140. \chapter{SOCL OpenCL Extensions}
  141. \label{SOCLOpenclExtensions}
  142. \hypertarget{SOCLOpenclExtensions}{}
  143. \input{SOCLOpenclExtensions}
  144. \chapter{SimGrid Support}
  145. \label{SimGridSupport}
  146. \hypertarget{SimGridSupport}{}
  147. \input{SimGridSupport}
  148. \chapter{The StarPU OpenMP Runtime Support (SORS)}
  149. \label{OpenMPRuntimeSupport}
  150. \hypertarget{OpenMPRuntimeSupport}{}
  151. \input{OpenMPRuntimeSupport}
  152. \chapter{Clustering a Machine}
  153. \label{ClusteringAMachine}
  154. \hypertarget{ClusteringAMachine}{}
  155. \input{ClusteringAMachine}
  156. \chapter{Interoperability Support}
  157. \label{InteropSupport}
  158. \hypertarget{InteropSupport}{}
  159. \input{InteroperabilitySupport}
  160. \chapter{Eclipse Plugin}
  161. \label{EclipsePlugin}
  162. \hypertarget{EclipsePlugin}{}
  163. \input{EclipsePlugin}
  164. \part{StarPU Reference API}
  165. \chapter{Execution Configuration Through Environment Variables}
  166. \label{ExecutionConfigurationThroughEnvironmentVariables}
  167. \hypertarget{ExecutionConfigurationThroughEnvironmentVariables}{}
  168. \input{ExecutionConfigurationThroughEnvironmentVariables}
  169. \chapter{Compilation Configuration}
  170. \label{CompilationConfiguration}
  171. \hypertarget{CompilationConfiguration}{}
  172. \input{CompilationConfiguration}
  173. \chapter{Module Index}
  174. \input{modules}
  175. \chapter{Deprecated List}
  176. \input{deprecated}
  177. \chapter{Module Documentation a.k.a StarPU's API}
  178. \label{ModuleDocumentation}
  179. \hypertarget{ModuleDocumentation}{}
  180. \input{group__API__Versioning}
  181. \input{group__API__Initialization__and__Termination}
  182. \input{group__API__Standard__Memory__Library}
  183. \input{group__API__Toolbox}
  184. \input{group__API__Threads}
  185. \input{group__API__Bitmap}
  186. \input{group__API__Workers__Properties}
  187. \input{group__API__Data__Management}
  188. \input{group__API__Data__Interfaces}
  189. \input{group__API__Data__Partition}
  190. \input{group__API__Out__Of__Core}
  191. \input{group__API__Codelet__And__Tasks}
  192. \input{group__API__Insert__Task}
  193. \input{group__API__Explicit__Dependencies}
  194. \input{group__API__Perf__Monitoring}
  195. \input{group__API__Perf__Steering}
  196. \input{group__API__Performance__Model}
  197. \input{group__API__Profiling}
  198. \input{group__API__Theoretical__Lower__Bound__on__Execution__Time}
  199. \input{group__API__CUDA__Extensions}
  200. \input{group__API__OpenCL__Extensions}
  201. \input{group__API__OpenMP__Runtime__Support}
  202. \input{group__API__Miscellaneous__Helpers}
  203. \input{group__API__FxT__Support}
  204. \input{group__API__FFT__Support}
  205. \input{group__API__MPI__Support}
  206. \input{group__API__Task__Bundles}
  207. \input{group__API__Task__Lists}
  208. \input{group__API__Parallel__Tasks}
  209. \input{group__API__Running__Drivers}
  210. \input{group__API__Expert__Mode}
  211. \input{group__API__Scheduling__Contexts}
  212. \input{group__API__Scheduling__Policy}
  213. \input{group__API__Tree}
  214. \input{group__API__SC__Hypervisor}
  215. \input{group__API__SC__Hypervisor__usage}
  216. \input{group__API__SC__Hypervisor__LP}
  217. \input{group__API__Modularized__Scheduler}
  218. \input{group__API__Clustering__Machine}
  219. \input{group__API__Interop__Support}
  220. \input{group__API__Master__Slave}
  221. \input{group__API__Random__Functions}
  222. \input{group__API__Sink}
  223. \input{group__API__HeteroPrio}
  224. \chapter{File Index}
  225. \input{files}
  226. \chapter{File Documentation}
  227. \label{FileDocumentation}
  228. \hypertarget{FileDocumentation}{}
  229. \input{starpu_8h}
  230. \input{starpu__bitmap_8h}
  231. \input{starpu__bound_8h}
  232. \input{starpu__clusters_8h}
  233. \input{starpu__config_8h}
  234. \input{starpu__cublas_8h}
  235. \input{starpu__cublas__v2_8h}
  236. \input{starpu__cusparse_8h}
  237. \input{starpu__cuda_8h}
  238. \input{starpu__data_8h}
  239. \input{starpu__data__filters_8h}
  240. \input{starpu__data__interfaces_8h}
  241. \input{starpu__deprecated__api_8h}
  242. \input{starpu__disk_8h}
  243. \input{starpu__driver_8h}
  244. \input{starpu__expert_8h}
  245. \input{starpu__fxt_8h}
  246. \input{starpu__hash_8h}
  247. \input{starpu__helper_8h}
  248. \input{starpu__heteroprio_8h}
  249. \input{starpu__mod_8f90}
  250. \input{starpu__mpi_8h}
  251. \input{starpu__mpi__lb_8h}
  252. \input{starpu__mpi__ms_8h}
  253. \input{starpu__opencl_8h}
  254. \input{starpu__openmp_8h}
  255. \input{starpu__perf__monitoring_8h}
  256. \input{starpu__perf__steering_8h}
  257. \input{starpu__perfmodel_8h}
  258. \input{starpu__profiling_8h}
  259. \input{starpu__rand_8h}
  260. \input{starpu__sched__component_8h}
  261. \input{starpu__sched__ctx_8h}
  262. \input{starpu__sched__ctx__hypervisor_8h}
  263. \input{starpu__scheduler_8h}
  264. \input{starpu__simgrid__wrap_8h}
  265. \input{starpu__sink_8h}
  266. \input{starpu__stdlib_8h}
  267. \input{starpu__task_8h}
  268. \input{starpu__task__bundle_8h}
  269. \input{starpu__task__dep_8h}
  270. \input{starpu__task__list_8h}
  271. \input{starpu__task__util_8h}
  272. \input{starpu__thread_8h}
  273. \input{starpu__thread__util_8h}
  274. \input{starpu__tree_8h}
  275. \input{starpu__util_8h}
  276. \input{starpu__worker_8h}
  277. \input{starpufft_8h}
  278. \input{sc__hypervisor_8h}
  279. \input{sc__hypervisor__config_8h}
  280. \input{sc__hypervisor__lp_8h}
  281. \input{sc__hypervisor__monitoring_8h}
  282. \input{sc__hypervisor__policy_8h}
  283. \input{starpurm_8h}
  284. \chapter{Deprecated List}
  285. \label{deprecated}
  286. \hypertarget{deprecated}{}
  287. \input{deprecated}
  288. \part{Appendix}
  289. \chapter{Full Source Code for the ’Scaling a Vector’ Example}
  290. \label{FullSourceCodeVectorScal}
  291. \hypertarget{FullSourceCodeVectorScal}{}
  292. \input{FullSourceCodeVectorScal}
  293. \chapter{The GNU Free Documentation License}
  294. \label{GNUFreeDocumentationLicense}
  295. \hypertarget{GNUFreeDocumentationLicense}{}
  296. \input{GNUFreeDocumentationLicense}
  297. %\part{Index}
  298. \addcontentsline{toc}{chapter}{Index}
  299. \printindex
  300. \end{document}