LAPACK の DGETC2 が遅い件について

DGETC2 っていうのは、LAPACK の補助サブルーチンで、完全ピボット選択で LU 分解を行うやつです。
Fortran の 2次元配列は、メモリ上では列優先で A(1,1), A(2,1), ... A(1,2), A(2,2), ... と並んでいるため、2次元配列全体にメモリアクセスする場合、同じ列上にある A(1,I), A(2,I), ... に連続してアクセスした方がキャッシュメモリが効率よく扱え、高速に計算できるということは常識ですが、そ*1れにも関わらず、DGETC2 は行列上の最大要素を探すときに、

         DO 20 IP = I, N
            DO 10 JP = I, N
               IF( ABS( A( IP, JP ) ).GE.XMAX ) THEN
                  XMAX = ABS( A( IP, JP ) )
                  IPV = IP
                  JPV = JP
               END IF
   10       CONTINUE
   20    CONTINUE

のように行方向に配列をたどっているわけです。
なぜ列方向にしないのか、っていうか IDAMAX (1次元配列上の絶対値最大の要素を探して、その位置を返す BLAS Level 1 の関数) を使わないのか。
もしかして誰も完全ピボット選択なんてしないのか。

*1:一行詩人の会々報 第十一号うまい棒30本一気食いでトリップできることは常識ですが、そ」より