]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Clarify a detail.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 14 Aug 2009 21:33:05 +0000 (21:33 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 14 Aug 2009 21:33:05 +0000 (21:33 +0000)
git-svn-id: https://svn.dealii.org/trunk@19269 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/examples/step-32/doc/intro.dox

index b3443f22a7bf7923122e38a4e3d8d02962365a96..a8699fdb5e980dfc5e30396b07bf2d531edf5f37 100644 (file)
@@ -271,10 +271,17 @@ calls to <code>BoussinesqFlowProblem::setup_stokes_matrix</code>,
 scheduled to available resources. There is one problem with this, however:
 if we have more than one MPI process running in parallel, then all of these
 processes need to communicate in a certain order and that requires that the
-various <code>setup_*</code> functions can't run in parallel. For these
-setup operations, we will therefore only be able to make use of multiple
-processor cores within the same machine if there is only a single MPI
-process in use.
+various <code>setup_*</code> functions can't run in parallel. To make
+things worse, even if there is only a single MPI process, we still
+have to make a few calls to the MPI runtime (for example to set up
+communicators for the various matrices and vectors; all of these
+communicators contain only a single processor, but we still have to
+call MPI functions for this). Unfortunately, most MPI implementations
+are not thread-safe, and we can't call MPI functions from multiple
+threads at once. For these setup operations, we will therefore only be
+able to make use of multiple processor cores within the same machine
+if we are not running under the control of MPI -- a condition we can
+check using the Utilities::System::job_supports_mpi() function.
 
 
 <h3> Implementation details </h3>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.