Page 1 of 1

question about block-cyclic distribution scheme function

PostPosted: Thu Feb 07, 2013 5:36 am
by redo
Dear ScaLapack users,
     some time ago I have implemented a function for re-distributing a
matrix  on the processes grid following the usual two-dimension
block-cyclic distribution scheme. This is an obvious step to use
ScaLapack diagonalization routines that I need.
   I am using the word "re-distribute" because the matrices I am
dealing with, are already
distributed among the processes. They are distributed following a
pattern induced by the parallel algorithm I have implemented to build
them.
    I did implement the function for re-distributing the matrices to
be quite general, and
apparently it turned to be also quite efficient. Indeed the function
takes as an input a
set of blocks each one with its own dimension and position within the
matrix, and it does
not make any assumption about how the matrix is initially distributed.
   However, now that I am involved in a different research project
where I need to use again
such a function, I would like to know in a first instance if a
similar function in ScaLapack or
somewhere else already exists, in order for me to make comparisons.

best regards
Loriano

Re: question about block-cyclic distribution scheme function

PostPosted: Thu Feb 07, 2013 12:20 pm
by Julien Langou
Hello, a routine for redistribute matrices in ScaLAPACK is PxGEMR2D. Cheers, Julien.

Re: question about block-cyclic distribution scheme function

PostPosted: Tue Feb 26, 2013 10:42 am
by redo
Julien Langou wrote:Hello, a routine for redistribute matrices in ScaLAPACK is PxGEMR2D. Cheers, Julien.


Dear Julien,
thanks I will check

Loriano

Re: question about block-cyclic distribution scheme function

PostPosted: Tue Feb 26, 2013 11:06 am
by redo
Julien Langou wrote:Hello, a routine for redistribute matrices in ScaLAPACK is PxGEMR2D. Cheers, Julien.


Dear Julien,
as far as I can understand

viewtopic.php?t=22

the PxGEMR2D routines work only when the matrix fits in memory of a single process.
and this is not necessarily my case. I guess my old code:

https://bitbucket.org/lstorchi/libdstcltmtx/src

a part for a major revision should still provide a better solution to the problem. In any case thanks a lot for your advice.

Loriano