octave with enable-64

David Bateman dbateman at dbateman.org
Fri Jun 5 15:25:34 CDT 2009


Jaroslav Hajek wrote:
> On Fri, Jun 5, 2009 at 12:04 PM, Alexander
> Barth<barth.alexander at gmail.com> wrote:
>   
>> On Wed, Jun 3, 2009 at 4:08 PM, Alexander
>> Barth<barth.alexander at gmail.com> wrote:
>>     
>>> Hi all,
>>> I would like to compile octave with --enable-64 to create matrices
>>> larger than 2GB.
>>>
>>> Does somebody has experience in compiling BLAS, LAPACK and SuiteSparse
>>> so that this option can be used?
>>>
>>> So far I tried to compile the reference BLAS and LAPACK with the
>>> gfortran option -fdefault-integer-8 and SuiteSparse with the option
>>> -DLP64 (I got this from UMFPACK's User Guide). However the example
>>> program in UMFPACK (SuiteSparse/UMFPACK/Demo/umfpack_simple) failed at
>>> the call of dgemv (a BLAS function).
>>>
>>> I have the same error with gotoBLAS 1.26 (using BINARY64=1 INTERFACE64=1).
>>>
>>> Any insight would be greatly appreciated!
>>>
>>> Thanks
>>> Alex
>>>
>>> My system and software versions:
>>> gcc/gfortran 4.2.4
>>> octave 3.0.5
>>> metis 4.0.1
>>> SuiteSparse 3.4.0
>>> lapack 3.1.1
>>> Ubuntu 8.04 / Xeon 64-bit / 16 GB RAM
>>>
>>>       
>> It seems that compiling suitesparse with the flags " -DLP64
>> -D'LONGBLAS=long int' -D'LONG=long int' " works. It compiles correctly
>> the demo program in UMFPACK and the building of octave works too.
>>
>> In octave, splu does also works:
>>
>>     
>>>> A = sprandn(2000,2000,.1);
>>>> [L,U] = splu(A);
>>>> d = L*U - A; max(abs(d(:)))
>>>>         
>> ans = Compressed Column Sparse (rows = 1, cols = 1, nnz = 1)
>>
>>  (1, 1) ->  6.8834e-14
>>
>>
>> Cheers,
>> Alex
>>     
>
> This is nice. Since you're likely a pioneer in this regard, maybe
> you'd want to write a short info on the Octave wiki?
>
>
>
>   
I tried to make the sparse code compatible with --enable-64 when I wrote 
it as  suitesparse itself is compatible with  64-bit...  It might be 
interesting to try a QR factorization as that calls CXSPARSE that I 
suspect might be less tested for 64-bit than the other suitesparse code. 
Of course there might be bugs in the octave code itself as well, though 
I think I used octave_idx_type everywhere....

D.

-- 
David Bateman                                dbateman at dbateman.org
35 rue Gambetta                              +33 1 46 04 02 18 (Home)
92100 Boulogne-Billancourt FRANCE            +33 6 72 01 06 33 (Mob)



More information about the Help-octave mailing list