Boost logo

Ublas :

Subject: Re: [ublas] Numeric Bindings to LAPACK on x64
From: Michael Baumgart (michi-baumgart_at_[hidden])
Date: 2012-05-24 14:57:56

>>>> For now, I'm compiling with MSVC 10 and I get loads of warnings like the
>>>> following:
>>>> <pathtoboost>\boost/numeric/bindings/lapack/ilaenv.hpp(34) : warning
>>>> C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
>>>> This is quite clear to me, as all size members of ublas types are size_t
>>>> (=unsigned _int64), while the binding interface bases on int (32bit) types.
>>>> Although my code runs so far, I'm afraid to run into trouble sometime.
>>>> Is there a way to correctly handle the x64 case with uBlas and the
>>>> numeric bindings?
>>> You can't really other than getting ILP64 LAPACK.
>>> it will hurt you only if you specify lens/dims more than 2^31.
>> Ok for the right LAPACK binaries. But still, due to the explicit use of
>> int types (and the implicit cast) in the bindings, the linking with the
>> correct binary (with 64bit size types) might fail.
>> Wouldn't an adapted binding be necessary? Is this available or
>> considered somewhere?
> You are using old bindings
> Try the new ones:
> The link is very hard to find through Google.
> In case you use ILP64 LAPACK set BIND_FORTRAN_INTEGER_8

Thanks for the hint. I was a bit afraid to switch over to the svn version.

Now I know why: Some old methods are gone.
I'm sorry to annoy you with that: I was using the traits matrix_storage
and vector_storage. I can't find them in the current release. Were they
replaced by some other mechanisms? I couldn't find out.

Thanks a lot for your help.