#4 intermittent memory error problem



I have a test application that I run in WinXP and on several flavors of Solaris. I am having serious trouble getting a port of scipy done for sunos5.10 that doesn't bus error. I'm investigating a temporary replacement using mlabwrap mlab.cdf(), which so far is installing ok on both platforms. I am currently only testing the WinXP test code at this time and I am getting an intermittent memory error.

I believe I'm using numpy 1.0.2.

I have an a sorted array, Xs, and a CDF array. The arrays are 8496 in length, both are float64.
'lam' is a given mean (scalar). I've broken out the code to match the explanation:

d = mlab.cdf('poiss',Xs,lam) # old code used scipy.stats.poisson.cdf(Xs,lam)
delta = CDF-d # assume all difference values fall within datatype range, for now
epsilon = abs(delta)
return max(epsilon)

When I dont get the memory error, the delta.size > 700 meg., although CDF.size and d.size both equal 8496. I suspect something is off with the return array from mlab.cdf() at this point, since similar code that used scipy call worked fine. (When the code runs, it does seem to return the same results as the original scipy code).
I've done a work-around for this by preallocating epsilon and then iterating and assigning by index, which seems to circumvent the problem for now.

Anyone have any thoughts on why this is occurring? Is there a representation issue I need to understand?

Mark Winrock


Log in to post a comment.