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