Boost logo

Ublas :

Subject: Re: [ublas] Initial submission plan?
From: Jesse Perla (jesseperla_at_[hidden])
Date: 2009-02-12 09:18:13

I am starting to test the LAPACK bindings today (using the Intel MKL on
windows right now if anyone cares about that) and will start to give
feedback. Just to confirm, the only "high level" interface we have right
now is for "solve" as far as I can tell? And the documentation isn't yet
part of the package?:<>
Also: It will be great when the binding's are in boost proper. My request
is that we have a rough tutorial of how to use traits to bind to ublas
generically. Maybe using a BLAS or LAPACK subset as an example? I am going
to have to write some numeric bindings (which I will submit if they are any
good) and would love to have a rough guide of how to go about it. The
generated source code is great, but it is fairly abstract as far as I can
tell, and I am not all that competent if you haven't yet figured it out from
my asinine questions on this list.

Also: perhaps before this is submitted it is worth testing rough designs
for binding to distributed matrices (e.g. how would PBLAS and SCALAPACK
work?). If those are thought through beforehand, it will make it easier for
me to bind to these kinds of things eventually. I still don't quite
understand how bindings takes care of passing in data stored in ublas to
underlying routines, vs. hijacking different storage.

And one more question on ublas itself: I have seen a lot of people ask
this, but I got a lot of flack for the lack of the * overloading for
matrix-matrix and matrix-vector from the matlab programmers. Could these be
added without too much difficulty? Am I missing something with expression
templates, or could we just have the operator*() use the appropriate
overloaded prod (or expression) and have both methods work immediately? And
do you think that w = u*v calling the inner_prod is good semantics?

Thanks again for all this work. I am now able to do a pretty good sales job
on converting the matlab and fortran crowds in my department.