Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Subdividing BLACS grid


I am trying to use Scalapack to calculate the eigenvalues of a large matrix using the pzheevd. If I use all processes to calculate a single matrix everything seems to work fine. But i would like to calculate different matrices in parallel:

Say I have 32 processes then I'd divide it into a 32 = 4 x 8 grid. Where I distribute my matrices across 4 processes and then calculate 8 matrices in parallel.

I tried to do this using MPI_Comm_split, but I realized that Scalapack doesn't use a communicator provided by the user. Instead it uses BLACS grids. How can I distribute my Scalapack matrices such that I have parallelism between matrices as well as within one matrix?

I couldn't find any examples and I couldn't understand how the BLACS grid is divided. Could you tell me some decent resources? Are there any alternative libraries that rely on MPI rather than PVM?

0 Kudos
0 Replies