예제 #1
0
파일: DistMap.cpp 프로젝트: birm/Elemental
DistMap::DistMap( Int numSources, mpi::Comm comm )
: numSources_(numSources)
{ 
    if( comm == mpi::COMM_WORLD )
        comm_ = comm;
    else
        mpi::Dup( comm, comm_ );
    InitializeLocalData();
}
예제 #2
0
DistMultiVec<T>::DistMultiVec( Int height, Int width, mpi::Comm comm )
: height_(height), width_(width)
{ 
    if( comm == mpi::COMM_WORLD )
        comm_ = comm;
    else
        mpi::Dup( comm, comm_ );
    InitializeLocalData();
}
예제 #3
0
DistGraph::DistGraph( Int numSources, Int numTargets, mpi::Comm comm )
: numSources_(numSources), numTargets_(numTargets),
  commSize_(mpi::Size(comm)), commRank_(mpi::Rank(comm))
{ 
    if( comm == mpi::COMM_WORLD )
        comm_ = comm;
    else
        mpi::Dup( comm, comm_ );
    InitializeLocalData();
}
예제 #4
0
DistMap::DistMap( mpi::Comm comm )
: numSources_(0),
  commSize_(mpi::Size(comm)), commRank_(mpi::Rank(comm))
{ 
    if( comm == mpi::COMM_WORLD )
        comm_ = comm;
    else
        mpi::Dup( comm, comm_ );
    InitializeLocalData();
}
예제 #5
0
파일: impl.hpp 프로젝트: AmiArnab/Elemental
DistMultiVec<T>::DistMultiVec( mpi::Comm comm )
: height_(0), width_(0),
  commSize_(mpi::Size(comm)), commRank_(mpi::Rank(comm))
{ 
    if( comm == mpi::COMM_WORLD )
        comm_ = comm;
    else
        mpi::Dup( comm, comm_ );
    InitializeLocalData();
}
예제 #6
0
파일: impl.hpp 프로젝트: AmiArnab/Elemental
void DistMultiVec<T>::Resize( Int height, Int width )
{
    if( height_ == height && width == width_ )
        return;

    height_ = height;
    width_ = width;
    InitializeLocalData();

    SwapClear( remoteUpdates_ );
}
예제 #7
0
void DistMultiVec<T>::SetComm( mpi::Comm comm )
{ 
    if( comm == comm_ )
        return;

    if( comm_ != mpi::COMM_WORLD )
        mpi::Free( comm_ );
    if( comm == mpi::COMM_WORLD )
        comm_ = comm;
    else
        mpi::Dup( comm, comm_ );

    InitializeLocalData();
}
예제 #8
0
void DistGraph::Resize( Int numSources, Int numTargets )
{
    if( numSources_ == numSources && numTargets == numTargets_ )
        return;

    frozenSparsity_ = false;

    numSources_ = numSources;
    numTargets_ = numTargets;

    InitializeLocalData();

    SwapClear( remoteSources_ );
    SwapClear( remoteTargets_ );
}
예제 #9
0
void DistMultiVec<T>::Resize( Int height, Int width )
{
    height_ = height;
    width_ = width;
    InitializeLocalData();
}