- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
![smiley [:-)]](/isn/Community/en-US/emoticons/emotion-1.gif)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
gfortran 4.3 (a beta version) has an option on linux which uses MKL or the liketo implement MATMUL, if you set the appropriate options. I don't know of other compilers which do that. The MATMUL implementation which comes with a compiler is likely to be more efficient than MKL, for small matrices. Thus, gfortran has a threshold which can be set for cases where matrix size can be estimated at compile time, so as to implement a degree of automatic decision on whether to use MKL. If an argument of MATMUL is a TRANSPOSE, the compiler can consolidate the operations so as to avoid additional data movement.
I don't believe gfortran on Windows can be made compatible with MKL or other commercial libraries. It would be possible to usethe gfortran MATMUL BLAS calling mechanism with ?GEMM compiledby gfortran.
Addition of matrices and vectorsshould be done more efficiently in line by a good vectorizing compiler.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No, I doubt there are any such plans for ifort. If you can make a case that implementing the gfortran compatible feature I mentioned would be useful, you should file a feature request on premier.intel.com.
Cray compilers (possiblyasrecently as SGI Origin)had capability equivalent to what you describe, but it seems that major applications did not depend on it. Even the Polyhedron benchmarks have matrix multiplication written out, e.g. as a loop of dot products, where it is a major performance factor. As ifortoptimization isstrongly influenced by existing practice, use of MATMUL in critical applications would be needed to motivate such optimizations.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Currently the Intel compilers know nothing about MKL and its functions. Any support for matmult comes from libraries written separately from MKL. One of the reasons for this is that matmult has to work with all data types where MKL supports only 32-bit and 64-bit floating point arithmetic.
Bruce

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page