next up previous contents index
Next: Performance Improvement Up: Performance Evaluation Previous: Identify Performance Bottlenecks

Performance Bottlenecks in the Expert Symmetric Eigenproblem Drivers


Large clusters of eigenvalues in the input matrix may cause poor performance in the expert symmetric eigenproblem drivers, PSSYEVX /PDSYEVX . If the execution time observed for the ScaLAPACK drivers PxSYGVX and PxSYEVX is more than double the estimate in section 5.3.3 and more than the minimum LWORK is provided, we recommend that this part of the code be retimed after relaxing the orthogonalization requirements. This can be achieved either by setting the value of the formal parameter LWORK to the minimum allowed by the driver as specified in the leading comments of the source code, or by calling the driver with the value of the parameter ORTOL set to the machine epsilon multiplied by the norm of the matrix. These last two values may be obtained by calling respectively the ScaLAPACK routines PxLAMCH and PxLANSY. If the execution time obtained for the driver after relaxing the orthogonalization requirements is substantially reduced, it is likely that the spectrum of the matrix or matrix pencil has a large cluster of eigenvalues that the driver attempts to reorthogonalize. Otherwise, it is likely that the performance bottleneck is caused by other factors as mentioned in section 5.3.5. If the matrix or matrix pencil has a large cluster of eigenvalues, we recommend using the corresponding simple driver PxSYEV, instead. If the application can tolerate loss of orthogonality, the drivers PxSYGVX and PxSYEVX may achieve good performance by relaxing the orthogonalization requirements using the method suggested above. Please check the value of the INFO parameter returned by these and all ScaLAPACK drivers.

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