help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: octave with enable-64


From: Alexander Barth
Subject: Re: octave with enable-64
Date: Sun, 7 Jun 2009 13:27:16 +0200

On Fri, Jun 5, 2009 at 10:25 PM, David Bateman<address@hidden> wrote:
> Jaroslav Hajek wrote:
>>
>> On Fri, Jun 5, 2009 at 12:04 PM, Alexander
>> Barth<address@hidden> wrote:
>>
>>>
>>> On Wed, Jun 3, 2009 at 4:08 PM, Alexander
>>> Barth<address@hidden> 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....


I'm not actually sure what spqr should return, but from the help page
I came up with this test:

>> octave_config_info('USE_64_BIT_IDX_T')
ans = true
>> A = sprandn(100,100,.1);
>> [R] = spqr (A);
>> d = R'*R - A'*A;
>> max(d(:))
ans = Compressed Column Sparse (rows = 1, cols = 1, nnz = 1)

 (1, 1) ->  8.8818e-15


spqr seems to work!
If you had a different test in mind you can also send it to me.

Cheers,
Alex
[I forgot to include the mailing list in my previous email]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]