/* StarPU --- Runtime system for heterogeneous multicore architectures.
 *
 * Copyright (C) 2009-2023  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
 *
 * 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.
 */

/*! \page ConfigurationAndInitialization Configuration and Initialization

This section explains the relationship between configure options,
compilation options and environment variables used by StarPU.

<ol>
<li>
Configure options are used during the installation
process to enable or disable specific features and libraries.
These options are set using flags like \ref enable-maxcpus
"--enable-maxcpus", which can be used to set the maximum number of
CPUs that can be used by StarPU.
</li>

<li>
Compilation options are used to set specific parameters during the
compilation process, such as the optimization level, architecture
type, and debugging options.
</li>

<li>
Environment variables are used to set runtime parameters and
control the behavior of the StarPU library.
For example, the \ref STARPU_NCPUS environment variable can be used to
specify the number of CPUs to use at runtime, overriding the value set
during compilation or installation.
</li>
</ol>

Options can also be set with the different fields of the
::starpu_conf parameter given to starpu_init(), such as
starpu_conf::ncpus, which is used to specify the number of CPUs that
StarPU should use for computations.

*/
