Bladeren bron

doc: move fft api to global api section

Nathalie Furmento 12 jaren geleden
bovenliggende
commit
f8b19cb29b
2 gewijzigde bestanden met toevoegingen van 59 en 55 verwijderingen
  1. 53 0
      doc/chapters/api.texi
  2. 6 55
      doc/chapters/fft-support.texi

+ 53 - 0
doc/chapters/api.texi

@@ -26,6 +26,7 @@
 * OpenCL extensions::
 * Miscellaneous helpers::
 * FXT Support::
+* FFT Support::
 * MPI::
 * Task Bundles::
 * Task Lists::
@@ -3309,6 +3310,58 @@ used to stop it earlier. @code{starpu_fxt_start_profiling} can then be called to
 start recording it again, etc.
 @end deftypefun
 
+@node FFT Support
+@section FFT Support
+
+@deftypefun {void *} starpufft_malloc (size_t @var{n})
+Allocates memory for @var{n} bytes. This is preferred over @code{malloc}, since
+it allocates pinned memory, which allows overlapped transfers.
+@end deftypefun
+
+@deftypefun {void *} starpufft_free (void *@var{p})
+Release memory previously allocated.
+@end deftypefun
+
+@deftypefun {struct starpufft_plan *} starpufft_plan_dft_1d (int @var{n}, int @var{sign}, unsigned @var{flags})
+Initializes a plan for 1D FFT of size @var{n}. @var{sign} can be
+@code{STARPUFFT_FORWARD} or @code{STARPUFFT_INVERSE}. @var{flags} must be 0.
+@end deftypefun
+
+@deftypefun {struct starpufft_plan *} starpufft_plan_dft_2d (int @var{n}, int @var{m}, int @var{sign}, unsigned @var{flags})
+Initializes a plan for 2D FFT of size (@var{n}, @var{m}). @var{sign} can be
+@code{STARPUFFT_FORWARD} or @code{STARPUFFT_INVERSE}. @var{flags} must be 0.
+@end deftypefun
+
+@deftypefun {struct starpu_task *} starpufft_start (starpufft_plan @var{p}, void *@var{in}, void *@var{out})
+Start an FFT previously planned as @var{p}, using @var{in} and @var{out} as
+input and output. This only submits the task and does not wait for it.
+The application should call @code{starpufft_cleanup} to unregister the data.
+@end deftypefun
+
+@deftypefun {struct starpu_task *} starpufft_start_handle (starpufft_plan @var{p}, starpu_data_handle_t @var{in}, starpu_data_handle_t @var{out})
+Start an FFT previously planned as @var{p}, using data handles @var{in} and
+@var{out} as input and output (assumed to be vectors of elements of the expected
+types). This only submits the task and does not wait for it.
+@end deftypefun
+
+@deftypefun void starpufft_execute (starpufft_plan @var{p}, void *@var{in}, void *@var{out})
+Execute an FFT previously planned as @var{p}, using @var{in} and @var{out} as
+input and output. This submits and waits for the task.
+@end deftypefun
+
+@deftypefun void starpufft_execute_handle (starpufft_plan @var{p}, starpu_data_handle_t @var{in}, starpu_data_handle_t @var{out})
+Execute an FFT previously planned as @var{p}, using data handles @var{in} and
+@var{out} as input and output (assumed to be vectors of elements of the expected
+types). This submits and waits for the task.
+@end deftypefun
+
+@deftypefun void starpufft_cleanup (starpufft_plan @var{p})
+Releases data for plan @var{p}, in the @code{starpufft_start} case.
+@end deftypefun
+
+@deftypefun void starpufft_destroy_plan (starpufft_plan @var{p})
+Destroys plan @var{p}, i.e. release all CPU (fftw) and GPU (cufft) resources.
+@end deftypefun
 
 @node MPI
 @section MPI

+ 6 - 55
doc/chapters/fft-support.texi

@@ -9,10 +9,10 @@
 StarPU provides @code{libstarpufft}, a library whose design is very similar to
 both fftw and cufft, the difference being that it takes benefit from both CPUs
 and GPUs. It should however be noted that GPUs do not have the same precision as
