As important as the advance of computer technology is the development of suitable software for the exploitation of computer capacity. In this sense LAPACK (Andersen et al., LAPACK User's Guide, release 1.0, SIAM, Philadelphia, 1992) appears as the most efficient library in the dense linear algebra field, obtaining good results on vector and parallel computers, and in general, on hierarchical memory machines. However, some deficiencies in the general matrix LU decomposition were detected in DGETRF subroutine. On hierarchical memory machines not only the cache and TLB faults have to be minimized, but also the page faults, which cause excessive I/O operations. The blocking strategy used by DGETRF (and LAPACK in general) makes good use of the cache memory, but does not seem to be enough to avoid unnecessary I/O operations. Therefore, DGETRF does not provide satisfactory run times for large dimension matrices. In this paper a new code using a double blocking strategy will be described, which attains better run times than DGETRF.
Read full abstract