Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tesselation fails with "Command terminated" when trying to compute tesselation of large list of points #12

Open
toneyy opened this issue Dec 22, 2015 · 4 comments

Comments

@toneyy
Copy link

toneyy commented Dec 22, 2015

pyvoro.compute_2d_voronoi(points, [xlim,ylim], 1.0, radii=radii)

points is a list of ~90k points

Program dies with "Command terminated". Is this an issue of the underlying voro++ library or an issue of pyvoro?

@joe-jordan
Copy link
Owner

Can you please post the full command line output? It may also be helpful to run echo $? immediately after the failure (before any other commands).

This error string does not come from pyvoro or voro++. I've never tried a dataset this big before, so it may be a memory management issue or something. Knowing which signal the process is going down with (which echo $? will tell us) would be very helpful.

@joe-jordan
Copy link
Owner

Can you please clarify what [xlim, ylim] are, also? Each should be a list of an upper and lower bound.

@toneyy
Copy link
Author

toneyy commented Jan 7, 2016

thanks for your answer and sorry for the late reply, i've been away over the holidays

thats how i set the boundaries:
dimX = 550
dimY = 3050
_xlim = [-dimX/2.0,dimX/2.0]
_ylim = [-dimY/2.0,dimY/2.0]

somehow the command line output has changed from "Command terminated" to "Killed" over the holidays (i did not even restart the machine)

running echo $? immediately after the program exits yields: "137"

which would be 128+n

i think you are right in that its an out of memory issue, and its the OS that kills my process.
i will try the script on a machine with more memory :-)

@joe-jordan
Copy link
Owner

137 is the OOM (Out Of Memory) killer. 90k points is only about 3MB, plus some slack for Python.

What are the dimensions (units) of the points? How far apart from each other are they, roughly? The 1.0 you have hard coded needs to be roughly the same size as the distance between your points (to order of magnitude). Otherwise I suspect Voro++ will allocate a very large number of bins, or something like that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants