% StarPU --- Runtime system for heterogeneous multicore architectures.
%
% Copyright (C) 2013-2024  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.
%
\newcommand\starputitle{StarPU Handbook}
\setcounter{tocdepth}{1}
\input{./title.tex}

\chapter{Introduction}
\label{index}
\hypertarget{index}{}
\input{index}

\chapter{Documentation Organization}
\label{DocumentationOrganization}
\hypertarget{DocumentationOrganization}{}
\input{DocOrganization}

\chapter{Glossary}
\label{Glossary}
\hypertarget{Glossary}{}
\input{Glossary}

\part{StarPU Installation}

\chapter{Organization}
\label{IntroInstallation}
\hypertarget{IntroInstallation}{}
\input{IntroInstallation}

\chapter{Building and Installing StarPU}
\label{BuildingAndInstallingStarPU}
\hypertarget{BuildingAndInstallingStarPU}{}
\input{BuildingAndInstallingStarPU}

\chapter{Compilation Configuration}
\label{CompilationConfiguration}
\hypertarget{CompilationConfiguration}{}
\input{CompilationConfiguration}

\chapter{Execution Configuration Through Environment Variables}
\label{ExecutionConfigurationThroughEnvironmentVariables}
\hypertarget{ExecutionConfigurationThroughEnvironmentVariables}{}
\input{ExecutionConfigurationThroughEnvironmentVariables}

\chapter{Configuration and initialization}
\label{ConfigurationAndInitialization}
\hypertarget{ConfigurationAndInitialization}{}
\input{ConfigurationAndInitialization}

\part{StarPU Basics}

\chapter{Organization}
\label{IntroBasics}
\hypertarget{IntroBasics}{}
\input{IntroBasics}

\chapter{StarPU Applications}
\label{StarPUApplications}
\hypertarget{StarPUApplications}{}
\input{StarPUApplications}

\chapter{Basic Examples}
\label{BasicExamples}
\hypertarget{BasicExamples}{}
\input{BasicExamples}

\chapter{Full Source Code for the ’Scaling a Vector’ Example}
\label{FullSourceCodeVectorScal}
\hypertarget{FullSourceCodeVectorScal}{}
\input{FullSourceCodeVectorScal}

\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{Examples in StarPU Sources}
\label{ExamplesInStarPUSources}
\hypertarget{ExamplesInStarPUSources}{}
\input{ExamplesInStarPUSources}

\part{StarPU Applications}
\label{StarPUApplications}

\chapter{Organization}
\label{IntroApplications}
\hypertarget{IntroApplications}{}
\input{IntroApplications}

\chapter{A Vector Scaling Application}
\label{VectorScalingApplication}
\hypertarget{VectorApplication}{}
\input{VectorApplication}

\chapter{A Stencil Application}
\label{StencilApplication}
\hypertarget{StencilApplication}{}
\input{StencilApplication}

\part{StarPU Performances}

\chapter{Organization}
\label{IntroPerformances}
\hypertarget{IntroPerformances}{}
\input{IntroPerformances}

\chapter{Benchmarking StarPU}
\label{BenchmarkingStarPU}
\hypertarget{BenchmarkingStarPU}{}
\input{BenchmarkingStarPU}

\chapter{Online Performance Tools}
\label{OnlinePerformanceTools}
\hypertarget{OnlinePerformanceTools}{}
\input{OnlinePerformanceTools}

\chapter{Offline Performance Tools}
\label{OfflinePerformanceTools}
\hypertarget{OfflinePerformanceTools}{}
\input{OfflinePerformanceTools}

\part{StarPU FAQ}

\chapter{Organization}
\label{IntroFAQ}
\hypertarget{IntroFAQ}{}
\input{IntroFAQ}

\chapter{Check List When Performance Are Not There}
\label{CheckListWhenPerformanceAreNotThere}
\hypertarget{CheckListWhenPerformanceAreNotThere}{}
\input{CheckListWhenPerformanceAreNotThere}

\chapter{Frequently Asked Questions}
\label{FrequentlyAskedQuestions}
\hypertarget{FrequentlyAskedQuestions}{}
\input{FrequentlyAskedQuestions}

\part{StarPU Language Bindings}

\chapter{Organization}
\label{IntroLanguage}
\hypertarget{IntroLanguage}{}
\input{IntroLanguage}

\chapter{Native Fortran Support}
\label{NativeFortranSupport}
\hypertarget{NativeFortranSupport}{}
\input{NativeFortranSupport}

\chapter{StarPU Java Interface}
\label{StarPUJavaInterface}
\hypertarget{StarPUJavaInterface}{}
\input{StarPUJavaInterface}

\chapter{Python Interface}
\label{PythonInterface}
\hypertarget{PythonInterface}{}
\input{PythonInterface}

\chapter{The StarPU OpenMP Runtime Support (SORS)}
\label{OpenMPRuntimeSupport}
\hypertarget{OpenMPRuntimeSupport}{}
\input{OpenMPRuntimeSupport}

\part{StarPU Extensions}

\chapter{Organization}
\label{IntroExtensions}
\hypertarget{IntroExtensions}{}
\input{IntroExtensions}

\chapter{Advanced Tasks In StarPU}
\label{AdvancedTasksInStarPU}
\hypertarget{AdvancedTasksInStarPU}{}
\input{AdvancedTasksInStarPU}

\chapter{Advanced Data Management}
\label{AdvancedDataManagement}
\hypertarget{AdvancedDataManagement}{}
\input{AdvancedDataManagement}

\chapter{Advanced Scheduling}
\label{AdvancedScheduling}
\hypertarget{AdvancedScheduling}{}
\input{AdvancedScheduling}

