% StarPU --- Runtime system for heterogeneous multicore architectures. % % Copyright (C) 2013-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria % Copyright (C) 2013 Simon Archipoff % % StarPU is free software; you can redistribute it and/or modify % it under the terms of the GNU Lesser General Public License as published by % the Free Software Foundation; either version 2.1 of the License, or (at % your option) any later version. % % StarPU is distributed in the hope that it will be useful, but % WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % % See the GNU Lesser General Public License in COPYING.LGPL for more details. % \input{./version.sty} \setlength{\parskip}{0pt} \begin{titlepage} \vspace*{4cm} {\Huge \textbf{StarPU Handbook}}\\ \rule{\textwidth}{1.5mm} \begin{flushright} {\Large for StarPU \STARPUVERSION} \end{flushright} \rule{\textwidth}{1mm} ~\\ \vspace*{15cm} \begin{flushright} Generated by Doxygen. \end{flushright} \end{titlepage} \begin{figure}[p] This manual documents the usage of StarPU version \STARPUVERSION. Its contents was last updated on \STARPUUPDATED.\\ Copyright © 2009–2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria \medskip \begin{quote} Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”. \end{quote} \end{figure} \pagenumbering{roman} \setcounter{tocdepth}{2} \tableofcontents \pagenumbering{arabic} \hypersetup{pageanchor=true,citecolor=blue} \chapter{Introduction} \label{index} \hypertarget{index}{} \input{index} \part{StarPU Basics} \chapter{Building and Installing StarPU} \label{BuildingAndInstallingStarPU} \hypertarget{BuildingAndInstallingStarPU}{} \input{BuildingAndInstallingStarPU} \chapter{Basic Examples} \label{BasicExamples} \hypertarget{BasicExamples}{} \input{BasicExamples} \part{StarPU Quick Programming Guide} \chapter{Advanced Examples} \label{AdvancedExamples} \hypertarget{AdvancedExamples}{} \input{AdvancedExamples} \chapter{Check List When Performance Are Not There} \label{CheckListWhenPerformanceAreNotThere} \hypertarget{CheckListWhenPerformanceAreNotThere}{} \input{CheckListWhenPerformanceAreNotThere} \part{StarPU Inside} \chapter{Tasks In StarPU} \label{TasksInStarPU} \hypertarget{TasksInStarPU}{} \input{TasksInStarPU} \chapter{Data Management} \label{DataManagement} \hypertarget{DataManagement}{} \input{DataManagement} \chapter{Scheduling} \label{Scheduling} \hypertarget{Scheduling}{} \input{Scheduling} \chapter{Scheduling Contexts} \label{SchedulingContexts} \hypertarget{SchedulingContexts}{} \input{SchedulingContexts} \chapter{Scheduling Context Hypervisor} \label{SchedulingContextHypervisor} \hypertarget{SchedulingContextHypervisor}{} \input{SchedulingContextHypervisor} \chapter{How To Define a New Scheduling Policy} \label{HowToDefineANewSchedulingPolicy} \hypertarget{HowToDefineANewSchedulingPolicy}{} \input{HowToDefineANewSchedulingPolicy} \chapter{Debugging Tools} \label{DebuggingTools} \hypertarget{DebuggingTools}{} \input{DebuggingTools} \chapter{Online Performance Tools} \label{OnlinePerformanceTools} \hypertarget{OnlinePerformanceTools}{} \input{OnlinePerformanceTools} \chapter{Offline Performance Tools} \label{OfflinePerformanceTools} \hypertarget{OfflinePerformanceTools}{} \input{OfflinePerformanceTools} \chapter{Frequently Asked Questions} \label{FrequentlyAskedQuestions} \hypertarget{FrequentlyAskedQuestions}{} \input{FrequentlyAskedQuestions} \part{StarPU Extensions} \chapter{Python Interface} \label{PythonInterface} \hypertarget{PythonInterface}{} \input{PythonInterface} \chapter{Out Of Core} \label{OutOfCore} \hypertarget{OutOfCore}{} \input{OutOfCore} \chapter{MPI Support} \label{MPISupport} \hypertarget{MPISupport}{} \input{MPISupport} \chapter{Fault Tolerance} \label{FaultTolerance} \hypertarget{FaultTolerance}{} \input{FaultTolerance} \chapter{FFT Support} \label{FFTSupport} \hypertarget{FFTSupport}{} \input{FFTSupport} \chapter{Native Fortran Support} \label{NativeFortranSupport} \hypertarget{NativeFortranSupport}{} \input{NativeFortranSupport} \chapter{SOCL OpenCL Extensions} \label{SOCLOpenclExtensions} \hypertarget{SOCLOpenclExtensions}{} \input{SOCLOpenclExtensions} \chapter{SimGrid Support} \label{SimGridSupport} \hypertarget{SimGridSupport}{} \input{SimGridSupport} \chapter{The StarPU OpenMP Runtime Support (SORS)} \label{OpenMPRuntimeSupport} \hypertarget{OpenMPRuntimeSupport}{} \input{OpenMPRuntimeSupport} \chapter{Clustering a Machine} \label{ClusteringAMachine} \hypertarget{ClusteringAMachine}{} \input{ClusteringAMachine} \chapter{Interoperability Support} \label{InteropSupport} \hypertarget{InteropSupport}{} \input{InteroperabilitySupport} \chapter{Eclipse Plugin} \label{EclipsePlugin} \hypertarget{EclipsePlugin}{} \input{EclipsePlugin} \part{StarPU Reference API} \chapter{Execution Configuration Through Environment Variables} \label{ExecutionConfigurationThroughEnvironmentVariables} \hypertarget{ExecutionConfigurationThroughEnvironmentVariables}{} \input{ExecutionConfigurationThroughEnvironmentVariables} \chapter{Compilation Configuration} \label{CompilationConfiguration} \hypertarget{CompilationConfiguration}{} \input{CompilationConfiguration} \chapter{Module Index} \input{modules} \chapter{Deprecated List} \input{deprecated} \chapter{Module Documentation a.k.a StarPU's API} \label{ModuleDocumentation} \hypertarget{ModuleDocumentation}{} \input{group__API__Versioning} \input{group__API__Initialization__and__Termination} \input{group__API__Standard__Memory__Library} \input{group__API__Toolbox} \input{group__API__Threads} \input{group__API__Bitmap} \input{group__API__Workers__Properties} \input{group__API__Data__Management} \input{group__API__Data__Interfaces} \input{group__API__Data__Partition} \input{group__API__Out__Of__Core} \input{group__API__Codelet__And__Tasks} \input{group__API__Insert__Task} \input{group__API__Explicit__Dependencies} \input{group__API__Perf__Monitoring} \input{group__API__Perf__Steering} \input{group__API__Performance__Model} \input{group__API__Profiling} \input{group__API__Theoretical__Lower__Bound__on__Execution__Time} \input{group__API__CUDA__Extensions} \input{group__API__OpenCL__Extensions} \input{group__API__OpenMP__Runtime__Support} \input{group__API__Miscellaneous__Helpers} \input{group__API__FxT__Support} \input{group__API__FFT__Support} \input{group__API__MPI__Support} \input{group__API__Task__Bundles} \input{group__API__Task__Lists} \input{group__API__Parallel__Tasks} \input{group__API__Running__Drivers} \input{group__API__Expert__Mode} \input{group__API__Scheduling__Contexts} \input{group__API__Scheduling__Policy} \input{group__API__Tree} \input{group__API__SC__Hypervisor} \input{group__API__SC__Hypervisor__usage} \input{group__API__SC__Hypervisor__LP} \input{group__API__Modularized__Scheduler} \input{group__API__Clustering__Machine} \input{group__API__Interop__Support} \input{group__API__Master__Slave} \input{group__API__Random__Functions} \input{group__API__Sink} \input{group__API__HeteroPrio} \chapter{File Index} \input{files} \chapter{File Documentation} \label{FileDocumentation} \hypertarget{FileDocumentation}{} \input{starpu_8h} \input{starpu__bitmap_8h} \input{starpu__bound_8h} \input{starpu__clusters_8h} \input{starpu__config_8h} \input{starpu__cublas_8h} \input{starpu__cublas__v2_8h} \input{starpu__cusparse_8h} \input{starpu__cuda_8h} \input{starpu__data_8h} \input{starpu__data__filters_8h} \input{starpu__data__interfaces_8h} \input{starpu__deprecated__api_8h} \input{starpu__disk_8h} \input{starpu__driver_8h} \input{starpu__expert_8h} \input{starpu__fxt_8h} \input{starpu__hash_8h} \input{starpu__helper_8h} \input{starpu__heteroprio_8h} \input{starpu__mod_8f90} \input{starpu__mpi_8h} \input{starpu__mpi__lb_8h} \input{starpu__mpi__ms_8h} \input{starpu__opencl_8h} \input{starpu__openmp_8h} \input{starpu__perf__monitoring_8h} \input{starpu__perf__steering_8h} \input{starpu__perfmodel_8h} \input{starpu__profiling_8h} \input{starpu__rand_8h} \input{starpu__sched__component_8h} \input{starpu__sched__ctx_8h} \input{starpu__sched__ctx__hypervisor_8h} \input{starpu__scheduler_8h} \input{starpu__simgrid__wrap_8h} \input{starpu__sink_8h} \input{starpu__stdlib_8h} \input{starpu__task_8h} \input{starpu__task__bundle_8h} \input{starpu__task__dep_8h} \input{starpu__task__list_8h} \input{starpu__task__util_8h} \input{starpu__thread_8h} \input{starpu__thread__util_8h} \input{starpu__tree_8h} \input{starpu__util_8h} \input{starpu__worker_8h} \input{starpufft_8h} \input{sc__hypervisor_8h} \input{sc__hypervisor__config_8h} \input{sc__hypervisor__lp_8h} \input{sc__hypervisor__monitoring_8h} \input{sc__hypervisor__policy_8h} \input{starpurm_8h} \chapter{Deprecated List} \label{deprecated} \hypertarget{deprecated}{} \input{deprecated} \part{Appendix} \chapter{Full Source Code for the ’Scaling a Vector’ Example} \label{FullSourceCodeVectorScal} \hypertarget{FullSourceCodeVectorScal}{} \input{FullSourceCodeVectorScal} \chapter{The GNU Free Documentation License} \label{GNUFreeDocumentationLicense} \hypertarget{GNUFreeDocumentationLicense}{} \input{GNUFreeDocumentationLicense} %\part{Index} \addcontentsline{toc}{chapter}{Index} \printindex \end{document}