Hi Ben, Thanks for the respond. What you see 0 restrant is because I did 'm.show()' before adding restraint. With the attached code running on my desktop (8 GB memory with ulimit: unlimited): ------ Setting up score state for container ListSingletonContainer 0
total bead: 100619 Setting up score state for container ListSingletonContainer 3 Setting up score state for container ClosePairContainer Setting up score state for container MovedSingletonContainer Model(Model, kernel 1.0)201230 particles
2 restraints 4 score states
Restraint SingletonsRestraint 0 has weight 1 Restraint PairsRestraint 1 has weight 1 Traceback (most recent call last): File "memtest.py", line 102, in <module>
o.optimize(1000) File "/home/htjong/bin/imp-1.0/build/lib/IMP/core/__init__.py", line 665, in optimize def optimize(self, *args): return _IMP_core.ConjugateGradients_optimize(self, *args) MemoryError: std::bad_alloc
------------ When I did 'top' on shell, the mem never went more than 15% before it crashed. Is there any IMP liner that can print out memory consumed during run? I'm not sure what whether it's a bug, but when I reduce the number of particle it's fine.
One bug I found: set_name("blabla") of IMP.display.XYZRsGeometry doesn't print 'blabla'.
Harianto.
On Thu, Apr 8, 2010 at 12:32 PM, Ben Webb <">> wrote:
On 4/6/10 11:43 AM, Harianto Tjong wrote:
> I am playing IMP with a large numbers of particles, e.g. > 10^5 and fail
> to optimize due to memoryError even though I still have enough VMEM and MEM.
It is possible that this isn't memory being exhausted, but rather a bug
in the system somewhere (maybe because you have 0 restraints - what
happens if you add a single distance restraint, for example?). 10^5
particles isn't that huge, and shouldn't exhaust system memory on a
typical modern system. You should check your shell limits though
('limit' or 'ulimit') to make sure the process isn't being restricted to
a smaller amount of memory. Can you open a bug in our bug tracker at https://salilab.org/imp/bugs/ and attach your input files so we can
reproduce the problem here? It should be fixed, of course.
> I suppose I have to increase the memory usage limit during compilation.
> How is the proper way to do it?
No, IMP is limited only by system memory. There shouldn't be any
hard-coded compile-time limits.