Newbie question about MKL's expected storage order

Newbie question about MKL's expected storage order

I'm new to using the MKL, having just joined the 8.0 beta program and am sitting down to play with it. I'm in the process of creating a C++-based linear algebra library and am attracted to the performance and feature set provided by MKL. In doing so, I need to understand the storage requirements expected by the library.

In general what is the default/expected storage order? Is it FORTRAN-style (column major) or C-style (row-major)?

I see that the C-BLAS interface allows you to specify either storage order for BLAS operations. Is there an equivalent interface for the LAPACK routines? (Quite a bit of our work will be done using LAPACK functionality, and so it might make sense for our library to use the same storage order as that expected by LAPACK.)


Message Edited by on 06-26-2005 08:15 AM

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I hadn't noticed the advent of this stealth beta test, so I've tried only the 7.2.1.

BLAS and Lapack are direct replacements for the open source originals, so all the Fortran-style stuff is replicated exactly in MKL. The more important underlying BLAS functions have enough transposing facilities built in that it may not matter which storage you find convenient for your application.

The obvious Lapack counterpart to CBLAS would be Clapack. I assume it works equally well with public and with MKL BLAS. I don't see that it does anything to improve the calling interface, which may account for your not having had it recommended.

Leave a Comment

Please sign in to add a comment. Not a member? Join today