Definition at line 626 of file IOBuffer.h. References Impala::Util::IOBuffer::GetBuffer(), ILOG_DEBUG, ILOG_VAR, Impala::Util::IOBuffer::SetBuffer(), and Impala::Util::IOBuffer::Size(). Referenced by Impala::Core::Matrix::DistributedAccess::LoadQuids(), and Impala::Application::OpenFeatureTable(). 00627 { 00628 #ifdef MPI_USED 00629 ILOG_VAR(Link.Mpi.Broadcast); 00630 MPI_Barrier(MPI_COMM_WORLD); 00631 int size = buffer->Size(); 00632 MPI_Bcast(&size, 1, MPI_INT, 0, MPI_COMM_WORLD); 00633 unsigned char* sendBuffer; 00634 if(Link::Mpi::MyId() == 0) 00635 sendBuffer = buffer->GetBuffer(); 00636 else 00637 sendBuffer = new unsigned char[size]; 00638 ILOG_DEBUG(Link::Mpi::MyId() << ": about to broadcast, buf = " << (void*)sendBuffer << "size = " << size); 00639 MPI_Bcast(sendBuffer, size, MPI_CHAR, 0, MPI_COMM_WORLD); 00640 if(Link::Mpi::MyId() != 0) 00641 { 00642 buffer->SetBuffer(sendBuffer, size); 00643 } 00644 ILOG_DEBUG("done"); 00645 #endif // MPI_USED 00646 }
Here is the call graph for this function:
|