Page 1 of 1

divide and conquer

PostPosted: Wed Aug 06, 2008 2:30 pm
by semihozmen
Hi all,
I have 1743x1743 matrix which is variably banded however max bandwidth is 1271. when I try to use PDGBSV by 1743x600 blocks on 3 computers,
(which is sufficient for a non-cylic block distribution) I am getting -604 error which is stated as below:

Code: Select all
*    Blocksize cannot be too small:
*      If the matrix spans more than one processor, the following
*      restriction on NB, the size of each block on each processor,
*      must hold:
*      NB >= (BWL+BWU)+1
*      The bulk of parallel computation is done on the matrix of size
*      O(NB) on each processor. If this is too small, divide and conquer
*      is a poor choice of algorithm.


If I try to obey this rule I should have 1743x2543 distribution blocks. That does not make any sense??!!

Ofcourse these solvers are intended to solve narrow banded matrices. Is there any wide banded solver available or any suggestion on this subject?

Re: divide and conquer

PostPosted: Wed Aug 06, 2008 4:54 pm
by Julien Langou
What about using PDGESV? That is to say you discard the fact that the matrix is banded and you work with a full matrix (where you simply fill the matrix with zeroes where needed.) I know this sounds silly but with such a large bandwidth you won't loose that much. You'll need 8% more memory and 22% more floating point operations. PDGESV will probably run 22% faster than PDGBSV so you end up winning.
Julien.