From 6ab8a7ed175d886bc8da48f4a1761db7eff132a8 Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Wed, 12 Aug 2009 14:21:24 +0000 Subject: [PATCH] Two small language fixes. git-svn-id: https://svn.dealii.org/trunk@19239 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-32/doc/intro.dox | 39 +++++++++++++------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/deal.II/examples/step-32/doc/intro.dox b/deal.II/examples/step-32/doc/intro.dox index 8e93c15bad..95bea38e96 100644 --- a/deal.II/examples/step-32/doc/intro.dox +++ b/deal.II/examples/step-32/doc/intro.dox @@ -89,7 +89,7 @@ pressure mass matrix as approximation for $S^{-1}$, so it is at least as good as GMRES in this example. Keep in mind the discussion in the results section of the @ref step_22 "step-22" tutorial program, where we observed that BiCGStab does not like inner solves with CG, which made us -choose GMRES in step-31 +prefer GMRES in step-31.

Parallelization on clusters

@@ -254,26 +254,27 @@ We will comment on a few more points in the actual code, but in general their structure should be clear from the discussion in @ref threads. The underlying technology for WorkStream identifies "tasks" that need to be -worked on (e.g. assembling local contributions on a cell) and schedules these -tasks automatically to available processors. WorkStream creates these tasks -automatically, by splitting the iterator range into suitable chunks, but as -outlined in @ref threads, one can also create tasks explicitly. We use this in -one place in the program, namely where we set up the Stokes system and -preconditioner matrices as well as the temperature matrix. These are -independent operations that, if enough processors are available, can be worked -on in parallel (if not enough processors are available -- because the system -has only one, or because the others are working on something else for us -- -then these tasks will be worked on sequentially). Consequently, -BoussinesqFlowProblem::setup_dofs creates tasks for the three calls -to BoussinesqFlowProblem::setup_stokes_matrix, +worked on (e.g. assembling local contributions on a cell) and schedules +these tasks automatically to available processors. WorkStream creates these +tasks automatically, by splitting the iterator range into suitable chunks, +but as outlined in @ref threads, one can also create tasks explicitly. We +use this in one place in the program, namely where we set up the Stokes +system and preconditioner matrices as well as the temperature matrix. These +are independent operations that, if enough processors are available, can be +worked on in parallel (if not enough processors are available -- because the +system has only one, or because the others are working on something else for +us -- then these tasks will be worked on sequentially). Consequently, +BoussinesqFlowProblem::setup_dofs creates tasks for the three +calls to BoussinesqFlowProblem::setup_stokes_matrix, BoussinesqFlowProblem::setup_stokes_preconditioner, and BoussinesqFlowProblem::setup_temperature_matrices that are then -scheduled to available resources. There is one problem with this, however: if -we have more than MPI process running in parallel, then all of these processes -need to communicate in a certain order and that requires that the various -setup_* 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. +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 setup_* 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. -- 2.39.5