I took a further look at the SvGROW calls in PDL/Basic/Core routines and the two that I found both use int type for their sizes. That would limit a piddle size to <2**31 or about 2GB.
It looks like 64bit support for PDL may need to be added to the list for the future. I don't know the scope of the changes that would be required to support larger PDL data objects. --Chris On 8/3/2010 8:39 PM, Chris Marshall wrote: > On 8/3/2010 8:30 PM, P Kishor wrote: >> On Tue, Aug 3, 2010 at 7:19 PM, Chris Marshall<[email protected]> wrote: >>> On 8/3/2010 8:01 PM, P Kishor wrote: >>>> >>>> also on 64-bit Snow Leopard (Mac OS X 10.6.4) >>>> >>>> punk...@lucknow ~$ perl -MPDL -e '$PDL::BIGPDL=1; $x = sequence(float, >>>> 23171, 23171); print $x->info("%M")."\n"' >>>> perl(85899) malloc: *** mmap(size=18446744071562166272) failed (error >>>> code=12) >>>> *** error: can't allocate region >>>> *** set a breakpoint in malloc_error_break to debug >>>> Out of memory! >>>> punk...@lucknow ~$ >>> >>> What is perl -V? > > I looked at the PDL/Basic/Core stuff and it looks like > if SvGROW can handle a>2GB string then, in principle, > PDL should be able to handle piddles of that size. > > Could you see if you can create a string more than 2GB > long? It might take a while but it will tell us if the > limit is perl or PDL. Since the PDL routines for growing > a new piddle use 4byte ints for their sizes (rather than > size_t objects), it is pretty clear that there is a bug > in the PDL allocation stuff if perl can handle the longer > strings. > > --Chris _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
