Charles,
If your work ends with the matrix, then you could write a binary file on 
dink, and make your loop calculate and hold a bunch of values each time and 
save it to the binary file on disk periodically, until all values are 
saved. Try to make the loop hold as many values as possible, so you don't 
need to save as frequently, to improve performance.

But If you then need to use this matrix for other operations, then you have 
a problem... unless you buy enough memory, or you can somehow do the 
operation in parts.
Marcio


Em quinta-feira, 13 de agosto de 2015 07:26:55 UTC-3, Charles Santana 
escreveu:

> Hi all,
>
> Do you recommend a way to work with bit matrices in Julia. By "big" I mean 
> a 65600 x 65600 symmetric matrix (the upper triangular matrix is equal to 
> the lower triangular one). 
>
> I am studying the distances between sites at different resolution maps. 
> For low resolution we have few sites, and for big resolution we have more 
> sites (S). 
>
> For few sites (small matrices) I was doing something like this:
>
> S = 100;#number of sites
> M = zeros(S,S);
> for i in 1:(S-1)
>    for j in (i+1):S
>       M[i,j] = dist(i,j);#where dist(i,j) is the distance between sites i 
> and j
>    end
> end
>
> However, for big matrices I get the following message:
>
> S=65600;
> M = zeros(S,S);
> ERROR: OutOfMemoryError()
>  in call at essentials.jl:201
>  in zeros at array.jl:233
>
> I am using Julia Version 0.4.0-dev+5920 in Ubuntu 14.04.
>
> Thanks for any tip!
>
> Best,
>
> Charles
> -- 
> Um axé! :)
>
> --
> Charles Novaes de Santana, PhD
> http://www.imedea.uib-csic.es/~charles
>

Reply via email to