[Numpy-discussion] Dropping support for Accelerate/veclib?
Tue Jun 11 16:29:24 CDT 2013
On Tue, Jun 11, 2013 at 11:17 AM, Pauli Virtanen <email@example.com> wrote:
> David Cournapeau <cournape <at> gmail.com> writes:
> > 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:
> But that's probably the wrong thing to do, it doesn't work:
> For Octave, they have -ff2c:
> 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"
> 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.
Sounds like a good idea. Would still make sense to move Accelerate down in
the list of preferred libs, so that one can install ATLAS, MKL or OpenBLAS
once and be done, instead of always having to remember these envvars.
https://github.com/scipy/scipy/issues/2256#issuecomment-17028321 has a
sample test. Minor issue is that it segfaults with the wrong ABI, instead
of giving an incorrect result.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion