From: kronbichler Date: Tue, 27 Jan 2009 07:57:25 +0000 (+0000) Subject: Dummy Trilinos objects need to be generated with MPI_COMM_SELF rather than MPI_COMM_W... X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8162b565bb91c469105166bd2a1fb94b78a8b5e;p=dealii-svn.git Dummy Trilinos objects need to be generated with MPI_COMM_SELF rather than MPI_COMM_WORLD in order to avoid dead-locks when only using subcommunicators. git-svn-id: https://svn.dealii.org/trunk@18302 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/include/lac/trilinos_vector.h b/deal.II/lac/include/lac/trilinos_vector.h index e124079880..b87cc53849 100755 --- a/deal.II/lac/include/lac/trilinos_vector.h +++ b/deal.II/lac/include/lac/trilinos_vector.h @@ -460,7 +460,7 @@ namespace TrilinosWrappers if (size() != v.size()) { #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - map = Epetra_Map (v.size(), 0, Epetra_MpiComm(MPI_COMM_WORLD)); + map = Epetra_Map (v.size(), 0, Epetra_MpiComm(MPI_COMM_SELF)); #else map = Epetra_Map (v.size(), 0, Epetra_SerialComm()); #endif @@ -647,7 +647,7 @@ namespace TrilinosWrappers Vector::Vector (const dealii::Vector &v) : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - map (v.size(), 0, Epetra_MpiComm(MPI_COMM_WORLD)) + map (v.size(), 0, Epetra_MpiComm(MPI_COMM_SELF)) #else map (v.size(), 0, Epetra_SerialComm()) #endif @@ -675,7 +675,7 @@ namespace TrilinosWrappers { vector.release(); #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - map = Epetra_LocalMap (v.size(), 0, Epetra_MpiComm(MPI_COMM_WORLD)); + map = Epetra_LocalMap (v.size(), 0, Epetra_MpiComm(MPI_COMM_SELF)); #else map = Epetra_LocalMap (v.size(), 0, Epetra_SerialComm()); #endif diff --git a/deal.II/lac/source/trilinos_block_sparse_matrix.cc b/deal.II/lac/source/trilinos_block_sparse_matrix.cc index eea3d942dc..06591f1d47 100644 --- a/deal.II/lac/source/trilinos_block_sparse_matrix.cc +++ b/deal.II/lac/source/trilinos_block_sparse_matrix.cc @@ -148,7 +148,7 @@ namespace TrilinosWrappers // produce a dummy local map and pass it // off to the other function #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_MpiComm trilinos_communicator (MPI_COMM_WORLD); + Epetra_MpiComm trilinos_communicator (MPI_COMM_SELF); #else Epetra_SerialComm trilinos_communicator; #endif @@ -239,7 +239,7 @@ namespace TrilinosWrappers // produce a dummy local map and pass it // off to the other function #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_MpiComm trilinos_communicator (MPI_COMM_WORLD); + Epetra_MpiComm trilinos_communicator (MPI_COMM_SELF); #else Epetra_SerialComm trilinos_communicator; #endif diff --git a/deal.II/lac/source/trilinos_precondition.cc b/deal.II/lac/source/trilinos_precondition.cc index bdcde138f0..6198f20bcc 100755 --- a/deal.II/lac/source/trilinos_precondition.cc +++ b/deal.II/lac/source/trilinos_precondition.cc @@ -36,7 +36,7 @@ namespace TrilinosWrappers PreconditionBase::PreconditionBase() #ifdef DEAL_II_COMPILER_SUPPORTS_MPI : - communicator (MPI_COMM_WORLD) + communicator (MPI_COMM_SELF) #endif {} diff --git a/deal.II/lac/source/trilinos_sparse_matrix.cc b/deal.II/lac/source/trilinos_sparse_matrix.cc index 31ced248c3..5af9a75a70 100755 --- a/deal.II/lac/source/trilinos_sparse_matrix.cc +++ b/deal.II/lac/source/trilinos_sparse_matrix.cc @@ -85,7 +85,7 @@ namespace TrilinosWrappers SparseMatrix::SparseMatrix () : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - row_map (0, 0, Epetra_MpiComm(MPI_COMM_WORLD)), + row_map (0, 0, Epetra_MpiComm(MPI_COMM_SELF)), #else row_map (0, 0, Epetra_SerialComm()), #endif @@ -165,8 +165,8 @@ namespace TrilinosWrappers const unsigned int n_max_entries_per_row) : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - row_map (m, 0, Epetra_MpiComm(MPI_COMM_WORLD)), - col_map (n, 0, Epetra_MpiComm(MPI_COMM_WORLD)), + row_map (m, 0, Epetra_MpiComm(MPI_COMM_SELF)), + col_map (n, 0, Epetra_MpiComm(MPI_COMM_SELF)), #else row_map (m, 0, Epetra_SerialComm()), col_map (n, 0, Epetra_SerialComm()), @@ -185,8 +185,8 @@ namespace TrilinosWrappers const std::vector &n_entries_per_row) : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - row_map (m, 0, Epetra_MpiComm(MPI_COMM_WORLD)), - col_map (n, 0, Epetra_MpiComm(MPI_COMM_WORLD)), + row_map (m, 0, Epetra_MpiComm(MPI_COMM_SELF)), + col_map (n, 0, Epetra_MpiComm(MPI_COMM_SELF)), #else row_map (m, 0, Epetra_SerialComm()), col_map (n, 0, Epetra_SerialComm()), @@ -253,7 +253,7 @@ namespace TrilinosWrappers SparseMatrix::reinit (const SparsityType &sparsity_pattern) { #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_MpiComm trilinos_communicator (MPI_COMM_WORLD); + Epetra_MpiComm trilinos_communicator (MPI_COMM_SELF); #else Epetra_SerialComm trilinos_communicator; #endif @@ -544,7 +544,7 @@ namespace TrilinosWrappers const double drop_tolerance) { #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_MpiComm trilinos_communicator (MPI_COMM_WORLD); + Epetra_MpiComm trilinos_communicator (MPI_COMM_SELF); #else Epetra_SerialComm trilinos_communicator; #endif @@ -682,7 +682,7 @@ namespace TrilinosWrappers matrix.reset(); #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - row_map = Epetra_Map (0, 0, Epetra_MpiComm(MPI_COMM_WORLD)); + row_map = Epetra_Map (0, 0, Epetra_MpiComm(MPI_COMM_SELF)); #else row_map = Epetra_Map (0, 0, Epetra_SerialComm()); #endif diff --git a/deal.II/lac/source/trilinos_sparsity_pattern.cc b/deal.II/lac/source/trilinos_sparsity_pattern.cc index 5b5fdaacfa..7b005997cf 100755 --- a/deal.II/lac/source/trilinos_sparsity_pattern.cc +++ b/deal.II/lac/source/trilinos_sparsity_pattern.cc @@ -83,7 +83,7 @@ namespace TrilinosWrappers SparsityPattern::SparsityPattern () : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - row_map (0, 0, Epetra_MpiComm(MPI_COMM_WORLD)), + row_map (0, 0, Epetra_MpiComm(MPI_COMM_SELF)), #else row_map (0, 0, Epetra_SerialComm()), #endif @@ -163,8 +163,8 @@ namespace TrilinosWrappers const unsigned int n_entries_per_row) : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - row_map (m, 0, Epetra_MpiComm(MPI_COMM_WORLD)), - col_map (n, 0, Epetra_MpiComm(MPI_COMM_WORLD)), + row_map (m, 0, Epetra_MpiComm(MPI_COMM_SELF)), + col_map (n, 0, Epetra_MpiComm(MPI_COMM_SELF)), #else row_map (m, 0, Epetra_SerialComm()), col_map (n, 0, Epetra_SerialComm()), @@ -183,8 +183,8 @@ namespace TrilinosWrappers const std::vector &n_entries_per_row) : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - row_map (m, 0, Epetra_MpiComm(MPI_COMM_WORLD)), - col_map (n, 0, Epetra_MpiComm(MPI_COMM_WORLD)), + row_map (m, 0, Epetra_MpiComm(MPI_COMM_SELF)), + col_map (n, 0, Epetra_MpiComm(MPI_COMM_SELF)), #else row_map (m, 0, Epetra_SerialComm()), col_map (n, 0, Epetra_SerialComm()), @@ -239,7 +239,7 @@ namespace TrilinosWrappers const unsigned int n_entries_per_row) { #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_MpiComm trilinos_communicator (MPI_COMM_WORLD); + Epetra_MpiComm trilinos_communicator (MPI_COMM_SELF); #else Epetra_SerialComm trilinos_communicator; #endif @@ -285,7 +285,7 @@ namespace TrilinosWrappers const std::vector &n_entries_per_row) { #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_MpiComm trilinos_communicator (MPI_COMM_WORLD); + Epetra_MpiComm trilinos_communicator (MPI_COMM_SELF); #else Epetra_SerialComm trilinos_communicator; #endif @@ -469,7 +469,7 @@ namespace TrilinosWrappers SparsityPattern::copy_from (const SparsityType &sp) { #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_MpiComm trilinos_communicator (MPI_COMM_WORLD); + Epetra_MpiComm trilinos_communicator (MPI_COMM_SELF); #else Epetra_SerialComm trilinos_communicator; #endif @@ -491,7 +491,7 @@ namespace TrilinosWrappers graph.reset(); #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - row_map = Epetra_Map (0, 0, Epetra_MpiComm(MPI_COMM_WORLD)); + row_map = Epetra_Map (0, 0, Epetra_MpiComm(MPI_COMM_SELF)); #else row_map = Epetra_Map (0, 0, Epetra_SerialComm()); #endif diff --git a/deal.II/lac/source/trilinos_vector.cc b/deal.II/lac/source/trilinos_vector.cc index ef8ac33404..0bab6e5c05 100755 --- a/deal.II/lac/source/trilinos_vector.cc +++ b/deal.II/lac/source/trilinos_vector.cc @@ -32,7 +32,7 @@ namespace TrilinosWrappers Vector::Vector () : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - map (0,0,Epetra_MpiComm(MPI_COMM_WORLD)) + map (0,0,Epetra_MpiComm(MPI_COMM_SELF)) #else map (0,0,Epetra_SerialComm()) #endif @@ -264,7 +264,7 @@ namespace TrilinosWrappers Vector::Vector () : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - map (0, 0, Epetra_MpiComm(MPI_COMM_WORLD)) + map (0, 0, Epetra_MpiComm(MPI_COMM_SELF)) #else map (0, 0, Epetra_SerialComm()) #endif @@ -278,7 +278,7 @@ namespace TrilinosWrappers Vector::Vector (const unsigned int n) : #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - map ((int)n, 0, Epetra_MpiComm(MPI_COMM_WORLD)) + map ((int)n, 0, Epetra_MpiComm(MPI_COMM_SELF)) #else map ((int)n, 0, Epetra_SerialComm()) #endif @@ -328,7 +328,7 @@ namespace TrilinosWrappers vector.reset(); #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - map = Epetra_LocalMap ((int)n, 0, Epetra_MpiComm(MPI_COMM_WORLD)); + map = Epetra_LocalMap ((int)n, 0, Epetra_MpiComm(MPI_COMM_SELF)); #else map = Epetra_LocalMap ((int)n, 0, Epetra_SerialComm()); #endif diff --git a/deal.II/lac/source/trilinos_vector_base.cc b/deal.II/lac/source/trilinos_vector_base.cc index ba7b126271..9039cbb9b2 100644 --- a/deal.II/lac/source/trilinos_vector_base.cc +++ b/deal.II/lac/source/trilinos_vector_base.cc @@ -60,7 +60,7 @@ namespace TrilinosWrappers #ifdef DEAL_II_COMPILER_SUPPORTS_MPI vector(std::auto_ptr (new Epetra_FEVector( - Epetra_Map(0,0,Epetra_MpiComm(MPI_COMM_WORLD))))) + Epetra_Map(0,0,Epetra_MpiComm(MPI_COMM_SELF))))) #else vector(std::auto_ptr (new Epetra_FEVector( @@ -95,7 +95,7 @@ namespace TrilinosWrappers vector.reset(); #ifdef DEAL_II_COMPILER_SUPPORTS_MPI - Epetra_Map map (0, 0, Epetra_MpiComm(MPI_COMM_WORLD)); + Epetra_Map map (0, 0, Epetra_MpiComm(MPI_COMM_SELF)); #else Epetra_Map map (0, 0, Epetra_SerialComm()); #endif