Often, matrix multiplications contain transpose() or conj(), e.g.
  matmul(transpose(A),B)
or
  matmul(A,conj(transpose(B))
  matmul(A,transpose(conj(B))
The *gemm subroutines of BLAS anticipate this via the TRANSA and TRANSB
options:
- 'N' (unchanged)
- 'T' (transpose)
- 'C' (hermitian conjugate / transpose+complex conjugate)

Thus for -fexternal-blas these extra options should be used, if possible.


-- 
           Summary: Optimize -fexternal-blas calls for transpose()/conj()
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tobias dot burnus at physik dot fu-berlin dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29550

Reply via email to