ScaLAPACK is a message-passing version of LAPACK and is designed to be efficient across a wide range of architectures. The performance of the routines relies ultimately on the architectural characteristics of the machine. However, the codes are flexible in that they allow the tuning of certain parameters such as block size, and the size of the process grid. This flexibility ensures that the ScaLAPACK routines will be able to achieve good performance.
The ScaLAPACK routines, like their LAPACK equivalents, are designed to perform correctly for a wide range of inputs. Whenever practical, they behave appropriately when overflow and underflow problems are encountered or a routine is used incorrectly. Examples of error handling are given in Section 4.2 and Section 4.3.