Boost logo

Ublas :

Subject: Re: [ublas] Numeric Bindings to LAPACK on x64
From: Andrey Asadchev (asadchev_at_[hidden])
Date: 2012-05-24 12:25:37


On Thu, May 24, 2012 at 11:21 AM, Michael Baumgart
<michi-baumgart_at_[hidden]> wrote:
>>>
>>> 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:
http://svn.boost.org/svn/boost/sandbox/numeric_bindings/
The link is very hard to find through Google.

In case you use ILP64 LAPACK set BIND_FORTRAN_INTEGER_8