Changeset 1639 for XIOS/trunk/src/registry.cpp
- Timestamp:
- 01/22/19 16:43:32 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/registry.cpp
r1638 r1639 191 191 { 192 192 int rank ; 193 ep_lib::MPI_Comm_rank(communicator,&rank);193 MPI_Comm_rank(communicator,&rank); 194 194 if (rank==0) 195 195 { … … 197 197 this->toBuffer(buffer) ; 198 198 int size=buffer.count() ; 199 ep_lib::MPI_Bcast(&size,1,EP_INT,0,communicator) ;200 ep_lib::MPI_Bcast(buffer.start(),size,EP_CHAR,0,communicator) ;199 MPI_Bcast(&size,1,MPI_INT,0,communicator) ; 200 MPI_Bcast(buffer.start(),size,MPI_CHAR,0,communicator) ; 201 201 } 202 202 else 203 203 { 204 204 int size ; 205 ep_lib::MPI_Bcast(&size,1,EP_INT,0,communicator) ;205 MPI_Bcast(&size,1,MPI_INT,0,communicator) ; 206 206 CBufferIn buffer(size) ; 207 ep_lib::MPI_Bcast(buffer.start(),size,EP_CHAR,0,communicator) ;207 MPI_Bcast(buffer.start(),size,MPI_CHAR,0,communicator) ; 208 208 this->fromBuffer(buffer) ; 209 209 } … … 214 214 } 215 215 216 void CRegistry::gatherRegistry(const ep_lib::MPI_Comm& comm)216 void CRegistry::gatherRegistry(const MPI_Comm& comm) 217 217 { 218 218 int rank,mpiSize ; 219 ep_lib::MPI_Comm_rank(comm,&rank);220 ep_lib::MPI_Comm_size(comm,&mpiSize);219 MPI_Comm_rank(comm,&rank); 220 MPI_Comm_size(comm,&mpiSize); 221 221 222 222 int* sizes=new int[mpiSize] ; … … 224 224 this->toBuffer(localBuffer) ; 225 225 int localSize=localBuffer.count() ; 226 ep_lib::MPI_Gather(&localSize,1,EP_INT,sizes,1,EP_INT,0,comm) ;226 MPI_Gather(&localSize,1,MPI_INT,sizes,1,MPI_INT,0,comm) ; 227 227 228 228 char* globalBuffer ; … … 240 240 241 241 globalBuffer=new char[globalBufferSize] ; 242 ep_lib::MPI_Gatherv(localBuffer.start(),localSize,EP_CHAR,globalBuffer,sizes,displs,EP_CHAR,0,comm) ;242 MPI_Gatherv(localBuffer.start(),localSize,MPI_CHAR,globalBuffer,sizes,displs,MPI_CHAR,0,comm) ; 243 243 for(int i=1;i<mpiSize;++i) 244 244 { … … 251 251 delete[] globalBuffer ; 252 252 } 253 else ep_lib::MPI_Gatherv(localBuffer.start(),localSize,EP_CHAR,globalBuffer,sizes,displs,EP_CHAR,0,comm) ;253 else MPI_Gatherv(localBuffer.start(),localSize,MPI_CHAR,globalBuffer,sizes,displs,MPI_CHAR,0,comm) ; 254 254 delete[] sizes ; 255 255 … … 261 261 } 262 262 263 void CRegistry::hierarchicalGatherRegistry(const ep_lib::MPI_Comm& comm)263 void CRegistry::hierarchicalGatherRegistry(const MPI_Comm& comm) 264 264 { 265 265 int mpiRank,mpiSize ; 266 ep_lib::MPI_Comm_rank(comm,&mpiRank);267 ep_lib::MPI_Comm_size(comm,&mpiSize);266 MPI_Comm_rank(comm,&mpiRank); 267 MPI_Comm_size(comm,&mpiSize); 268 268 269 269 if (mpiSize>2) … … 272 272 if (mpiRank<mpiSize/2+mpiSize%2) color=0 ; 273 273 else color=1 ; 274 ep_lib::MPI_Comm commUp ;275 ep_lib::MPI_Comm_split(comm,color,mpiRank,&commUp) ,274 MPI_Comm commUp ; 275 MPI_Comm_split(comm,color,mpiRank,&commUp) , 276 276 hierarchicalGatherRegistry(commUp) ; 277 ep_lib::MPI_Comm_free(&commUp) ;277 MPI_Comm_free(&commUp) ; 278 278 } 279 279 280 280 if (mpiSize>1) 281 281 { 282 ep_lib::MPI_Comm commDown ;282 MPI_Comm commDown ; 283 283 int color ; 284 284 285 285 if (mpiRank==0 || mpiRank==mpiSize/2+mpiSize%2) color=0 ; 286 286 else color=1 ; 287 ep_lib::MPI_Comm_split(comm,color,mpiRank,&commDown) ;287 MPI_Comm_split(comm,color,mpiRank,&commDown) ; 288 288 if (color==0) gatherRegistry(commDown) ; 289 ep_lib::MPI_Comm_free(&commDown) ;289 MPI_Comm_free(&commDown) ; 290 290 } 291 291 }
Note: See TracChangeset
for help on using the changeset viewer.