Boost logo

Ublas :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2005-06-09 05:24:31

Matthias Troyer <troyer_at_[hidden]> wrote:
>On Jun 8, 2005, at 11:31 PM, Gunter Winkler wrote:
>> Its it possible via the bindings library to use blas. Unfortunatly a
>> design goal of ublas is to be as general as possible. Otherwise blas
>> are very special. So AFAIR we decided not to invest to much time into
>> connecting ublas and blas, but to concentrate on correctness of the
>> algorithms. I think the consens was first to provide an easy to use
>> interface and (long long time later ;-) maximize performance.
>I would then suggest to CLEARLY state this in the beginning of the
>documentation so that people interested in serious calculations do
>not bother using ublas at all but look for alternatives right away.

Well I indeed think correctness and flexibility is the first concern
(because as Peter explained, there are many things you can't do with BLAS
that you can with uBLAS (thanks to the generics)) but closely followed by
performance. Well actually performance is the most important but of course
it's no use to have something performant if the results are not correct;-)

However it will never be possible that a generic C++ implementation can beat
hand-optimised (or script-optimised such at atlas) libraries. It might bit
this depends heavily on the compilers being very very smart.

I see ublas to be a great tool to do LA operations easily with a lot of
flexibility. Once my app is correct I will transform ublas-calls that are on
the critical path and that have a equivalent in BLAS to optimised-blas using
the bindings.