From 9084b1892e69e0cffc14434190d90ddcc05133a8 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 14 Jan 2015 11:20:57 -0600 Subject: [PATCH] Bring back the constructor of MPI_InitFinalize. I had removed it in a previous patch, thinking that it was deprecated, but in fact it wasn't. Rather than undoing the change, provide the third argument of another constructor with a default value. --- doc/news/changes.h | 17 ++++++++++++++++- include/deal.II/base/mpi.h | 5 +++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/doc/news/changes.h b/doc/news/changes.h index e28e3b94bd..4ca43dc56a 100644 --- a/doc/news/changes.h +++ b/doc/news/changes.h @@ -38,6 +38,22 @@ inconvenience this causes.

    +
  1. Changed: The MPI_InitFinalize class had a constructor that took + two arguments (argc,argv). This constructor has been removed + in favor of the one that takes three arguments where the last one is + the number of threads to be used for the current MPI process. This last + argument has received a default value so that the old, two-argument + calling syntax continues to work. However, whereas the old syntax with + two arguments indicated that the user wanted only one thread per process, + the default value is set so that every processor core on the system is + used. If you run as many MPI processes as there are processor cores, then + this means one thread per MPI process, as before. On the other hand, if you + start fewer MPI processes than there are cores, then your program will now + be allowed to use more than one thread, speeding up a number of operations. +
    + (Wolfgang Bangerth, 2015/01/14) +
  2. +
  3. Removed: TrilinosWrappers::SparseMatrix copy constructor got removed to be in line with PETSc and dealii::SparseMatrix. You can use reinit() and copy_from(). @@ -116,7 +132,6 @@ inconvenience this causes. approach to getting notified about what happens to triangulations has been superseded by the signals defined by the triangulation class. - - The deprecated constructor of MPI_InitFinalize - The MPI support functions in namespace Utilities and Utilities::System. - Deprecated members of namespace types. - Namespace deal_II_numbers. diff --git a/include/deal.II/base/mpi.h b/include/deal.II/base/mpi.h index 25934a1dcb..726229d014 100644 --- a/include/deal.II/base/mpi.h +++ b/include/deal.II/base/mpi.h @@ -279,7 +279,8 @@ namespace Utilities * main. * @param[in] max_num_threads The maximal number of threads this MPI * process should utilize. If this argument is set to - * numbers::invalid_unsigned_int, the number of threads is determined + * numbers::invalid_unsigned_int (the default value), + * then the number of threads is determined * automatically in the following way: the number of threads to run on * this MPI process is set in such a way that all of the cores in your * node are spoken for. In other words, if you have started one MPI @@ -307,7 +308,7 @@ namespace Utilities */ MPI_InitFinalize (int &argc, char ** &argv, - const unsigned int max_num_threads); + const unsigned int max_num_threads = numbers::invalid_unsigned_int); /** * Destructor. Calls MPI_Finalize() in case this class owns the -- 2.39.5