Call for testing: full blas/lapack builds of numpy on windows 64 bits

Hi, That's a call for testing for 64 bits windows users out there: please try the following binary with the test suite: http://www.ar.media.kyoto-u.ac.jp/members/david/archives/numpy/numpy-1.3.0.d... python -c "import numpy; numpy.test()" Report any crash. I am particularly interested in vista and higher versions without visual studio installed - it looks like those cause a lot of trouble wrt the C runtime. *THIS IS ONLY FOR TESTING* - it is still far from being stable. Details: This one is built with free compilers (gcc + gfortran 4.4), and BLAS/LAPACK built with gfortran. This should enable openmp usage too (4.4 supports openmp3.0). It also means supporting scipy is not too far away - there are still some issues with C++, but hopefully, those are compiler bugs, and all numpy issues will have been sorted out. cheers, David

On Fri, Feb 27, 2009 at 12:31 PM, David Cournapeau <david@ar.media.kyoto-u.ac.jp> wrote:
Hi,
That's a call for testing for 64 bits windows users out there: please try the following binary with the test suite:
http://www.ar.media.kyoto-u.ac.jp/members/david/archives/numpy/numpy-1.3.0.d...
python -c "import numpy; numpy.test()"
Running on Vista 64-bits. C:\Python26>python -c "import numpy; numpy.test()" Running unit tests for numpy C:\Python26\lib\site-packages\nose\proxy.py:93: SyntaxWarning: assertion is always true, perhaps remove parentheses? assert (test is self.test NumPy version 1.3.0.dev6517 NumPy is installed in C:\Python26\lib\site-packages\numpy Python version 2.6.1 (r26:67517, Dec 4 2008, 16:59:09) [MSC v.1500 64 bit (AMD64)] nose version 0.10.4 Forcing DISTUTILS_USE_SDK=1 <snip lots of dots> Ran 1787 tests in 8.916s OK (KNOWNFAIL=6, SKIP=1) Mission accomplished? -- Nathan Bell wnbell@gmail.com http://graphics.cs.uiuc.edu/~wnbell/

On Sat, Feb 28, 2009 at 4:15 AM, Nathan Bell <wnbell@gmail.com> wrote:
On Fri, Feb 27, 2009 at 12:31 PM, David Cournapeau <david@ar.media.kyoto-u.ac.jp> wrote:
Hi,
That's a call for testing for 64 bits windows users out there: please try the following binary with the test suite:
http://www.ar.media.kyoto-u.ac.jp/members/david/archives/numpy/numpy-1.3.0.d...
python -c "import numpy; numpy.test()"
Running on Vista 64-bits.
Great, thanks. Do you have VS installed ? Did you install python for all users (I would guess so, but I am not yet clear on all the details on that matter). cheers, David

On Fri, Feb 27, 2009 at 2:33 PM, David Cournapeau <cournape@gmail.com> wrote:
Great, thanks. Do you have VS installed ? Did you install python for all users (I would guess so, but I am not yet clear on all the details on that matter).
I do not have VS installed. I just downloaded the official Python 2.6.1 msi installer and blindly clicked 'next' a few times. I then installed nose from the source .tar.gz. Python was installed to C:\Python26\, which I assume means all users. -- Nathan Bell wnbell@gmail.com http://graphics.cs.uiuc.edu/~wnbell/

On Fri, Feb 27, 2009 at 4:08 PM, Nathan Bell <wnbell@gmail.com> wrote:
On Fri, Feb 27, 2009 at 2:33 PM, David Cournapeau <cournape@gmail.com> wrote:
Great, thanks. Do you have VS installed ? Did you install python for all users (I would guess so, but I am not yet clear on all the details on that matter).
I do not have VS installed. I just downloaded the official Python 2.6.1 msi installer and blindly clicked 'next' a few times. I then installed nose from the source .tar.gz.
Python was installed to C:\Python26\, which I assume means all users.
Python-2.6.1 msi will only install for all users. "Install just for me" is not selectable. Your binary would not install against the 32-bit python-2.6.1. Thats good, I forgot to check which python installer it gave me by default. I removed the 32 bit python and installed the 64 bit version. In the past I have always had to run python module installer exe's with administrator privileges, thats what I did this time with your numpy installer. I got the same results as Nathan. However, I have the following packages installed: VC++ 2005 redistributable (32 and 64 bit) VC++ 2008 express edition sp1 VC++ 2008 redistributable x86 MVS 2008 remote debugger light (x74) MS windows sdk for VS 2008 headers and libraries MS windows sdk for VS 2008 SP1 express tools for .Net MS windows sdk for VS 2008 SP1 express tools for win32 Have you considered distributing the windows installer as an msi? I dont think you need to run those installers with admin privs on Vista. Darren

On Sat, Feb 28, 2009 at 6:46 AM, Darren Dale <dsdale24@gmail.com> wrote:
VC++ 2005 redistributable (32 and 64 bit) VC++ 2008 express edition sp1 VC++ 2008 redistributable x86 MVS 2008 remote debugger light (x74) MS windows sdk for VS 2008 headers and libraries MS windows sdk for VS 2008 SP1 express tools for .Net MS windows sdk for VS 2008 SP1 express tools for win32
Have you considered distributing the windows installer as an msi? I dont think you need to run those installers with admin privs on Vista.
The point was mainly to see if mingw could produce usable binaries. Msi or not should not matter, normally (but we never know, this is windows after all) - hopefully we will be able to produce MSI for the release. Producing msi is a bit of a pain because of a stupid check against development version which I don't know how to remove (if distutils detects that the version is a dev version, it refuses to build msi). cheers, David
Darren
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion

Nathan Bell wrote:
On Fri, Feb 27, 2009 at 2:33 PM, David Cournapeau <cournape@gmail.com> wrote:
Great, thanks. Do you have VS installed ? Did you install python for all users (I would guess so, but I am not yet clear on all the details on that matter).
I do not have VS installed. I just downloaded the official Python 2.6.1 msi installer and blindly clicked 'next' a few times. I then installed nose from the source .tar.gz.
Python was installed to C:\Python26\, which I assume means all users.
Hi, After much frustration and disabling my antivirus software (McAfee), I was able to get the 'import numpy' to work and tests to pass as expected. Of course after turning it back on and restarting the IDLE gui a few times, the 'import numpy' crashes. This also happens on the command line. This is clearly related to the antivirus software because enabling or disabling the 'on-access scan' is usually sufficient to failure import failure or success, respectively. Perhaps some thing to do with MinGW on Vista? I am running an Intel Quad system (QX6700) with Vista Business with service pack 1 - I don't think VS is installed. Bruce

On Sat, Feb 28, 2009 at 7:01 AM, Bruce Southey <bsouthey@gmail.com> wrote:
Hi, After much frustration and disabling my antivirus software (McAfee), I was able to get the 'import numpy' to work and tests to pass as expected. Of course after turning it back on and restarting the IDLE gui a few times, the 'import numpy' crashes. This also happens on the command line.
Hm, let's assume this is a problem of the anti virus software, and not from mingw :) One way to test this would be to see if a binary built with VS 2008 would cause the same trouble.
This is clearly related to the antivirus software because enabling or disabling the 'on-access scan' is usually sufficient to failure import failure or success, respectively. Perhaps some thing to do with MinGW on Vista?
Do you have this problem only with numpy ? I noticed those kind of crashes (right at import time) on my server 2008, but I really could not understand what was wrong - it crashes half of the time, and when it does not, it works perfectly (I could run the test suite 10 times without crash). Maybe some file-related failures and runtimes incompatibilities. There are so many combinations on windows which can influence this that I am perfectly fine with saying that Windows + AV is not supported:) David

