>
> Hi!
> I would be glad if anyone can help me in determining the most efficient block size for SCALAPACK routines .
>
> Regards
> Srinivasa Patri
The max block size recommended by the User Guide is set to 64.
You can use a Fortran routine like attached to calculate a blocksize
dynamically. You could call it as
! ----- Calculate the blocking factor for the matrix.
CALL blockset( nb, 64, n, nprow, npcol)
You should have already called blacs_gridinit and blacs_gridinfo already
to populate nprow, npcol. 64 is maximum size recommended, n is the size
of the matrix. )
Here is the subroutine:
!-----------------------------------------------------------------------
SUBROUTINE blockset( nb, nbuser, n, nprow, npcol)
! Try to choose an optimal block size
! for the distributed matrix.
!
IMPLICIT NONE
INTEGER nb, n, nprow, npcol, nbuser
nb = MIN ( n/nprow, n/npcol )
IF(nbuser.GT.0) THEN
nb = MIN ( nb, nbuser )
ENDIF
NB = MAX(nb,1)
RETURN
END SUBROUTINE blockset
!-----------------------------------------------------------------------
|