\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{CUDA Support}
\label{CUDASupport}
\hypertarget{CUDASupport}{}
\input{CUDASupport}

\chapter{OpenCL Support}
\label{OpenCLSupport}
\hypertarget{OpenCLSupport}{}
\input{OpenCLSupport}

\chapter{Maxeler FPGA Support}
\label{MaxFPGASupport}
\hypertarget{MaxFPGASupport}{}
\input{MaxFPGASupport}

\chapter{Out Of Core}
\label{OutOfCore}
\hypertarget{OutOfCore}{}
\input{OutOfCore}

\chapter{MPI Support}
\label{MPISupport}
\hypertarget{MPISupport}{}
\input{MPISupport}

\chapter{TCP/IP Support}
\label{TCPIPSupport}
\hypertarget{TCPIPSupport}{}
\input{TCPIPSupport}

\chapter{Transactions}
\label{Transactions}
\hypertarget{Transactions}{}
\input{Transactions}

\chapter{Fault Tolerance}
\label{FaultTolerance}
\hypertarget{FaultTolerance}{}
\input{FaultTolerance}

\chapter{FFT Support}
\label{FFTSupport}
\hypertarget{FFTSupport}{}
\input{FFTSupport}

\chapter{SOCL OpenCL Extensions}
\label{SOCLOpenclExtensions}
\hypertarget{SOCLOpenclExtensions}{}
\input{SOCLOpenclExtensions}

\chapter{Hierarchical DAGS}
\label{HierarchicalDAGS}
\hypertarget{HierarchicalDAGS}{}
\input{HierarchicalDAGS}

\chapter{Parallel Workers}
\label{ParallelWorker}
\hypertarget{ParallelWorker}{}
\input{ParallelWorker}

\chapter{Interoperability Support}
\label{InteropSupport}
\hypertarget{InteropSupport}{}
\input{InteroperabilitySupport}

\chapter{SimGrid Support}
\label{SimGridSupport}
\hypertarget{SimGridSupport}{}
\input{SimGridSupport}

\chapter{Helpers}
\label{Helpers}
\hypertarget{Helpers}{}
\input{Helpers}

\chapter{Debugging Tools}
\label{DebuggingTools}
\hypertarget{DebuggingTools}{}
\input{DebuggingTools}

\part{Appendix}

\chapter{The GNU Free Documentation License}
\label{GNUFreeDocumentationLicense}
\hypertarget{GNUFreeDocumentationLicense}{}
\input{GNUFreeDocumentationLicense}

\chapter{Module Index}
\input{modules}

\chapter{Module Documentation a.k.a StarPU's API}
\label{ModuleDocumentation}
\hypertarget{ModuleDocumentation}{}

\input{group__API__Bitmap}
\input{group__API__Bubble}
\input{group__API__Codelet__And__Tasks}
\input{group__API__CUDA__Extensions}
\input{group__API__Data__Interfaces}
\input{group__API__Data__Management}
\input{group__API__Data__Partition}
\input{group__API__Expert__Mode}
\input{group__API__Explicit__Dependencies}
\input{group__API__FFT__Support}
\input{group__API__Fortran}
\input{group__API__FxT__Support}
\input{group__API__HeteroPrio}
\input{group__API__HIP__Extensions}
\input{group__API__Initialization__and__Termination}
\input{group__API__Insert__Task}
\input{group__API__Interop__Support}
\input{group__API__Max__FPGA__Extensions}
\input{group__API__Miscellaneous__Helpers}
\input{group__API__Modularized__Scheduler}
\input{group__API__MPI__FT__Support}
\input{group__API__MPI__Support}
\input{group__API__OpenCL__Extensions}
\input{group__API__OpenMP__Runtime__Support}
\input{group__API__Out__Of__Core}
\input{group__API__Parallel__Tasks}
\input{group__API__Parallel__Worker}
\input{group__API__Perf__Monitoring}
\input{group__API__Performance__Model}
\input{group__API__Perf__Steering}
\input{group__API__Profiling}
\input{group__API__Profiling__Tool}
\input{group__API__Random__Functions}
\input{group__API__Running__Drivers}
\input{group__API__Scheduler__Toolbox}
\input{group__API__Scheduling__Contexts}
\input{group__API__Scheduling__Policy}
\input{group__API__SC__Hypervisor__LP}
\input{group__API__SC__Hypervisor}
\input{group__API__SC__Hypervisor__usage}
\input{group__API__Sink}
\input{group__API__Standard__Memory__Library}
\input{group__API__Task__Bundles}
\input{group__API__Task__Lists}
\input{group__API__Theoretical__Lower__Bound__on__Execution__Time}
\input{group__API__Threads}
\input{group__API__Toolbox}
\input{group__API__Transactions}
\input{group__API__Tree}
\input{group__API__Versioning}
\input{group__API__Workers}

\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__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__hip_8h}
\input{starpu__scheduler__toolbox_8h}
\input{starpu__max__fpga_8h}
\input{starpu__mod_8f90}
\input{starpu__mpi_8h}
\input{starpu__mpi__ft_8h}
\input{starpu__mpi__lb_8h}
\input{starpu__opencl_8h}
\input{starpu__openmp_8h}
\input{starpu__parallel__worker_8h}
\input{starpu__perf__monitoring_8h}
\input{starpu__perf__steering_8h}
\input{starpu__perfmodel_8h}
\input{starpu__profiling_8h}
\input{starpu__profiling__tool_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{Index}
\addcontentsline{toc}{chapter}{Index}
\printindex

\end{document}