On Sat, Feb 28, 2009 at 12:57 PM, David Cournapeau <cournape@gmail.com> wrote:
On Sat, Feb 28, 2009 at 7:01 AM, Bruce Southey <bsouthey@gmail.com> wrote:
Hi, After much frustration and disabling my antivirus software (McAfee), I was able to get the 'import numpy' to work and tests to pass as expected. Of course after turning it back on and restarting the IDLE gui a few times, the 'import numpy' crashes. This also happens on the command line.
Hm, let's assume this is a problem of the anti virus software, and not from mingw :) One way to test this would be to see if a binary built with VS 2008 would cause the same trouble.
Or just a Vista bug. A possible option could be using wine64 (http://wiki.winehq.org/Wine64) . But is probably more work and if even if it did work it may not be informative.
This is clearly related to the antivirus software because enabling or disabling the 'on-access scan' is usually sufficient to failure import failure or success, respectively. Perhaps some thing to do with MinGW on Vista?
Do you have this problem only with numpy ? I noticed those kind of crashes (right at import time) on my server 2008, but I really could not understand what was wrong - it crashes half of the time, and when it does not, it works perfectly (I could run the test suite 10 times without crash). Maybe some file-related failures and runtimes incompatibilities. There are so many combinations on windows which can influence this that I am perfectly fine with saying that Windows + AV is not supported:)
David _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion
I virtually avoid windows for work so I can not answer your question. I knew about the issues from another person trying to compile code using WinGW on another almost identical 64 bit Vista system. Even the related thread seemed to solutions that only worked for some people and I do not know if a solution was found in that case. Anyhow, I do agree that having Python 2.6 support is more important than running the anti-virus software. Bruce

