igraph-help
[Top][All Lists]
Advanced

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

Re: [igraph] Memory error


From: Ronquillo, Edgar Nahum
Subject: Re: [igraph] Memory error
Date: Mon, 22 Jun 2015 15:27:59 +0000

That makes a lot of sense. I may have to move to 64 version. The only reason I 
haven't is because I have heard that python 32 bit is more compatible with many 
libraries. I don't know if this is the right place to ask but Is there any way 
you know of to increase the limit of python 32 bit higher,  lets say 4GB? I 
would prefer to stay here since I am using several libraries (for other things) 
and it would be nice to just increase this limit, if possible.

Thanks for the reply. 

-----Original Message-----
From: address@hidden [mailto:address@hidden On Behalf Of Tamas Nepusz
Sent: Monday, June 22, 2015 9:16 AM
To: Help for igraph users
Subject: Re: [igraph] Memory error

> Is there some type of limit on igraph as to how many vertices or edges you 
> can actually add?
There is no built-in limit. However, you could actually be hitting the built-in 
memory limit of a 32-bit Python in a 64-bit environment. You mentioned that the 
memory usage peaks around 1 GB in your case. 32-bit apps have an approximately
2 GB memory limit on Windows. The problem is that you probably reach a point in 
the code where igraph needs more storage space for a numeric vector. The 
default strategy for igraph in such cases is to re-allocate the vector with 
twice its original length. So, suppose that you have a vector which occupies
0.5 GB. igraph tries to double its length, so it will temporarily need to 
allocate 1 GB extra space, copy the old vector there, and then deallocate the 
old vector. It is easy to see that this might cause your app to temporarily hit 
the 2 GB memory limit. (The problem is further complicated by the fact that the 
address space of the Python process might be fragmented, meaning that even 
though it has enough memory available for the new vector, there isn't a single 
_continuous_ chunk of memory where the new vector could be allocated, so in 
that case you could also get a MemoryError).

Since you have a 64-bit machine, I strongly suggest to use a 64-bit Python 
installation and a 64-bit version of igraph with it. You can get one from here:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-igraph

T.

_______________________________________________
igraph-help mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/igraph-help



reply via email to

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