[Numpy-discussion] Dropping support for Accelerate/veclib?

Pauli Virtanen pav@iki...
Tue Jun 11 04:17:30 CDT 2013


David Cournapeau <cournape <at> gmail.com> writes:
[clip]
> What is the default ABI used on homebrew ? I think we should just
> follow that, given that Apple cannot figure it out.

I think for Scipy homebrew uses the Gfortran ABI:
https://trac.macports.org/browser/trunk/dports/python/py-scipy/Portfile

But that's probably the wrong thing to do, it doesn't work:
http://trac.macports.org/ticket/36694

For Octave, they have -ff2c:
https://trac.macports.org/browser/trunk/dports/math/octave/Portfile

    ***

A third option (maybe the best one) could be to add an ABI check
to numpy.distutils BLAS/LAPACK detection --- compile a small test
program that checks SDOT/CDOTU/DDOT etc., and refuse to use the
BLAS/LAPACK libraries if they give incorrect results. After that,
we can also remove the sdot/cdotu wrappers.

This approach is used by Octave.

This leaves the problem of dealing with Fortran ABI to those in
charge of the build environment, e.g., macports, Enthought, ...,
who are also in the best position to pick the correct solution
per each platform supported.

AFAIK custom compiler flags can be injected via FOPT/FFLAGS/LDFLAGS,
so doing something like

    export FOPT="-ff2c"

or

    export LDFLAGS="-ldotwrp -lblas"

works? This makes things a bit more complicated to the builder, an
issue that can be solved with documentation, and keeping that up to
date is easier than hardcoding stuff into numpy.distutils.

-- 
Pauli Virtanen



More information about the NumPy-Discussion mailing list