On Sun, Mar 1, 2009 at 12:26 PM, Bruce Southey <bsouthey@gmail.com> wrote:
Or just a Vista bug.
A possible option could be using wine64 (http://wiki.winehq.org/Wine64) . But is probably more work and if even if it did work it may not be informative.
Win64 is not yet usable AFAIK - it was only a few weeks / months ago they were capable of running a hello world I believe. Numpy is notably more complicated than a hello world :) One problem is gcc - gcc 4.4 will be the first release to properly support win64 (I don't claim to understand all the details, though).
I virtually avoid windows for work so I can not answer your question. I knew about the issues from another person trying to compile code using WinGW on another almost identical 64 bit Vista system. Even the related thread seemed to solutions that only worked for some people and I do not know if a solution was found in that case.
Which related thread ?
Anyhow, I do agree that having Python 2.6 support is more important than running the anti-virus software.
I am afraid that if it crashes from time to time, people will complain to us, not to the AV software. Hopefully, once gdb runs reliably on that platform, we will be able to diagnose the problem a bit better. David

Hi, Can anyone help me out with a simple way to vectorize this loop? # idx and vals are arrays with indexes and values used to update array data # data = numpy.ndarray(shape=(100,100,100,100), dtype='f4') flattened = data.ravel() for i in range(len(vals)): flattened[idx[i]]+=vals[i] Many thanks! Stephen

On Mon, Mar 2, 2009 at 00:50, Stephen Simmons <mail@stevesimmons.com> wrote:
Hi,
Can anyone help me out with a simple way to vectorize this loop?
# idx and vals are arrays with indexes and values used to update array data # data = numpy.ndarray(shape=(100,100,100,100), dtype='f4') flattened = data.ravel() for i in range(len(vals)): flattened[idx[i]]+=vals[i]
flattened[idx] = vals -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco

On Monday 02 March 2009 01:58:27 Robert Kern wrote:
for i in range(len(vals)): flattened[idx[i]]+=vals[i]
flattened[idx] = vals
Assuming 'idx' and 'vals' are one-dimensional arrays, that should be flattened[ idx[:numpy.size(vals)] ] += vals or flattened[ idx ] += vals if 'vals' and 'idx' have the same size. Regards, Ravi

On Mon, Mar 2, 2009 at 09:34, Ravi <lists_ravi@lavabit.com> wrote:
On Monday 02 March 2009 01:58:27 Robert Kern wrote:
for i in range(len(vals)): flattened[idx[i]]+=vals[i]
flattened[idx] = vals
Assuming 'idx' and 'vals' are one-dimensional arrays, that should be flattened[ idx[:numpy.size(vals)] ] += vals or flattened[ idx ] += vals if 'vals' and 'idx' have the same size.
Oops. I missed the +. Actually, neither of these will work when idx has repeated indices. Instead, use: flattened += np.bincount(idx, vals) -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco

On Sat, Feb 28, 2009 at 6:08 AM, Nathan Bell <wnbell@gmail.com> wrote:
On Fri, Feb 27, 2009 at 2:33 PM, David Cournapeau <cournape@gmail.com> wrote:
Great, thanks. Do you have VS installed ? Did you install python for all users (I would guess so, but I am not yet clear on all the details on that matter).
I do not have VS installed. I just downloaded the official Python 2.6.1 msi installer and blindly clicked 'next' a few times. I then installed nose from the source .tar.gz.
Python was installed to C:\Python26\, which I assume means all users.
Great, thank you very much for those informations. It looks like we will be able to provide a 64 bits numpy binary for 1.3.0. David

On Sun, Mar 01, 2009 at 03:51:31AM +0900, David Cournapeau wrote:
Great, thank you very much for those informations. It looks like we will be able to provide a 64 bits numpy binary for 1.3.0.
Kudos David. Your efforts are invaluable. Gaël
participants (9)
-
Bruce Southey
-
Darren Dale
-
David Cournapeau
-
David Cournapeau
-
Gael Varoquaux
-
Nathan Bell
-
Ravi
-
Robert Kern
-
Stephen Simmons