[SciPy-dev] bug: indexing CSR matrix, 64bits
Nathan Bell
wnbell at gmail.com
Fri May 9 13:17:34 EDT 2008
On Fri, May 9, 2008 at 4:46 AM, Robert Cimrman <cimrman3 at ntc.zcu.cz> wrote:
> Hi,
>
> indexing by slices is broken on a 64 bit machine. On a 32 bit one, all
> is ok. Is something missing in the INSTANTIATE_ALL macro in sparsetools.i?
>
Robert, I can't reproduce your problem on my system (Ubuntu 8.04, Athlon 64):
$uname -a
Linux droog 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008
x86_64 GNU/Linux
Since your .indptr and .indices arrays are 32-bits, I doubt that the
problem is with INSTANTIATE_ALL. Currently sparsetools does not
instantiate functions using 64-bit indices because it doubles the
compilation time and it's not likely that anyone will have sparse
matrices with dimensions >= 2**31 anytime soon. OTOH I don't know
what else it could be so please try the following:
1) do a completely fresh install of numpy/scipy (rm -rf build and rm
-rf /site-packages/scipy )
See if the problem still exists.
2) instantiate additional "long long" versions of the sparsetools functions:
First check that you have a recent SWIG:
$ swig -version
SWIG Version 1.3.34
Add the following after line 145 of sparsetools.i
DECLARE_INDEX_TYPE( long long )
http://projects.scipy.org/scipy/scipy/browser/trunk/scipy/sparse/sparsetools/sparsetools.i#L145
Then, for each line that looks like:
174 %template(f_name) f_name<int,signed char>;
175 %template(f_name) f_name<int,unsigned char>;
176 %template(f_name) f_name<int,short>;
.....
187 %template(f_name) f_name<int,npy_clongdouble_wrapper>;
add a long long version also, e.g.
%template(f_name) f_name<long long,signed char>;
http://projects.scipy.org/scipy/scipy/browser/trunk/scipy/sparse/sparsetools/sparsetools.i#L188
Lastly, regenerate the SWIG wrappers as described here:
http://projects.scipy.org/scipy/scipy/browser/trunk/scipy/sparse/sparsetools/README.txt
This will rule out the possible backend problems.
Also, can you tell me what your C compiler thinks sizeof(int) is?
--
Nathan Bell wnbell at gmail.com
http://graphics.cs.uiuc.edu/~wnbell/
More information about the SciPy-Dev
mailing list