|
Boost : |
From: lums_at_[hidden]
Date: 2001-03-26 11:49:05
--- In boost_at_y..., boost_at_s... wrote:
> >
> > Yes and No. It also affects how algorithms are written and at
some
> > extent, their efficiency.
> >
>
> actually one should provide both storage formats.
> Art least I'm confronted with (dense, rather large) matrix
> multiplications of the form A_i * B_i, where A_i always appear on
> the left, and B_i appears on the right.
> So using different storage layouts, I can increase performance
> since no strides appear.
For dense time dense the storage layout of the original matrices is
somewhat irrelevant for performance issues. By performing
appropriate blocking and re-arranging for optimal layout within the
working blocks, one can get optimal performance for any original
layout. ATLAS, PhiPAC, optimized BLAS, and MTL all do this AFAIK.
That is, yes, layout is important, but only in the working blocks.
Any original storage format can be copied to a good orientation in
the working blocks within the mat-mult algorithm.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk