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
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.