next up previous contents index
Next: Translating LAPACK-based programs to Up: Call Conversion: LAPACK to Previous: Call Conversion: LAPACK to

Translating BLAS-based programs to the PBLAS


With a concrete understanding of array descriptors (Chapter 4), it is relatively simple to translate the serial version of a BLAS call into its parallel equivalent. Translating BLAS calls to PBLAS calls primarily consists of the following steps:

An example of translating a DGEMM call to a PDGEMM call is given below.
      CALL DGEMM( 'No transpose', 'No transpose', M-J-JB+1, N-J-JB+1,
     $            JB, -ONE, A( J+JB, J ), LDA, A( J, J+JB ), LDA, ONE,
     $            A( J+JB, J+JB ), LDA )
      CALL PDGEMM( 'No transpose', 'No transpose', M-J-JB+JA, N-J-JB+JA,
     $             JB, -ONE, A, J+JB, J, DESCA, A, J, J+JB, DESCA, ONE,
     $             A, J+JB, J+JB, DESCA )

This simple translation process considerably simplifies the implementation phase of linear algebra codes built on top of the BLAS.

The steps necessary to write a program to call a PBLAS routine are analogous to the steps presented in section 2.4.

Susan Blackford
Tue May 13 09:21:01 EDT 1997