[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using OpenBLAS for Octave.app

From: Marius Schamschula
Subject: Re: Using OpenBLAS for Octave.app
Date: Mon, 21 Oct 2019 18:48:15 -0500

I can’t say I have any more insights about the technical benefits of one implementation or another.

However, until Apple started playing with kernel timing several macOS versions ago, all my octave installs used Atlas. Now Atlas is useless under macOS.

If I recall correctly, Accelerate Framework has had some technical issues (i.e. erroneous results) in the past. I don’t know if these have been fixed.

OpenBLAS is a variant under MacPorts, though the default variant (and thus the pre-compiled package) uses the Accelerate Framework.

Marius Schamschula

On Oct 21, 2019, at 2:05 PM, Andrew Janke <address@hidden> wrote:

Hi, Octave maintainers,

Currently, Octave.app (the "native" Mac app distribution of GNU Octave that Sebastian and I run, http://octave-app.org/) uses Apple Accelerate for its BLAS and LAPACK implementations. This is mostly because Octave.app is built on Homebrew, and Homebrew prefers to use Apple system-provided libraries wherever feasible.

We're thinking of switching over to use OpenBLAS instead. (https://github.com/octave-app/octave-app/issues/118) My thinking is this:

Advantages to using OpenBLAS:

1. Academic and scientific audiences may prefer OpenBLAS, since the ethos of reproducible research demands open software throughout the stack.
2. Would make Octave behavior more consistent between platforms, since Linux and Windows Octave users are already using OpenBLAS, and this would make our Mac Octave match their behavior
 a. Would help with testing, since now the Linux/Windows and Mac native app Octave user bases would be using & testing the same underlying library.
 b. Would fix a couple annoying test failures on Mac.

Advantages to using Accelerate:

1. Somewhat simpler build process
2. Consistent with Homebrew, which is a big install base
3. ???

I think the arguments for OpenBLAS here really outweigh the arguments for Accelerate. (And maybe we could even talk core Homebrew into switching over.)

Do any of y'all have opinions on this? Especially from someone who actually knows about BLAS and scientific/research programming?

Is there an official core Octave position on which BLAS implementation(s) are preferred for use with Octave?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]