On 2/11/20 9:58 PM, Kai Torben Ohlhus wrote:

> If you compile Octave on your own machine from scratch, with only

> installing the dependent packages from your Linux distribution, it is

> likely not to work. You can check your configure logs. If it looks

> like the following, your Octave software stack cannot handle 64-bit indices:

>

> [...]

> checking BLAS library integer size... 4

> checking for cheev_... yes

> checking default size of Fortran INTEGER... 4

> [...]

> 64-bit array dims and indexing: yes

> 64-bit BLAS array dims and indexing: no

There are two separate issues. First, the ability to create arrays with

more than 2^31 elements, and second, the ability to do linear algebra

and some other operations with large arrays.

With Octave 4.4 and later, if you have a 64-bit system and you have not

used the configure option --disable-64, then you should be able to

create arrays with more than 2^31 elements. That is shown by the

64-bit array dims and indexing: yes

result in the configure script summary.

If you don't have LAPACK, BLAS, and other (typically Fortran-based)

libraries compiled to use 64-bit indexing as well, then you won't be

able to do linear algebra or the other operations provided by those

libraries using those large arrays that you can create. That is shown

by the

64-bit BLAS array dims and indexing: no

result in the configure script summary.

You should be able to test this even on a system with only 3-4GB of

memory using something like

n = 2_100_000_000;

x = ones (n, 1, 'int8');

If this isn't working properly and you have Octave configured with

64-bit indexing enabled, then let's try to figure out why.

jwe