On 29/05/13 15:00, Nasos Iliopoulos wrote:
We are also seeking ways of making the uBLAS expression templates more transparent to the compiler so that auto-vectorization can kick in - which it does in certain cases and provides a very nice performance boost on par with explicitly vectorized libraries.
As a matter of fact I am surprised by the progress of the compilers auto-vectorization facilities the last few years, that make me -doubt- the need for explicit vectorization any more. The GSOC project will make it clear for us. An added benefit on relying on compiler is that future vector instructions come for free. A disadvantage is of course the non-guarantee that auto-vectorization will work but I find this rarely the case.
Yet according to a variety of benchmarks, performance of uBLAS is very bad when compared to other similar libraries (Eigen, Armadillo, Blitz++, Blaze, or even our own library NT2) even for simple cases and with aggressive optimization settings.