[Numpy-discussion] Specifying compiler command line options for numpy.disutils.core

Matthieu Brucher matthieu.brucher at gmail.com
Fri Jun 15 02:04:02 EDT 2007

> It is possible to mix object code, but not runtime, which is the problem
> AFAIK. VS2003 and VS2005 have different  C runtimes (msvcrt7.1.dll
> against msvcrt8.dll). The problem is (at least for me, who just go
> through the pain for windows users :) ) that VS2003 is not available
> anymore for free...

Exactly. Well, there is an ongoing discussion on Python-dev on this specific
point (VS2005 building).

> > No, in this case, I want to build with icc and special compiler
> > options. I tried by build by hand - and CMake - the libraries, it
> > works like a charm and it is very very fast compared to gcc :(

Which libraries are you talking about ? Also, beware that ICC uses by
> default some flags which are potentially dangerous (I don't know if this
> is true anymore, but ICC used to use the equivalent of --ffast-math of
> gcc by default:
> http://david.monniaux.free.fr/dotclear/index.php/2006/03/17/4-l-art-de-calculer-le-minimum-de-deux-nombres
> ).
> For libraries like atlas, I don't think there will be a huge difference
> between ICC and gcc; if you use the mkl, then you don't care :)

My libraries on manifold learning ;) There is difference in performance
because of the -ipo and -xP flags.
I have to install the MKL, I just compiled Python from the svn trunk

> This would mean building every other modules added - numpy, scipy,
> > matplotlib, wxPython, ... -, doable, but I'd prefer not to do it, but
> > if it is not possible, I would have to live with it...
> I think it is important to separate different issues: object code
> compatibility, runtime compatibility, etc... Those are different issues.
> First, mixing ICC compiled code and gcc code *has* to be possible (I
> have never tried), otherwise, I don't see much use for it under linux.

Exactly. They are binary compatible (C and C++), they use the same headers,
... it has to be possible. Well, it is possible with numpy.distutils, it
only missed to link with stdc++... but no specific compiler options :(

Then you have the problem of runtime services: I really doubt that ICC
> runtime is not compatible with gcc, and more globally with the GNU
> runtime (glibc, etc...); actually, ICC used to use the "standard" linux
> runtime, and I would be surprised if that changed.

As I said, _my_ problem is that I'd like specific compiler options.

To say it simply: on linux at least, what should matter is whether the
> runtime services are compatible (on windows, it looks like they are not:
> official python is compiled with visual studio 2003, and you cannot use
> VS 2005; note that mingw seems to work).

Some people reported that it is possible. The only catch seems to be that
everything allocated with a runtime should be destroyed by the same

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20070615/c2897353/attachment.html>

More information about the NumPy-Discussion mailing list