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

matrix distribution in pdgemm and pdgesvx

oguren
Beginner
422 Views

I want to solve linear equation system like

A*X=B*C;

sizeof A=(MxM) sizeof X=(MxN)

sizeof B=(MxM) sizeof C=(MxN)

I set grid as (pxq) and block size is same in both direction as nb.

I can calculate B*C from pdgemm_ routine.It uses block cyclic distribution.I can distribute the matrices as I want.

A*X=D=B*C can be solved from pdgesv_ routine. but this routine use block distribution.

for example when M=3, N=3, p=3,q=3,nb=3 it work correctly

on the ohter and,

when M=18,N=18,p=3,q=3,nb=3 it fails, you have to give nb=18/3=9

So you can't distribute the matrices as you want. you always have to arrange block size or matrix size to provide M%p=0 && N%q=0. if your matrix is to be prime number or etc. it is unsolvable with scalapack routines. is there any way to solve system, according to pdgemm distribution.

Thank,

Regards

0 Kudos
1 Reply
Alex_Kosenkov
Beginner
422 Views
Hello, oguren,

Could you please narrow down how exactly do you do 2D-block cyclic distribution?

Thank you,
Alexander
0 Kudos
Reply