// $Id$
// Version: $Name$
//
-// Copyright (C) 1998, 1999, 2000 by the deal.II authors
+// Copyright (C) 2000 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
/**
- * This class provides information about the system.
- * At the moment this is just the number of cpus. If deal is
- * compiled with multithreading support, all functions with
- * use #n_default_threads# as the default number of threads
- * to start all functions.
- * This variable #n_default_threads# is set to the number of
- * cpus per default, but can be adjusted by the user to fit
- * the requirements.
+ * This class provides information about the system which may be of
+ * use in multithreaded programs. At the moment this is just the
+ * number of cpus. If deal.II is compiled with multithreading support,
+ * some functions will use multiple threads for their action, and will
+ * use the member variable #n_default_threads# of this class as the
+ * default number of threads to start. This variable
+ * #n_default_threads# is set to the number of CPUs by default, but
+ * can be adjusted by the user to fit the requirements.
+ *
+ * @author Thomas Richter, 2000
*/
-class MultithreadInfo {
+class MultithreadInfo
+{
public:
/**
* The constructor determines the
- * number of cpus in the system.
- * At the moment detection of cpus
- * is only impelented on Linux
- * computers with the proc filesystem
- * and on suns.
- * Other platforms will hopefully follow.
- * The number of cpus present is set to
- * one if detection failed or if
+ * number of CPUs in the system.
+ * At the moment detection of
+ * CPUs is only implemented on
+ * Linux computers with the /proc
+ * filesystem and on Sun
+ * machines. The number of CPUs
+ * present is set to one if
+ * detection failed or if
* detection is not supported.
*/
MultithreadInfo();
/**
- * The number of cpus in the system.
- * It is one, if detection is not implemented.
+ * The number of CPUs in the
+ * system. It is one if
+ * detection is not implemented
+ * or failed.
*/
const unsigned int n_cpus;
* that support multithreading.
* At start time this is #n_cpus# or
* one, if detection of the number
- * of cpus is not possibly
+ * of CPUs is not possible.
*/
unsigned int n_default_threads;
*/
DeclException0(ExcProcNotPresent);
-
private:
/**
* Private function to determine
- * the number of cpus.
- * Implementation for Linux and suns.
+ * the number of CPUs.
+ * Implementation for Linux and
+ * Sun machines; if no detection
+ * of the number of CPUs is
+ * supported, or if detection
+ * fails, this function returns
+ * one.
*/
static unsigned int get_n_cpus();
};
-
+
+/**
+ * Global variable of type #MultithreadInfo# which you may ask for the
+ * number of CPUs in you system, as well as for the default number of
+ * threads that multithreaded functions shall use.
+ */
extern MultithreadInfo multithread_info;