Changeset 894a5f for src/comm/comm_mpi.hpp
- Timestamp:
- Feb 2, 2012, 1:58:12 PM (14 years ago)
- Children:
- 32ff22
- Parents:
- 01be70
- File:
-
- 1 edited
-
src/comm/comm_mpi.hpp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/comm/comm_mpi.hpp
r01be70 r894a5f 23 23 #include "base/has_tempgrids.hpp" 24 24 #include "comm/comm.hpp" 25 #include "comm/mpi/ comm_info.hpp"25 #include "comm/mpi/settings.hpp" 26 26 #include "comm/mpi/has_request_vec.hpp" 27 27 … … 62 62 void CommAddSubgrid(Grid& grid_old, Grid& grid_new); 63 63 64 void CommToGhostsAsyncStart(Grid& grid); 65 void CommToGhostsAsyncFinish(); 66 void CommFromGhostsAsyncStart(Grid& grid); 67 void CommFromGhostsAsyncFinish(Grid& grid); 68 64 69 vmg_float GlobalSum(const vmg_float& value); 65 70 vmg_float GlobalSumRoot(const vmg_float& value); … … 85 90 Index GlobalPos() const; 86 91 Index GlobalProcs() const; 92 93 void PostInit(Multigrid& sol, Multigrid& rhs) 94 { 95 settings.ComputeSettings(sol, rhs, comm_global); 96 } 87 97 88 98 virtual void DebugPrintError(const Grid& sol, const char* information) {} … … 111 121 std::string CreateOutputDirectory(); 112 122 113 std::vector<vmg_float> receive_buffer;114 115 std::map<const Grid*, TempGrid*> finer_grids;116 std::map<const Grid*, TempGrid*> coarser_grids;117 TempGrid* global_coarse_grid;118 119 VMG::MPI::CommInfo comm_info;120 121 123 MPI_Comm comm_global; 122 124 bool win_created; … … 124 126 MPI_Info info; 125 127 128 std::vector< std::vector<vmg_float> > receive_buffer; 129 126 130 protected: 127 void ReceiveAndAddSubgrid(Grid& grid, const MPI_Comm& comm, MPI_Datatype& type, 128 const int& rank, const int& tag); 131 void Isend(Grid& grid, VMG::MPI::Datatype& type, const MPI_Comm& comm, const int& tag); 132 void IsendAll(Grid& grid, std::vector<VMG::MPI::Datatype>& types, const MPI_Comm& comm, const int& tag_start); 133 void Irecv(Grid& grid, VMG::MPI::Datatype& type, const MPI_Comm& comm, const int& tag); 134 void IrecvAll(Grid& grid, std::vector<VMG::MPI::Datatype>& types, const MPI_Comm& comm, const int& tag_start); 135 void IrecvAllBuffered(std::vector<VMG::MPI::Datatype>& types, const MPI_Comm& comm, const int& tag_start); 136 void AddBufferAll(Grid& grid, std::vector<VMG::MPI::Datatype>& types); 137 138 VMG::MPI::Settings settings; 129 139 }; 130 140
Note:
See TracChangeset
for help on using the changeset viewer.
