Boost logo

Ublas :

Subject: Re: [ublas] leading dimension for lapack bindings
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2012-03-02 16:33:16


petros wrote:
> .. and also,
> ..boost/numeric/bindings/detail/property_map.hpp(30): error C2039:
> 'property_map' : is not a member of
> 'boost::numeric::bindings::detail::adaptor_access<T>'
> The compiler is right, there is no such type in the adaptor_access..(just
> poured it from the sandbox)

You have to include the bindings for your matrix (probably "ublas/matrix_proxy.hpp" in your case). I suggest

#include <boost/numeric/bindings/ublas.hpp>

then you don't need to bother with any special headers.


> Please allow for a couple more questions.
> Want to use the bindings with mkl. Can I ? I thought I saw people
> on the web claiming they could - no problem, they said.

no problem...


> Assuming this to be the case, can I also do it for the 64-bit builds?

when you use the "ilp64" memory model, you have to define

BIND_FORTRAN_INTEGER_8

(see bindings/detail/config/fortran.hpp)


> If I do not use CLAPACK does this mean that I use the fortran interface?

Yes.


> I have been assured from intel that mkl and clapack have the same
> signatures.

The name "clapack" has a slightly overloaded meaning... I guess they just mean the f2c version of LAPACK, because the official c-bindings had a different name (lapacke, if I remember correctly), and I guess Intel doesn't refer to ATLAS. However, the name clapack for the bindings refers to ATLAS.


> The C API of mkl does not provide with the const qualifiers. Neither
> does
> the CLAPACK.h - at least the
> one I just checked upon in the web.
> Can I hope that the const qualifiers I see in the bindings are a result
> of
> some extra effort put
> by the designers of the library (vary likely, some boost type "magic" ?
> ).

That was Rutger...


> Btw, is there a way to overwrite the include <CLAPACK.h> ? (or just
> create
> my dummy one, caling mkl.h ) ?

Just don't define "BOOST_NUMERIC_BINDINGS_LAPACK_CLAPACK"...


Regards,
Thomas