[Numpy-discussion] NumPy on 64-bit Linux (Opteron)
Sebastian Haase
haase at msg.ucsf.edu
Tue Feb 8 09:36:29 EST 2005
(RE: numarray)
Hi,
On an Opteron (Suse9) I was happy to see that I could allocate the memory for
an Int32-1024x1024x1024 cube. (On a P4 a get 'MemoryError').
I remember that Todd always said that python itself wasn't 64bit-ready yet.
But why is it needed to support >4GB python-lists if one is only interested in
large numarrays (or numeric) ?
Just for sake of completeness here is one traceback I got:
>>> import numarray
>>> a = numarray.array(shape=(1024,1024,1024), type=numarray.Int)
>>> a.type()
Int32
>>> a.shape
(1024, 1024, 1024)
>>> len(a)
1024
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
numarraycore.py", line 896, in __repr__
return array_repr(self)
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
numarraycore.py", line 1542, in array_repr
lst = arrayprint.array2string(
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
arrayprint.py", line 188, in array2string
separator, prefix)
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
arrayprint.py", line 137, in _array2string
data = _leading_trailing(a)
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
arrayprint.py", line 111, in _leading_trailing
l = [_leading_trailing(a[i]) for i in range(
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
arrayprint.py", line 111, in _leading_trailing
l = [_leading_trailing(a[i]) for i in range(
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
arrayprint.py", line 105, in _leading_trailing
b = _gen.concatenate((a[:_summaryEdgeItems],
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
generic.py", line 1061, in concatenate
return _concat(arrs)
File "/home/haase/myCVS/numarray/build/lib.linux-x86_64-2.3/numarray/
generic.py", line 1051, in _concat
dest[ix:ix+_shape0(a)]._copyFrom(a)
numarray.libnumarray.error: copy4bytes: access beyond buffer. offset=11
buffersize=0
Thanks
Sebastian Haase
On Tuesday 08 February 2005 08:44 am, David M. Cooke wrote:
> On Tue, Feb 08, 2005 at 12:44:18PM +0100, konrad.hinsen at laposte.net wrote:
> > Is anyone here using NumPy on Opteron machines running Linux in 64 bit
> > mode? I am running into problems such as:
> >
> > Python 2.4 (#4, Jan 18 2005, 18:06:45)
> > [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-42)] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> >
> > >>> from Numeric import *
> > >>> a = arange(4)
> > >>> a
> >
> > array([0, 1, 2, 3])
> >
> > >>> a.shape = (2, 2)
> >
> > Traceback (most recent call last):
> > File "<stdin>", line 1, in ?
> > ValueError: total size of new array must be unchanged
> >
> > This is with Python 2.4 and Numeric 23.7. Before looking into this
> > myself, I thought I'd ask here, perhaps someone has already found a
> > fix.
>
> Yes; I submitted a patch (#1108739) to the Numeric patch tracker last week.
>
> Basically, PyArray_Reshape takes an array of dimensions. That has to be
> a PyArray_INT (C ints) instead of the PyArray_LONG (C longs) that it has
> in the code, because that array is passed to
> PyArray_FromDimsAndDataAndDescr.
More information about the NumPy-Discussion
mailing list