-CPUs, so the results may different by a negligible amount
+CPUs, so the results may different by a negligible amount.
 
-float, double and long double precisions are available, with the fftw naming
-convention:
+Different precisions are available, namely float, double and long
+double precisions, with the following fftw naming conventions:
 
 @enumerate
 @item double precision structures and functions are named e.g. @code{starpufft_execute}
@@ -20,7 +20,7 @@ convention:
 @item long double precision structures and functions are named e.g. @code{starpufftl_execute}
 @end enumerate
 
-The documentation below uses names for double precision, replace
+The documentation below is given with names for double precision, replace
 @code{starpufft_} with @code{starpufftf_} or @code{starpufftl_} as appropriate.
 
 Only complex numbers are supported at the moment.
@@ -42,6 +42,8 @@ plan. @code{starpufft_start_handle} is preferrable since it does not wait for
 the task completion, and thus permits to enqueue a series of tasks.
 @end enumerate
 
+All functions are defined in @ref{FFT Support}.
+
 @section Compilation
 
 The flags required to compile or link against the FFT library are accessible
@@ -54,54 +56,3 @@ $ pkg-config --libs starpufft-1.0    # options for the linker
 
 Also pass the @code{--static} option if the application is to be linked statically.
 
-@section Initialisation
-
-@deftypefun {void *} starpufft_malloc (size_t @var{n})
-Allocates memory for @var{n} bytes. This is preferred over @code{malloc}, since
-it allocates pinned memory, which allows overlapped transfers.
-@end deftypefun
-
-@deftypefun {void *} starpufft_free (void *@var{p})
-Release memory previously allocated.
-@end deftypefun
-
-@deftypefun {struct starpufft_plan *} starpufft_plan_dft_1d (int @var{n}, int @var{sign}, unsigned @var{flags})
-Initializes a plan for 1D FFT of size @var{n}. @var{sign} can be
-@code{STARPUFFT_FORWARD} or @code{STARPUFFT_INVERSE}. @var{flags} must be 0.
-@end deftypefun
-
-@deftypefun {struct starpufft_plan *} starpufft_plan_dft_2d (int @var{n}, int @var{m}, int @var{sign}, unsigned @var{flags})
-Initializes a plan for 2D FFT of size (@var{n}, @var{m}). @var{sign} can be
-@code{STARPUFFT_FORWARD} or @code{STARPUFFT_INVERSE}. @var{flags} must be 0.
-@end deftypefun
-
-@deftypefun {struct starpu_task *} starpufft_start (starpufft_plan @var{p}, void *@var{in}, void *@var{out})
-Start an FFT previously planned as @var{p}, using @var{in} and @var{out} as
-input and output. This only submits the task and does not wait for it.
-The application should call @code{starpufft_cleanup} to unregister the data.
-@end deftypefun
-
-@deftypefun {struct starpu_task *} starpufft_start_handle (starpufft_plan @var{p}, starpu_data_handle_t @var{in}, starpu_data_handle_t @var{out})
-Start an FFT previously planned as @var{p}, using data handles @var{in} and
-@var{out} as input and output (assumed to be vectors of elements of the expected
-types). This only submits the task and does not wait for it.
-@end deftypefun
-
-@deftypefun void starpufft_execute (starpufft_plan @var{p}, void *@var{in}, void *@var{out})
-Execute an FFT previously planned as @var{p}, using @var{in} and @var{out} as
-input and output. This submits and waits for the task.
-@end deftypefun
-
-@deftypefun void starpufft_execute_handle (starpufft_plan @var{p}, starpu_data_handle_t @var{in}, starpu_data_handle_t @var{out})
-Execute an FFT previously planned as @var{p}, using data handles @var{in} and
-@var{out} as input and output (assumed to be vectors of elements of the expected
-types). This submits and waits for the task.
-@end deftypefun
-
-@deftypefun void starpufft_cleanup (starpufft_plan @var{p})
-Releases data for plan @var{p}, in the @code{starpufft_start} case.
-@end deftypefun
-
-@deftypefun void starpufft_destroy_plan (starpufft_plan @var{p})
-Destroys plan @var{p}, i.e. release all CPU (fftw) and GPU (cufft) resources.
-@end deftypefun