[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using OpenBLAS for Octave.app
From: |
Andrew Janke |
Subject: |
Re: Using OpenBLAS for Octave.app |
Date: |
Mon, 21 Oct 2019 20:11:57 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
On 10/21/19 7:48 PM, Marius Schamschula wrote:
>> On Oct 21, 2019, at 2:05 PM, Andrew Janke <address@hidden
>> <mailto:address@hidden>> wrote:
>>
>> Hi, Octave maintainers,
>>
>> [...snip...]
>>
>
> 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.
I didn't know about this! Is there anywhere I can read about it?
> 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.
There are some nagging test failures that happen under Apple Accelerate
but not under OpenBLAS. They have not been fixed AFAIK, nor are likely
to be.
> OpenBLAS is a variant under MacPorts, though the default variant (and
> thus the pre-compiled package) uses the Accelerate Framework.
I'm afraid Octave.app has no space for variants: our goal is to provide
a super-simple one-step drag-and-drop install for Octave on Mac. So
we're interested in deciding the Right way to do this, instead of
providing users options.
As I understand it, BLAS is actually a run-time "pluggable" thing: code
compiles against the BLAS API and not a particular implementation, and
then you can (in theory) drop in any conformant implementation library
at load & run time. But I don't know of a good mechanism for switching
between BLAS implementations, especially for a "double-click to open"
Mac GUI app like Octave.app, where you can't inherit environment
variables (like LD_PRELOAD/DYLD_INSERT_LIBRARIES) from a shell.
Cheers,
Andrew