[gfortran,patch] New option to use BLAS routines for matrix multiplication

FX Coudert fxcoudert@gmail.com
Sat Oct 7 09:41:00 GMT 2006


Hi Steven,

> It looks like a cool improvement -- but must this be in GCC 4.2?
> Don't take this as discouragement, I really like the idea of using
> BLAS more when it's available (rationale: why invent the matmul
> wheel twice? ;-)

It does not have to be in GCC 4.2. If the general opinion is that 4.3  
would be better, I'd be happy to have this patch approved now and  
commit it after branching. I do think it's better for it to be in  
4.2, perhaps marked as an experimental feature (as is the allocatable  
components stuff, though in a different way). After all, it's not the  
default behaviour.

> Does the driver know how to link in the BLAS library itself, or is
> it up to the user to provide the extra -lblas (or whatever) option?

It's up to the user to provide the needed libraries at link time.  
After all, no two BLAS implementations have the same way to be linked  
in :)

> Where is the documentation of the new options and this new feature?

I'm currently writing it, and will post it ASAP. I should have stated  
that in my patch submission.

> Oh, and how does it handle the MATMUL(TRANSPOSE()) optimization?

It handles it well. In fact, the codepath for BLAS calls is the same  
as for regular MATMUL, except at the very end (when the  
multiplication is actually performed), so that this optimization is  
preserved whether we make a BLAS call or not. I expect it to be the  
same for every future such optimization.

FX



More information about the Fortran mailing list