<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 11, 2013 at 2:09 PM, Matthew Brett <span dir="ltr"><<a href="mailto:matthew.brett@gmail.com" target="_blank">matthew.brett@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<div><div class="h5"><br>
On Tue, Jun 11, 2013 at 5:17 AM, Pauli Virtanen <<a href="mailto:pav@iki.fi">pav@iki.fi</a>> wrote:<br>
> David Cournapeau <cournape <at> <a href="http://gmail.com" target="_blank">gmail.com</a>> writes:<br>
> [clip]<br>
>> What is the default ABI used on homebrew ? I think we should just<br>
>> follow that, given that Apple cannot figure it out.<br>
><br>
> I think for Scipy homebrew uses the Gfortran ABI:<br>
> <a href="https://trac.macports.org/browser/trunk/dports/python/py-scipy/Portfile" target="_blank">https://trac.macports.org/browser/trunk/dports/python/py-scipy/Portfile</a><br>
><br>
> But that's probably the wrong thing to do, it doesn't work:<br>
> <a href="http://trac.macports.org/ticket/36694" target="_blank">http://trac.macports.org/ticket/36694</a><br>
><br>
> For Octave, they have -ff2c:<br>
> <a href="https://trac.macports.org/browser/trunk/dports/math/octave/Portfile" target="_blank">https://trac.macports.org/browser/trunk/dports/math/octave/Portfile</a><br>
><br>
>     ***<br>
><br>
> A third option (maybe the best one) could be to add an ABI check<br>
> to numpy.distutils BLAS/LAPACK detection --- compile a small test<br>
> program that checks SDOT/CDOTU/DDOT etc., and refuse to use the<br>
> BLAS/LAPACK libraries if they give incorrect results. After that,<br>
> we can also remove the sdot/cdotu wrappers.<br>
><br>
> This approach is used by Octave.<br>
><br>
> This leaves the problem of dealing with Fortran ABI to those in<br>
> charge of the build environment, e.g., macports, Enthought, ...,<br>
> who are also in the best position to pick the correct solution<br>
> per each platform supported.<br>
><br>
> AFAIK custom compiler flags can be injected via FOPT/FFLAGS/LDFLAGS,<br>
> so doing something like<br>
><br>
>     export FOPT="-ff2c"<br>
><br>
> or<br>
><br>
>     export LDFLAGS="-ldotwrp -lblas"<br>
><br>
> works? This makes things a bit more complicated to the builder, an<br>
> issue that can be solved with documentation, and keeping that up to<br>
> date is easier than hardcoding stuff into numpy.distutils.<br>
<br>
</div></div>What will be the performance drop for the default OSX installer<br>
version of numpy, if we drop Accelerate / veclib support?<br></blockquote><div><br></div><div>Answer on scipy-dev: <a href="http://article.gmane.org/gmane.comp.python.scientific.devel/17864">http://article.gmane.org/gmane.comp.python.scientific.devel/17864</a><br>
Summary: it depends. <br></div><div>If anyone knows of better benchmarks, please share.<br><br></div><div>Joern Hees just wrote up how to install with OpenBLAS, if you want to know for your application you can give it a try: <a href="http://joernhees.de/blog/2013/06/08/mac-os-x-10-8-scientific-python-with-homebrew/">http://joernhees.de/blog/2013/06/08/mac-os-x-10-8-scientific-python-with-homebrew/</a> <br>
</div></div><br></div><div class="gmail_extra">Ralf<br><br></div></div>