浏览代码

doc: fix @menu and @node definitions

Nathalie Furmento 15 年之前
父节点
当前提交
ed385d6a2c
共有 1 个文件被更改,包括 106 次插入83 次删除
  1. 106 83
      doc/starpu.texi

+ 106 - 83
doc/starpu.texi

@@ -31,13 +31,14 @@ This manual documents the usage of StarPU.
 @comment  better formatting.
 @comment  better formatting.
 @comment
 @comment
 @menu
 @menu
-* Introduction::          A basic introduction to using StarPU
-* Installing StarPU::     How to configure, build and install StarPU
-* Configuration options:: Configurations options
-* Environment variables:: Environment variables used by StarPU
-* StarPU API::            The API to use StarPU
-* Basic Examples::        Basic examples of the use of StarPU
-* Advanced Topics::       Advanced use of StarPU
+* Introduction::                A basic introduction to using StarPU
+* Installing StarPU::           How to configure, build and install StarPU
+* Using StarPU::                How to run StarPU application
+* Configuration options::       Configurations options
+* Environment variables::       Environment variables used by StarPU
+* StarPU API::                  The API to use StarPU
+* Basic Examples::              Basic examples of the use of StarPU
+* Advanced Topics::             Advanced use of StarPU
 @end menu
 @end menu
 
 
 @c ---------------------------------------------------------------------
 @c ---------------------------------------------------------------------
@@ -48,8 +49,8 @@ This manual documents the usage of StarPU.
 @chapter Introduction to StarPU
 @chapter Introduction to StarPU
 
 
 @menu
 @menu
-* Motivation::             Why StarPU ?
-* StarPU in a Nutshell::   The Fundamentals of StarPU
+* Motivation::                  Why StarPU ?
+* StarPU in a Nutshell::        The Fundamentals of StarPU
 @end menu
 @end menu
 
 
 @node Motivation
 @node Motivation
@@ -80,6 +81,11 @@ transparently handling low-level issues in a portable fashion.
 @node StarPU in a Nutshell
 @node StarPU in a Nutshell
 @section StarPU in a Nutshell
 @section StarPU in a Nutshell
 
 
+@menu
+* Codelet and Tasks::           
+* StarPU Data Management Library::  
+@end menu
+
 From a programming point of view, StarPU is not a new language but a library
 From a programming point of view, StarPU is not a new language but a library
 that executes tasks explicitly submitted by the application.  The data that a
 that executes tasks explicitly submitted by the application.  The data that a
 task manipulates are automatically transferred onto the accelerator so that the
 task manipulates are automatically transferred onto the accelerator so that the
