by admin » Tue Jul 28, 2009 3:23 pm
I would be careful calling it a "modest extension". It really depends on what you mean. Let me discuss the options here.
To make PLASMA natively operate in row major would be a lot of work, and is unlikely to happen. Basically, all core_blas F77 kernels would have to be duplicated and also some pieces of LAPACK that PLASMA includes.
To make PLASMA support row major within the "compatibility" interface (the one that mimics LAPACK) is a matter of providing another function for translation from continuous layout to tile layout (since PLASMA translates from column major layout to tile layout anyways.)
Now to support row major layout in the native interface (the one that takes matrices in tile layout) would also have to be done through translation. That is a questionable endeavour. The goal of the native interface is to provide a way to interact with PLASMA "on PLASMA's terms" - in a sense to plug into PLASMA internals. Since internally PLASMA is doing column major, I think, that is what the native interface should provide.
But again, the goal of the "compatibility" interface is convenience and ease of use, so supporting row major seems very much in place here. I am putting it on the agenda for the next PLASMA meeting.
Jakub