@@ -89,7 +95,9 @@ scheduling experts to implement custom scheduling policies in a portable
 fashion.
 fashion.
 
 
 @c explain the notion of codelet and task (i.e. g(A, B)
 @c explain the notion of codelet and task (i.e. g(A, B)
+@node Codelet and Tasks
 @subsection Codelet and Tasks
 @subsection Codelet and Tasks
+
 One of StarPU primary data structure is the @b{codelet}. A codelet describes a
 One of StarPU primary data structure is the @b{codelet}. A codelet describes a
 computational kernel that can possibly be implemented on multiple architectures
 computational kernel that can possibly be implemented on multiple architectures
 such as a CPU, a CUDA device or a Cell's SPU.
 such as a CPU, a CUDA device or a Cell's SPU.
@@ -114,6 +122,7 @@ by expressing dependencies between tags.
 @c TODO insert illustration f(Ar, Brw, Cr) + ..
 @c TODO insert illustration f(Ar, Brw, Cr) + ..
 
 
 @c DSM
 @c DSM
+@node StarPU Data Management Library
 @subsection StarPU Data Management Library
 @subsection StarPU Data Management Library
 
 
 Because StarPU schedules tasks at runtime, data transfers have to be
 Because StarPU schedules tasks at runtime, data transfers have to be
@@ -144,8 +153,8 @@ can be used to install StarPU.
 @section Configuration of StarPU
 @section Configuration of StarPU
 
 
 @menu
 @menu
-* Generating Makefiles and configuration scripts::
-* Configuring StarPU::
+* Generating Makefiles and configuration scripts::  
+* Configuring StarPU::          
 @end menu
 @end menu
 
 
 @node Generating Makefiles and configuration scripts
 @node Generating Makefiles and configuration scripts
@@ -173,10 +182,9 @@ Details about options that are useful to give to @code{./configure} are given in
 @section Building and Installing StarPU
 @section Building and Installing StarPU
 
 
 @menu
 @menu
-* Building::
-* Sanity Checks::
-* Installing::
-* pkg-config configuration::
+* Building::                    
+* Sanity Checks::               
+* Installing::                  
 @end menu
 @end menu
 
 
 @node Building
 @node Building
@@ -213,6 +221,11 @@ configuration:
 @node Using StarPU
 @node Using StarPU
 @chapter Using StarPU
 @chapter Using StarPU
 
 
+@menu
+* Setting flags for compiling and linking applications::  
+* Running a basic StarPU application::  
+@end menu
+
 @node Setting flags for compiling and linking applications
 @node Setting flags for compiling and linking applications
 @section Setting flags for compiling and linking applications
 @section Setting flags for compiling and linking applications
 
 
@@ -259,6 +272,7 @@ AFTER First element is 3.140000
 @node Configuration options
 @node Configuration options
 @chapter Configuration options
 @chapter Configuration options
 
 
+
 @table @asis
 @table @asis
 @item @code{--disable-cpu}
 @item @code{--disable-cpu}
 Disable the use of CPUs of the machine. Only GPUs etc. will be used.
 Disable the use of CPUs of the machine. Only GPUs etc. will be used.
@@ -365,9 +379,9 @@ Specify the location of ATLAS. This directory should notably contain
 @chapter Environment variables
 @chapter Environment variables
 
 
 @menu
 @menu
-* Workers::     Configuring workers
-* Scheduling::  Configuring the Scheduling engine
-* Misc::        Miscellaneous and debug
+* Workers::                     Configuring workers
+* Scheduling::                  Configuring the Scheduling engine
+* Misc::                        Miscellaneous and debug
 @end menu
 @end menu
 
 
 Note: the values given in @code{starpu_conf} structure passed when
 Note: the values given in @code{starpu_conf} structure passed when
@@ -378,13 +392,13 @@ variables.
 @section Configuring workers
 @section Configuring workers
 
 
 @menu
 @menu
-* STARPU_NCPUS     :: Number of CPU workers
-* STARPU_NCUDA     :: Number of CUDA workers
-* STARPU_NOPENCL   :: Number of OpenCL workers
-* STARPU_NGORDON   :: Number of SPU workers (Cell)
-* STARPU_WORKERS_CPUID    :: Bind workers to specific CPUs
-* STARPU_WORKERS_CUDAID   :: Select specific CUDA devices
-* STARPU_WORKERS_OPENCLID :: Select specific OpenCL devices
+* STARPU_NCPUS::                Number of CPU workers
+* STARPU_NCUDA::                Number of CUDA workers
+* STARPU_NOPENCL::              Number of OpenCL workers
+* STARPU_NGORDON::              Number of SPU workers (Cell)
+* STARPU_WORKERS_CPUID::        Bind workers to specific CPUs
+* STARPU_WORKERS_CUDAID::       Select specific CUDA devices
+* STARPU_WORKERS_OPENCLID::     Select specific OpenCL devices
 @end menu
 @end menu
 
 
 @node STARPU_NCPUS
 @node STARPU_NCPUS
@@ -479,11 +493,11 @@ OpenCL equivalent of the @code{STARPU_WORKERS_CUDAID} environment variable.
 @section Configuring the Scheduling engine
 @section Configuring the Scheduling engine
 
 
 @menu
 @menu
-* STARPU_SCHED     :: Scheduling policy
-* STARPU_CALIBRATE :: Calibrate performance models
-* STARPU_PREFETCH  :: Use data prefetch
-* STARPU_SCHED_ALPHA  :: Computation factor
-* STARPU_SCHED_BETA  :: Communication factor
+* STARPU_SCHED::                Scheduling policy
+* STARPU_CALIBRATE::            Calibrate performance models
+* STARPU_PREFETCH::             Use data prefetch
+* STARPU_SCHED_ALPHA::          Computation factor
+* STARPU_SCHED_BETA::           Communication factor
 @end menu
 @end menu
 
 
 @node STARPU_SCHED
 @node STARPU_SCHED
@@ -550,7 +564,7 @@ the coefficient to be applied to it before adding it to the computation part.
 @section Miscellaneous and debug
 @section Miscellaneous and debug
 
 
 @menu
 @menu
-* STARPU_LOGFILENAME  :: Select debug file name
+* STARPU_LOGFILENAME::          Select debug file name
 @end menu
 @end menu
 
 
 @node STARPU_LOGFILENAME
 @node STARPU_LOGFILENAME
@@ -570,24 +584,24 @@ This variable specify in which file the debugging output should be saved to.
 @chapter StarPU API
 @chapter StarPU API
 
 
 @menu
 @menu
-* Initialization and Termination::   Initialization and Termination methods
-* Workers' Properties::              Methods to enumerate workers' properties
-* Data Library::                     Methods to manipulate data
-* Codelets and Tasks::               Methods to construct tasks
-* Tags::                             Task dependencies
-* CUDA extensions::                  CUDA extensions
-* OpenCL extensions::                OpenCL extensions
-* Cell extensions::                  Cell extensions
-* Miscellaneous::                    Miscellaneous helpers
+* Initialization and Termination::  Initialization and Termination methods
+* Workers' Properties::         Methods to enumerate workers' properties
+* Data Library::                Methods to manipulate data
+* Codelets and Tasks::          Methods to construct tasks
+* Tags::                        Task dependencies
+* CUDA extensions::             CUDA extensions
+* OpenCL extensions::           OpenCL extensions
+* Cell extensions::             Cell extensions
+* Miscellaneous::               Miscellaneous helpers
 @end menu
 @end menu
 
 
 @node Initialization and Termination
 @node Initialization and Termination
 @section Initialization and Termination
 @section Initialization and Termination
 
 
 @menu
 @menu
-* starpu_init::            Initialize StarPU
-* struct starpu_conf::     StarPU runtime configuration
-* starpu_shutdown::        Terminate StarPU
+* starpu_init::                 Initialize StarPU
+* struct starpu_conf::          StarPU runtime configuration
+* starpu_shutdown::             Terminate StarPU
 @end menu
 @end menu
 
 
 @node starpu_init
 @node starpu_init
@@ -669,14 +683,14 @@ guaranteed to be available until this method has been called.
 @section Workers' Properties
 @section Workers' Properties
 
 
 @menu
 @menu
-* starpu_worker_get_count::        Get the number of processing units
-* starpu_cpu_worker_get_count::    Get the number of CPU controlled by StarPU
-* starpu_cuda_worker_get_count::   Get the number of CUDA devices controlled by StarPU
-* starpu_opencl_worker_get_count:: Get the number of OpenCL devices controlled by StarPU
-* starpu_spu_worker_get_count::    Get the number of Cell SPUs controlled by StarPU
-* starpu_worker_get_id::           Get the identifier of the current worker
-* starpu_worker_get_type::         Get the type of processing unit associated to a worker
-* starpu_worker_get_name::         Get the name of a worker
+* starpu_worker_get_count::     Get the number of processing units
+* starpu_cpu_worker_get_count::  Get the number of CPU controlled by StarPU
+* starpu_cuda_worker_get_count::  Get the number of CUDA devices controlled by StarPU
+* starpu_opencl_worker_get_count::  Get the number of OpenCL devices controlled by StarPU
+* starpu_spu_worker_get_count::  Get the number of Cell SPUs controlled by StarPU
+* starpu_worker_get_id::        Get the identifier of the current worker
+* starpu_worker_get_type::      Get the type of processing unit associated to a worker
+* starpu_worker_get_name::      Get the name of a worker
 @end menu
 @end menu
 
 
 @node starpu_worker_get_count
 @node starpu_worker_get_count
@@ -797,8 +811,8 @@ TODO: We show how to use existing data interfaces in [ref], but developers can
 design their own data interfaces if required.
 design their own data interfaces if required.
 
 
 @menu
 @menu
-* starpu_data_handle::  StarPU opaque data handle
-* void *interface::     StarPU data interface
+* starpu_data_handle::          StarPU opaque data handle
+* void *interface::             StarPU data interface
 @end menu
 @end menu
 
 
 @node starpu_data_handle
 @node starpu_data_handle
@@ -837,15 +851,15 @@ TODO
 @section Codelets and Tasks
 @section Codelets and Tasks
 
 
 @menu
 @menu
-* struct starpu_codelet::         StarPU codelet structure
-* struct starpu_task::            StarPU task structure
-* starpu_task_init::              Initialize a Task
-* starpu_task_create::            Allocate and Initialize a Task
-* starpu_task_deinit::            Release all the resources used by a Task
-* starpu_task_destroy::           Destroy a dynamically allocated Task
-* starpu_task_submit::            Submit a Task
-* starpu_task_wait::              Wait for the termination of a Task
-* starpu_task_wait_for_all::	  Wait for the termination of all Tasks
+* struct starpu_codelet::       StarPU codelet structure
+* struct starpu_task::          StarPU task structure
+* starpu_task_init::            Initialize a Task
+* starpu_task_create::          Allocate and Initialize a Task
+* starpu_task_deinit::          Release all the resources used by a Task
+* starpu_task_destroy::         Destroy a dynamically allocated Task
+* starpu_task_wait::            Wait for the termination of a Task
+* starpu_task_submit::          Submit a Task
+* starpu_task_wait_for_all::    Wait for the termination of all Tasks
 @end menu
 @end menu
 
 
 @node struct starpu_codelet
 @node struct starpu_codelet
@@ -1110,13 +1124,13 @@ This function blocks until all the tasks that were submitted are terminated.
 @section Tags
 @section Tags
 
 
 @menu
 @menu
-* starpu_tag_t::                   Task identifier
-* starpu_tag_declare_deps::        Declare the Dependencies of a Tag
+* starpu_tag_t::                Task identifier
+* starpu_tag_declare_deps::     Declare the Dependencies of a Tag
 * starpu_tag_declare_deps_array::  Declare the Dependencies of a Tag
 * starpu_tag_declare_deps_array::  Declare the Dependencies of a Tag
-* starpu_tag_wait::                Block until a Tag is terminated
-* starpu_tag_wait_array::          Block until a set of Tags is terminated
-* starpu_tag_remove::              Destroy a Tag
-* starpu_tag_notify_from_apps::    Feed a tag explicitly
+* starpu_tag_wait::             Block until a Tag is terminated
+* starpu_tag_wait_array::       Block until a set of Tags is terminated
+* starpu_tag_remove::           Destroy a Tag
+* starpu_tag_notify_from_apps::  Feed a tag explicitly
 @end menu
 @end menu
 
 
 
 
@@ -1251,8 +1265,8 @@ DAG before actually giving StarPU the opportunity to execute the tasks.
 @c starpu_helper_cublas_shutdown TODO
 @c starpu_helper_cublas_shutdown TODO
 
 
 @menu
 @menu
-* starpu_cuda_get_local_stream::   Get current worker's CUDA stream
-* starpu_helper_cublas_init::      Initialize CUBLAS on every CUDA device
+* starpu_cuda_get_local_stream::  Get current worker's CUDA stream
+* starpu_helper_cublas_init::   Initialize CUBLAS on every CUDA device
 * starpu_helper_cublas_shutdown::  Deinitialize CUBLAS on every CUDA device
 * starpu_helper_cublas_shutdown::  Deinitialize CUBLAS on every CUDA device
 @end menu
 @end menu
 
 
@@ -1297,8 +1311,8 @@ This function synchronously deinitializes the CUBLAS library on every CUDA devic
 @section OpenCL extensions
 @section OpenCL extensions
 
 
 @menu
 @menu
-* Enabling OpenCL::                 Enabling OpenCL
-* Compiling OpenCL codelets::       Compiling OpenCL codelets
+* Enabling OpenCL::             Enabling OpenCL
+* Compiling OpenCL codelets::   Compiling OpenCL codelets
 @end menu
 @end menu
 
 
 @node Enabling OpenCL
 @node Enabling OpenCL
@@ -1337,11 +1351,11 @@ TODO
 
 
 nothing yet.
 nothing yet.
 
 
-@node Miscellaneous
+@node Miscellaneous helpers
 @section Miscellaneous helpers
 @section Miscellaneous helpers
 
 
 @menu
 @menu
-* starpu_execute_on_each_worker::   Execute a function on a subset of workers
+* starpu_execute_on_each_worker::  Execute a function on a subset of workers
 @end menu
 @end menu
 
 
 @node starpu_execute_on_each_worker
 @node starpu_execute_on_each_worker
@@ -1373,13 +1387,13 @@ instance.
 @chapter Basic Examples
 @chapter Basic Examples
 
 
 @menu
 @menu
-* Compiling and linking::        Compiling and Linking Options
-* Hello World::                  Submitting Tasks
-* Scaling a Vector::             Manipulating Data
-* Scaling a Vector (hybrid)::    Handling Heterogeneous Architectures
+* Compiling and linking options::  
+* Hello World::                 Submitting Tasks
+* Manipulating Data: Scaling a Vector::  
+* Vector Scaling on an Hybrid CPU/GPU Machine::  Handling Heterogeneous Architectures
 @end menu
 @end menu
 
 
-@node Compiling and linking
+@node Compiling and linking options
 @section Compiling and linking options
 @section Compiling and linking options
 
 
 The Makefile could for instance contain the following lines to define which
 The Makefile could for instance contain the following lines to define which
@@ -1395,8 +1409,15 @@ LIBS+=$$(pkg-config --libs libstarpu)
 @node Hello World
 @node Hello World
 @section Hello World
 @section Hello World
 
 
+@menu
+* Required Headers::            
+* Defining a Codelet::          
+* Submitting a Task::           
+@end menu
+
 In this section, we show how to implement a simple program that submits a task to StarPU.
 In this section, we show how to implement a simple program that submits a task to StarPU.
 
 
+@node Required Headers
 @subsection Required Headers
 @subsection Required Headers
 
 
 The @code{starpu.h} header should be included in any code using StarPU.
 The @code{starpu.h} header should be included in any code using StarPU.
@@ -1408,6 +1429,7 @@ The @code{starpu.h} header should be included in any code using StarPU.
 @end cartouche
 @end cartouche
 
 
 
 
+@node Defining a Codelet
 @subsection Defining a Codelet
 @subsection Defining a Codelet
 
 
 @cartouche
 @cartouche
@@ -1466,6 +1488,7 @@ if the codelet modifies this buffer, there is no guarantee that the initial
 buffer will be modified as well: this for instance implies that the buffer
 buffer will be modified as well: this for instance implies that the buffer
 cannot be used as a synchronization medium.
 cannot be used as a synchronization medium.
 
 
+@node Submitting a Task
 @subsection Submitting a Task
 @subsection Submitting a Task
 
 
 @cartouche
 @cartouche
@@ -1545,7 +1568,7 @@ synchronous: the @code{starpu_task_submit} function will not return until the
 task was executed. Note that the @code{starpu_shutdown} method does not
 task was executed. Note that the @code{starpu_shutdown} method does not
 guarantee that asynchronous tasks have been executed before it returns.
 guarantee that asynchronous tasks have been executed before it returns.
 
 
-@node Scaling a Vector
+@node Manipulating Data: Scaling a Vector
 @section Manipulating Data: Scaling a Vector
 @section Manipulating Data: Scaling a Vector
 
 
 The previous example has shown how to submit tasks. In this section we show how
 The previous example has shown how to submit tasks. In this section we show how
@@ -1652,15 +1675,15 @@ interface}, the location of the vector (resp. its length) is accessible in the
 read-write fashion, any modification will automatically affect future accesses
 read-write fashion, any modification will automatically affect future accesses
 to this vector made by other tasks.
 to this vector made by other tasks.
 
 
-@node Scaling a Vector (hybrid)
+@node Vector Scaling on an Hybrid CPU/GPU Machine
 @section Vector Scaling on an Hybrid CPU/GPU Machine
 @section Vector Scaling on an Hybrid CPU/GPU Machine
 
 
 Contrary to the previous examples, the task submitted in this example may not
 Contrary to the previous examples, the task submitted in this example may not
 only be executed by the CPUs, but also by a CUDA device.
 only be executed by the CPUs, but also by a CUDA device.
 
 
 @menu
 @menu
-* Source code::                  Source of the StarPU application
-* Compilation and execution::    Executing the StarPU application
+* Source code::                 Source of the StarPU application
+* Compilation and execution::   Executing the StarPU application
 @end menu
 @end menu
 
 
 @node Source code
 @node Source code